diff options
| author | 2018-07-12 20:00:37 -0400 | |
|---|---|---|
| committer | 2018-07-12 20:00:37 -0400 | |
| commit | 4757ffdccea17b2907b254f1af1a99e145e38bd6 (patch) | |
| tree | 3cbdb9a850506091a4df0717c547ea70689cc7fb /src/video_core/engines | |
| parent | Merge pull request #652 from Subv/fadd32i (diff) | |
| download | yuzu-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.h | 9 |
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 | ||
| 204 | enum class FlowCondition : u64 { | ||
| 205 | Always = 0xF, | ||
| 206 | Fcsm_Tr = 0x1C, // TODO(bunnei): What is this used for? | ||
| 207 | }; | ||
| 208 | |||
| 204 | union Instruction { | 209 | union 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; |