[Mesa-dev] [PATCH 03/28] spirv/nir: setting interface type for ubos/ssbos
Alejandro PiƱeiro
apinheiro at igalia.com
Mon Oct 22 12:24:25 UTC 2018
Right now, a type is considered a ubo/ssbo if the mode is
uniform/shader_storage and the interface_type is different to
NULL. See ir_variable::in_in_buffer_block as an example.
---
src/compiler/spirv/vtn_variables.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c
index 5665106ab14..04103455614 100644
--- a/src/compiler/spirv/vtn_variables.c
+++ b/src/compiler/spirv/vtn_variables.c
@@ -1731,7 +1731,16 @@ vtn_create_variable(struct vtn_builder *b, struct vtn_value *val,
}
var->var->data.mode = nir_mode;
var->var->data.location = -1;
- var->var->interface_type = NULL;
+
+ switch (var->mode) {
+ case vtn_variable_mode_ubo:
+ case vtn_variable_mode_ssbo:
+ var->var->interface_type = without_array->type;
+ break;
+ default:
+ var->var->interface_type = NULL;
+ break;
+ }
break;
case vtn_variable_mode_workgroup:
--
2.14.1
More information about the mesa-dev
mailing list