diff options
| author | bunnei <bunneidev@gmail.com> | 2018-09-05 21:20:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-09-05 21:20:40 -0400 |
| commit | 6f09c5b128e3b226ba944fbdb70da750f5598604 (patch) | |
| tree | 86efc4dff0a2ca1886c3e9b4165538075d5ac100 /src/video_core/engines/shader_bytecode.h | |
| parent | 94f193af6507d80b01f3ec1923edacf16e00e393 (diff) | |
| parent | e63b229f4a0704b37e0a6b57dde76deb2f151c81 (diff) | |
Merge pull request #1244 from FernandoS27/ipa
shader_decompiler: Implemented IPA Properly (Stage 1)
Diffstat (limited to 'src/video_core/engines/shader_bytecode.h')
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index a7daea766..d2388673e 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -76,6 +76,7 @@ union Attribute { Position = 7, Attribute_0 = 8, Attribute_31 = 39, + PointCoord = 46, // This attribute contains a tuple of (~, ~, InstanceId, VertexId) when inside a vertex // shader, and a tuple of (TessCoord.x, TessCoord.y, TessCoord.z, ~) when inside a Tess Eval // shader. @@ -246,6 +247,17 @@ enum class TextureType : u64 { enum class IpaInterpMode : u64 { Linear = 0, Perspective = 1, Flat = 2, Sc = 3 }; enum class IpaSampleMode : u64 { Default = 0, Centroid = 1, Offset = 2 }; +struct IpaMode { + IpaInterpMode interpolation_mode; + IpaSampleMode sampling_mode; + inline bool operator==(const IpaMode& a) { + return (a.interpolation_mode == interpolation_mode) && (a.sampling_mode == sampling_mode); + } + inline bool operator!=(const IpaMode& a) { + return !((*this) == a); + } +}; + union Instruction { Instruction& operator=(const Instruction& instr) { value = instr.value; |
