diff options
author | Timur Kristóf <[email protected]> | 2020-03-06 14:02:03 +0200 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-11 08:34:10 +0000 |
commit | aa5eed673c42cfd20bb49410e10c78b46e405590 (patch) | |
tree | f053509266dc2072a760fe90d2dc40affa0eb062 /src/amd | |
parent | a8d15ab6daf0a07476e9dfabe513c0f1e0f3bf82 (diff) |
aco: Implement memory_barrier_tcs_patch.
TCS outputs are going to be written to LDS, so it
has to use memory_barrier_shared in order to ensure
that it waits for LDS writes.
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Rhys Perry <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3964>
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/compiler/aco_instruction_selection.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 069f3d24f62..0e8624cf51c 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -5414,6 +5414,7 @@ void emit_memory_barrier(isel_context *ctx, nir_intrinsic_instr *instr) { case nir_intrinsic_memory_barrier_image: bld.barrier(aco_opcode::p_memory_barrier_image); break; + case nir_intrinsic_memory_barrier_tcs_patch: case nir_intrinsic_memory_barrier_shared: bld.barrier(aco_opcode::p_memory_barrier_shared); break; @@ -6342,6 +6343,7 @@ void visit_intrinsic(isel_context *ctx, nir_intrinsic_instr *instr) break; } + case nir_intrinsic_memory_barrier_tcs_patch: case nir_intrinsic_group_memory_barrier: case nir_intrinsic_memory_barrier: case nir_intrinsic_memory_barrier_buffer: @@ -6349,8 +6351,6 @@ void visit_intrinsic(isel_context *ctx, nir_intrinsic_instr *instr) case nir_intrinsic_memory_barrier_shared: emit_memory_barrier(ctx, instr); break; - case nir_intrinsic_memory_barrier_tcs_patch: - break; case nir_intrinsic_load_num_work_groups: { Temp dst = get_ssa_temp(ctx, &instr->dest.ssa); bld.copy(Definition(dst), Operand(get_arg(ctx, ctx->args->ac.num_work_groups))); |