mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 05:00:09 +01:00
spirv: Memory semantics is optional for OpControlBarrier
Fixes: 3ed2123d77 ("spirv: Use scoped barriers for SpvOpControlBarrier")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5365>
This commit is contained in:
parent
b7a3821a5c
commit
e5bb4b1ee8
1 changed files with 11 additions and 11 deletions
|
|
@ -2130,18 +2130,18 @@ vtn_emit_scoped_control_barrier(struct vtn_builder *b, SpvScope exec_scope,
|
|||
SpvScope mem_scope,
|
||||
SpvMemorySemanticsMask semantics)
|
||||
{
|
||||
nir_memory_semantics nir_semantics;
|
||||
nir_variable_mode modes;
|
||||
|
||||
nir_semantics = vtn_mem_semantics_to_nir_mem_semantics(b, semantics);
|
||||
modes = vtn_mem_sematics_to_nir_var_modes(b, semantics);
|
||||
|
||||
/* No barrier to add. */
|
||||
if (nir_semantics == 0 || modes == 0)
|
||||
return;
|
||||
|
||||
nir_memory_semantics nir_semantics =
|
||||
vtn_mem_semantics_to_nir_mem_semantics(b, semantics);
|
||||
nir_variable_mode modes = vtn_mem_sematics_to_nir_var_modes(b, semantics);
|
||||
nir_scope nir_exec_scope = vtn_scope_to_nir_scope(b, exec_scope);
|
||||
nir_scope nir_mem_scope = vtn_scope_to_nir_scope(b, mem_scope);
|
||||
|
||||
/* Memory semantics is optional for OpControlBarrier. */
|
||||
nir_scope nir_mem_scope;
|
||||
if (nir_semantics == 0 || modes == 0)
|
||||
nir_mem_scope = NIR_SCOPE_NONE;
|
||||
else
|
||||
nir_mem_scope = vtn_scope_to_nir_scope(b, mem_scope);
|
||||
|
||||
nir_scoped_barrier(&b->nb, nir_exec_scope, nir_mem_scope, nir_semantics, modes);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue