nir/spirv: don't use bare types, remove assert in split vars for testing
For OpenCL we never want to strip the info from the types, and it makes type comparisons easier in later stages. We might later need a nir pass to strip this for GLSL, but so far the only regression is the assert and Jason said removing that is fine. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
e7c8402163
commit
3b3653c4cf
|
@ -341,7 +341,6 @@ init_var_list_array_infos(struct exec_list *vars,
|
|||
|
||||
const struct glsl_type *type = var->type;
|
||||
for (int i = 0; i < num_levels; i++) {
|
||||
assert(glsl_get_explicit_stride(type) == 0);
|
||||
info->levels[i].array_len = glsl_get_length(type);
|
||||
type = glsl_get_array_element(type);
|
||||
|
||||
|
|
|
@ -2054,7 +2054,7 @@ vtn_create_variable(struct vtn_builder *b, struct vtn_value *val,
|
|||
/* Private variables don't have any explicit layout but some layouts
|
||||
* may have leaked through due to type deduplication in the SPIR-V.
|
||||
*/
|
||||
var->var->type = glsl_get_bare_type(var->type->type);
|
||||
var->var->type = var->type->type;
|
||||
}
|
||||
var->var->data.mode = nir_mode;
|
||||
var->var->data.location = -1;
|
||||
|
@ -2072,7 +2072,7 @@ vtn_create_variable(struct vtn_builder *b, struct vtn_value *val,
|
|||
* layouts may have leaked through due to type deduplication in the
|
||||
* SPIR-V.
|
||||
*/
|
||||
var->var->type = glsl_get_bare_type(var->type->type);
|
||||
var->var->type = var->type->type;
|
||||
var->var->data.mode = nir_var_mem_shared;
|
||||
}
|
||||
break;
|
||||
|
@ -2130,7 +2130,7 @@ vtn_create_variable(struct vtn_builder *b, struct vtn_value *val,
|
|||
* the SPIR-V. We do, however, keep the layouts in the variable's
|
||||
* interface_type because we need offsets for XFB arrays of blocks.
|
||||
*/
|
||||
var->var->type = glsl_get_bare_type(var->type->type);
|
||||
var->var->type = var->type->type;
|
||||
var->var->data.mode = nir_mode;
|
||||
var->var->data.patch = var->patch;
|
||||
|
||||
|
|
Loading…
Reference in New Issue