spirv: Expose some memory related functions in vtn_private.h
authorCaio Oliveira <caio.oliveira@intel.com>
Sat, 17 Jun 2023 00:22:04 +0000 (17:22 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 28 Sep 2023 07:35:02 +0000 (07:35 +0000)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23825>

src/compiler/spirv/vtn_private.h
src/compiler/spirv/vtn_variables.c

index 830c154..e295e12 100644 (file)
@@ -1032,5 +1032,12 @@ vtn_parse_switch(struct vtn_builder *b,
                  const uint32_t *branch,
                  struct list_head *case_list);
 
+bool vtn_get_mem_operands(struct vtn_builder *b, const uint32_t *w, unsigned count,
+                          unsigned *idx, SpvMemoryAccessMask *access, unsigned *alignment,
+                          SpvScope *dest_scope, SpvScope *src_scope);
+void vtn_emit_make_visible_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
+                                   SpvScope scope, enum vtn_variable_mode mode);
+void vtn_emit_make_available_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
+                                     SpvScope scope, enum vtn_variable_mode mode);
 
 #endif /* _VTN_PRIVATE_H_ */
index 8fb5956..9b627c0 100644 (file)
@@ -2368,7 +2368,7 @@ nir_sloppy_bitcast(nir_builder *b, nir_def *val,
    return nir_shrink_zero_pad_vec(b, val, num_components);
 }
 
-static bool
+bool
 vtn_get_mem_operands(struct vtn_builder *b, const uint32_t *w, unsigned count,
                      unsigned *idx, SpvMemoryAccessMask *access, unsigned *alignment,
                      SpvScope *dest_scope, SpvScope *src_scope)
@@ -2435,7 +2435,7 @@ vtn_mode_to_memory_semantics(enum vtn_variable_mode mode)
    }
 }
 
-static void
+void
 vtn_emit_make_visible_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
                               SpvScope scope, enum vtn_variable_mode mode)
 {
@@ -2447,7 +2447,7 @@ vtn_emit_make_visible_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
                                      vtn_mode_to_memory_semantics(mode));
 }
 
-static void
+void
 vtn_emit_make_available_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
                                 SpvScope scope, enum vtn_variable_mode mode)
 {