summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-08-12 01:10:02 +0200
committerGitHub <noreply@github.com>2018-08-12 01:10:02 +0200
commit670a2c1f80b906f384d9c61a27436c57c685abcb (patch)
tree17a19afa9dba91fdfb097d1ee0b4a977e2b56de4 /src/video_core/engines
parentMerge pull request #1016 from lioncash/video (diff)
parentGPU/Shader: Don't predicate instructions that don't have a predicate field (SSY). (diff)
downloadyuzu-670a2c1f80b906f384d9c61a27436c57c685abcb.tar
yuzu-670a2c1f80b906f384d9c61a27436c57c685abcb.tar.gz
yuzu-670a2c1f80b906f384d9c61a27436c57c685abcb.tar.bz2
yuzu-670a2c1f80b906f384d9c61a27436c57c685abcb.tar.lz
yuzu-670a2c1f80b906f384d9c61a27436c57c685abcb.tar.xz
yuzu-670a2c1f80b906f384d9c61a27436c57c685abcb.tar.zst
yuzu-670a2c1f80b906f384d9c61a27436c57c685abcb.zip
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 3e409c2e1..6cb7bea1c 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -597,6 +597,13 @@ public:
Unknown,
};
+ /// Returns whether an opcode has an execution predicate field or not (ie, whether it can be
+ /// conditionally executed).
+ static bool IsPredicatedInstruction(Id opcode) {
+ // TODO(Subv): Add the rest of unpredicated instructions.
+ return opcode != Id::SSY;
+ }
+
class Matcher {
public:
Matcher(const char* const name, u16 mask, u16 expected, OpCode::Id id, OpCode::Type type)