diff options
author | Samuel Pitoiset <[email protected]> | 2018-10-10 10:42:19 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2018-10-12 08:42:08 +0200 |
commit | 4b74f05f6b635a8359d1e4a59c8d0cd69d1d9e30 (patch) | |
tree | b83fac90d9630d363e4245b80b598f564576d45d /src/compiler/spirv/vtn_private.h | |
parent | 26a10e3844f1e055d45e56e55ee0960cf0f82244 (diff) |
spirv/nir: handle memory access qualifiers for SSBO loads/stores
v2: - change how the access qualifiers are accumulated
v3: - duplicate members in struct_member_decoration_cb()
- handle access qualifiers on variables
- remove access qualifiers handling in _vtn_variable_load_store()
- fix setting access qualifiers on type->array_element
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]
Diffstat (limited to 'src/compiler/spirv/vtn_private.h')
-rw-r--r-- | src/compiler/spirv/vtn_private.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/compiler/spirv/vtn_private.h b/src/compiler/spirv/vtn_private.h index a31202d1295..da7a04ce59f 100644 --- a/src/compiler/spirv/vtn_private.h +++ b/src/compiler/spirv/vtn_private.h @@ -296,6 +296,9 @@ struct vtn_type { /* for arrays, matrices and pointers, the array stride */ unsigned stride; + /* Access qualifiers */ + enum gl_access_qualifier access; + union { /* Members for scalar, vector, and array-like types */ struct { @@ -457,6 +460,9 @@ struct vtn_pointer { /** A (block_index, offset) pair representing a UBO or SSBO position. */ struct nir_ssa_def *block_index; struct nir_ssa_def *offset; + + /* Access qualifiers */ + enum gl_access_qualifier access; }; struct vtn_variable { @@ -488,6 +494,9 @@ struct vtn_variable { * hack at some point in the future. */ struct vtn_pointer *copy_prop_sampler; + + /* Access qualifiers. */ + enum gl_access_qualifier access; }; struct vtn_image_pointer { |