summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2017-04-24 10:22:25 -0400
committerRob Clark <robdclark@gmail.com>2017-05-04 13:48:06 -0400
commitfd500cc10bda5da40ace2b01c2c60bf29ce12cb0 (patch)
tree3c4dd738574c4e4177c6393e08f37f71a5b5e5b9
parentd230ef842ced2e4e1db24067b3d0df6a1d21c36c (diff)
nir: add a C wrapper for glsl_type::get_interface_instance()
Signed-off-by: Rob Clark <robdclark@gmail.com>
-rw-r--r--src/compiler/nir_types.cpp11
-rw-r--r--src/compiler/nir_types.h5
2 files changed, 16 insertions, 0 deletions
diff --git a/src/compiler/nir_types.cpp b/src/compiler/nir_types.cpp
index 52fd0e95c8..25980b94cd 100644
--- a/src/compiler/nir_types.cpp
+++ b/src/compiler/nir_types.cpp
@@ -339,6 +339,17 @@ glsl_struct_type(const glsl_struct_field *fields,
return glsl_type::get_record_instance(fields, num_fields, name);
}
+const glsl_type *
+glsl_interface_type(const glsl_struct_field *fields,
+ unsigned num_fields,
+ enum glsl_interface_packing packing,
+ bool row_major,
+ const char *block_name)
+{
+ return glsl_type::get_interface_instance(fields, num_fields, packing,
+ row_major, block_name);
+}
+
const struct glsl_type *
glsl_sampler_type(enum glsl_sampler_dim dim, bool is_shadow, bool is_array,
enum glsl_base_type base_type)
diff --git a/src/compiler/nir_types.h b/src/compiler/nir_types.h
index 228d33ae96..0c52bb9705 100644
--- a/src/compiler/nir_types.h
+++ b/src/compiler/nir_types.h
@@ -142,6 +142,11 @@ const struct glsl_type *glsl_array_type(const struct glsl_type *base,
unsigned elements);
const struct glsl_type *glsl_struct_type(const struct glsl_struct_field *fields,
unsigned num_fields, const char *name);
+const struct glsl_type *glsl_interface_type(const struct glsl_struct_field *fields,
+ unsigned num_fields,
+ enum glsl_interface_packing packing,
+ bool row_major,
+ const char *block_name);
const struct glsl_type *glsl_sampler_type(enum glsl_sampler_dim dim,
bool is_shadow, bool is_array,
enum glsl_base_type base_type);