mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 11:20:11 +01:00
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 <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3964>
This commit is contained in:
parent
a8d15ab6da
commit
aa5eed673c
1 changed files with 2 additions and 2 deletions
|
|
@ -5414,6 +5414,7 @@ void emit_memory_barrier(isel_context *ctx, nir_intrinsic_instr *instr) {
|
||||||
case nir_intrinsic_memory_barrier_image:
|
case nir_intrinsic_memory_barrier_image:
|
||||||
bld.barrier(aco_opcode::p_memory_barrier_image);
|
bld.barrier(aco_opcode::p_memory_barrier_image);
|
||||||
break;
|
break;
|
||||||
|
case nir_intrinsic_memory_barrier_tcs_patch:
|
||||||
case nir_intrinsic_memory_barrier_shared:
|
case nir_intrinsic_memory_barrier_shared:
|
||||||
bld.barrier(aco_opcode::p_memory_barrier_shared);
|
bld.barrier(aco_opcode::p_memory_barrier_shared);
|
||||||
break;
|
break;
|
||||||
|
|
@ -6342,6 +6343,7 @@ void visit_intrinsic(isel_context *ctx, nir_intrinsic_instr *instr)
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case nir_intrinsic_memory_barrier_tcs_patch:
|
||||||
case nir_intrinsic_group_memory_barrier:
|
case nir_intrinsic_group_memory_barrier:
|
||||||
case nir_intrinsic_memory_barrier:
|
case nir_intrinsic_memory_barrier:
|
||||||
case nir_intrinsic_memory_barrier_buffer:
|
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:
|
case nir_intrinsic_memory_barrier_shared:
|
||||||
emit_memory_barrier(ctx, instr);
|
emit_memory_barrier(ctx, instr);
|
||||||
break;
|
break;
|
||||||
case nir_intrinsic_memory_barrier_tcs_patch:
|
|
||||||
break;
|
|
||||||
case nir_intrinsic_load_num_work_groups: {
|
case nir_intrinsic_load_num_work_groups: {
|
||||||
Temp dst = get_ssa_temp(ctx, &instr->dest.ssa);
|
Temp dst = get_ssa_temp(ctx, &instr->dest.ssa);
|
||||||
bld.copy(Definition(dst), Operand(get_arg(ctx, ctx->args->ac.num_work_groups)));
|
bld.copy(Definition(dst), Operand(get_arg(ctx, ctx->args->ac.num_work_groups)));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue