diff options
author | Jason Ekstrand <[email protected]> | 2018-01-03 08:41:42 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-01-08 14:57:44 -0800 |
commit | 8bad7f33c661eb0ec10d54b6297ed537822a4c78 (patch) | |
tree | 402b238c7b8ad94f9ef6fdbfeb8f70c321a14cbc /src/compiler/spirv/vtn_variables.c | |
parent | 53265c8798ee83e812f2e27356c8d9affc5356ca (diff) |
spirv: Store the id of the type in vtn_type
Previously, we were storing a pointer to the vtn_value because we use it
to look up decorations when we create input/output variables. This
works, but it also may be useful to have the id itself so we may as well
store that instead.
Reviewed-by: Lionel Landwerlin <[email protected]>
Diffstat (limited to 'src/compiler/spirv/vtn_variables.c')
-rw-r--r-- | src/compiler/spirv/vtn_variables.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c index d69b0562ed6..2b3b3405e4d 100644 --- a/src/compiler/spirv/vtn_variables.c +++ b/src/compiler/spirv/vtn_variables.c @@ -1793,7 +1793,8 @@ vtn_create_variable(struct vtn_builder *b, struct vtn_value *val, vtn_foreach_decoration(b, val, var_is_patch_cb, &var->patch); if (glsl_type_is_array(var->type->type) && glsl_type_is_struct(without_array->type)) { - vtn_foreach_decoration(b, without_array->val, + vtn_foreach_decoration(b, vtn_value(b, without_array->id, + vtn_value_type_type), var_is_patch_cb, &var->patch); } @@ -1849,7 +1850,9 @@ vtn_create_variable(struct vtn_builder *b, struct vtn_value *val, /* For inputs and outputs, we need to grab locations and builtin * information from the interface type. */ - vtn_foreach_decoration(b, interface_type->val, var_decoration_cb, var); + vtn_foreach_decoration(b, vtn_value(b, interface_type->id, + vtn_value_type_type), + var_decoration_cb, var); break; } |