summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-01-21 16:22:12 +1100
committerTimothy Arceri <[email protected]>2016-03-31 12:50:13 +1100
commit2dbcecb7a9f483e70875d60d9f18811088122861 (patch)
tree856a30487f8f9b2dac95ebad5c6d9bb5e451d24c
parent5c2516fc3373f2e0ea234ef68791c8c0e4268e41 (diff)
glsl: add IR fields for transform feedback layout qualifiers
Adds xfb_buffer/stride fields and adds comment to offset field which is reused for xfb_offset. Reviewed-by: Dave Airlie <[email protected]>
-rw-r--r--src/compiler/glsl/ir.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/compiler/glsl/ir.h b/src/compiler/glsl/ir.h
index 56ed13e7153..b1a1d5656d1 100644
--- a/src/compiler/glsl/ir.h
+++ b/src/compiler/glsl/ir.h
@@ -727,6 +727,21 @@ public:
unsigned is_xfb_only:1;
/**
+ * Was a transfor feedback buffer set in the shader?
+ */
+ unsigned explicit_xfb_buffer:1;
+
+ /**
+ * Was a transfor feedback offset set in the shader?
+ */
+ unsigned explicit_xfb_offset:1;
+
+ /**
+ * Was a transfor feedback stride set in the shader?
+ */
+ unsigned explicit_xfb_stride:1;
+
+ /**
* If non-zero, then this variable may be packed along with other variables
* into a single varying slot, so this offset should be applied when
* accessing components. For example, an offset of 1 means that the x
@@ -861,7 +876,7 @@ public:
unsigned stream;
/**
- * Atomic or block member offset.
+ * Atomic, transform feedback or block member offset.
*/
unsigned offset;
@@ -873,6 +888,16 @@ public:
unsigned max_array_access;
/**
+ * Transform feedback buffer.
+ */
+ unsigned xfb_buffer;
+
+ /**
+ * Transform feedback stride.
+ */
+ unsigned xfb_stride;
+
+ /**
* Allow (only) ir_variable direct access private members.
*/
friend class ir_variable;