summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/shader_bytecode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/engines/shader_bytecode.h')
-rw-r--r--src/video_core/engines/shader_bytecode.h12
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;