summaryrefslogtreecommitdiff
path: root/src/compiler/glsl_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/glsl_types.h')
-rw-r--r--src/compiler/glsl_types.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler/glsl_types.h b/src/compiler/glsl_types.h
index b1e2f7a0181..e5b9f3ba03d 100644
--- a/src/compiler/glsl_types.h
+++ b/src/compiler/glsl_types.h
@@ -137,6 +137,7 @@ struct glsl_type {
* and \c GLSL_TYPE_UINT are valid.
*/
unsigned interface_packing:2;
+ unsigned interface_row_major:1;
/* Callers of this ralloc-based new need not call delete. It's
* easier to just ralloc_free 'mem_ctx' (or any of its ancestors). */
@@ -282,6 +283,7 @@ struct glsl_type {
static const glsl_type *get_interface_instance(const glsl_struct_field *fields,
unsigned num_fields,
enum glsl_interface_packing packing,
+ bool row_major,
const char *block_name);
/**
@@ -770,6 +772,14 @@ struct glsl_type {
return (enum glsl_interface_packing)interface_packing;
}
+ /**
+ * Check if the type interface is row major
+ */
+ bool get_interface_row_major() const
+ {
+ return (bool) interface_row_major;
+ }
+
private:
static mtx_t mutex;
@@ -799,7 +809,8 @@ private:
/** Constructor for interface types */
glsl_type(const glsl_struct_field *fields, unsigned num_fields,
- enum glsl_interface_packing packing, const char *name);
+ enum glsl_interface_packing packing,
+ bool row_major, const char *name);
/** Constructor for interface types */
glsl_type(const glsl_type *return_type,