mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
llvmpipe: emit fences for barrier.
I tried emitting less here but I'm just gonna hit it with the big seq_cst hammer. Fixes: dEQP-VK.memory_model.message_passing.* Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23453>
This commit is contained in:
parent
9fb0bbd7d4
commit
91e919f1bf
2 changed files with 13 additions and 11 deletions
|
|
@ -1841,9 +1841,19 @@ visit_shared_atomic(struct lp_build_nir_context *bld_base,
|
|||
|
||||
|
||||
static void
|
||||
visit_barrier(struct lp_build_nir_context *bld_base)
|
||||
visit_barrier(struct lp_build_nir_context *bld_base,
|
||||
nir_intrinsic_instr *instr)
|
||||
{
|
||||
bld_base->barrier(bld_base);
|
||||
LLVMBuilderRef builder = bld_base->base.gallivm->builder;
|
||||
nir_scope exec_scope = nir_intrinsic_execution_scope(instr);
|
||||
unsigned nir_semantics = nir_intrinsic_memory_semantics(instr);
|
||||
|
||||
if (nir_semantics) {
|
||||
LLVMAtomicOrdering ordering = LLVMAtomicOrderingSequentiallyConsistent;
|
||||
LLVMBuildFence(builder, ordering, false, "");
|
||||
}
|
||||
if (exec_scope != NIR_SCOPE_NONE)
|
||||
bld_base->barrier(bld_base);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -2142,8 +2152,7 @@ visit_intrinsic(struct lp_build_nir_context *bld_base,
|
|||
visit_shared_atomic(bld_base, instr, result);
|
||||
break;
|
||||
case nir_intrinsic_scoped_barrier:
|
||||
if (nir_intrinsic_execution_scope(instr) != NIR_SCOPE_NONE)
|
||||
visit_barrier(bld_base);
|
||||
visit_barrier(bld_base, instr);
|
||||
break;
|
||||
case nir_intrinsic_load_kernel_input:
|
||||
visit_load_kernel_input(bld_base, instr, result);
|
||||
|
|
|
|||
|
|
@ -7,10 +7,3 @@ dEQP-VK.rasterization.provoking_vertex.transform_feedback.first.line_strip_with_
|
|||
dEQP-VK.rasterization.provoking_vertex.transform_feedback.per_pipeline.triangle_strip_with_adjacency
|
||||
dEQP-VK.rasterization.provoking_vertex.transform_feedback.last.triangle_list_with_adjacency
|
||||
|
||||
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/8441
|
||||
dEQP-VK.memory_model.transitive.coherent.fence_fence.payload_local.image.guard_local.physbuffer.nontransvis
|
||||
nir-stress=dEQP-VK.memory_model.transitive.coherent.fence_atomic.payload_local.image.guard_local.physbuffer.nontransvis
|
||||
|
||||
|
||||
dEQP-VK.memory_model.transitive.coherent.fence_atomic.payload_local.physbuffer.guard_local.image.nontransvis
|
||||
dEQP-VK.memory_model.message_passing.ext.u64.noncoherent.atomic_atomic.atomicwrite.device.payload_local.physbuffer.guard_local.image.comp
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue