summaryrefslogtreecommitdiffstats
path: root/src/compiler/spirv/vtn_private.h
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2018-10-10 10:42:19 +0200
committerSamuel Pitoiset <[email protected]>2018-10-12 08:42:08 +0200
commit4b74f05f6b635a8359d1e4a59c8d0cd69d1d9e30 (patch)
treeb83fac90d9630d363e4245b80b598f564576d45d /src/compiler/spirv/vtn_private.h
parent26a10e3844f1e055d45e56e55ee0960cf0f82244 (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.h9
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 {