summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar bunnei2018-07-12 20:00:37 -0400
committerGravatar bunnei2018-07-12 20:00:37 -0400
commit4757ffdccea17b2907b254f1af1a99e145e38bd6 (patch)
tree3cbdb9a850506091a4df0717c547ea70689cc7fb /src/video_core/engines
parentMerge pull request #652 from Subv/fadd32i (diff)
downloadyuzu-4757ffdccea17b2907b254f1af1a99e145e38bd6.tar.gz
yuzu-4757ffdccea17b2907b254f1af1a99e145e38bd6.tar.xz
yuzu-4757ffdccea17b2907b254f1af1a99e145e38bd6.zip
gl_shader_decompiler: Use FlowCondition field in EXIT instruction.
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index ab978c2e2..2ec1de285 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -201,6 +201,11 @@ enum class IMinMaxExchange : u64 {
201 XHi = 3, 201 XHi = 3,
202}; 202};
203 203
204enum class FlowCondition : u64 {
205 Always = 0xF,
206 Fcsm_Tr = 0x1C, // TODO(bunnei): What is this used for?
207};
208
204union Instruction { 209union Instruction {
205 Instruction& operator=(const Instruction& instr) { 210 Instruction& operator=(const Instruction& instr) {
206 value = instr.value; 211 value = instr.value;
@@ -316,6 +321,10 @@ union Instruction {
316 } bfe; 321 } bfe;
317 322
318 union { 323 union {
324 BitField<0, 5, FlowCondition> cond;
325 } flow;
326
327 union {
319 BitField<48, 1, u64> negate_b; 328 BitField<48, 1, u64> negate_b;
320 BitField<49, 1, u64> negate_c; 329 BitField<49, 1, u64> negate_c;
321 } ffma; 330 } ffma;