diff options
| author | 2018-08-29 00:37:29 -0400 | |
|---|---|---|
| committer | 2018-08-29 00:37:29 -0400 | |
| commit | b1ccd8843467e43838e19c50dcfcbc2ff0b3bc0b (patch) | |
| tree | 12fe797d8597eab090085a46d34eb51acb9f1bc1 /src/video_core/engines | |
| parent | Merge pull request #1193 from lioncash/priv (diff) | |
| download | yuzu-b1ccd8843467e43838e19c50dcfcbc2ff0b3bc0b.tar.gz yuzu-b1ccd8843467e43838e19c50dcfcbc2ff0b3bc0b.tar.xz yuzu-b1ccd8843467e43838e19c50dcfcbc2ff0b3bc0b.zip | |
gl_shader_decompiler: Improve IPA for Pass mode with Position attribute.
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 625ecdfcd..38ad1ae23 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h | |||
| @@ -230,6 +230,8 @@ enum class TextureType : u64 { | |||
| 230 | TextureCube = 3, | 230 | TextureCube = 3, |
| 231 | }; | 231 | }; |
| 232 | 232 | ||
| 233 | enum class IpaMode : u64 { Pass = 0, None = 1, Constant = 2, Sc = 3 }; | ||
| 234 | |||
| 233 | union Instruction { | 235 | union Instruction { |
| 234 | Instruction& operator=(const Instruction& instr) { | 236 | Instruction& operator=(const Instruction& instr) { |
| 235 | value = instr.value; | 237 | value = instr.value; |
| @@ -313,6 +315,10 @@ union Instruction { | |||
| 313 | } alu; | 315 | } alu; |
| 314 | 316 | ||
| 315 | union { | 317 | union { |
| 318 | BitField<54, 3, IpaMode> mode; | ||
| 319 | } ipa; | ||
| 320 | |||
| 321 | union { | ||
| 316 | BitField<48, 1, u64> negate_b; | 322 | BitField<48, 1, u64> negate_b; |
| 317 | } fmul; | 323 | } fmul; |
| 318 | 324 | ||