mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 18:00:10 +01:00
aco: Don't store TCS outputs to LDS when we're sure that none are read.
This allows us not to write an output to LDS, even if it has an indirect offset. No pipeline DB changes. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3964> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3964>
This commit is contained in:
parent
9b36d8c23a
commit
61f2e8d9bb
1 changed files with 4 additions and 0 deletions
|
|
@ -3339,6 +3339,10 @@ bool should_write_tcs_patch_output_to_lds(isel_context *ctx, nir_intrinsic_instr
|
|||
unsigned off = nir_intrinsic_base(instr) * 4u;
|
||||
nir_src *off_src = nir_get_io_offset_src(instr);
|
||||
|
||||
/* When none of the appropriate outputs are read, we are OK to never write to LDS */
|
||||
if (per_vertex ? ctx->shader->info.outputs_read == 0U : ctx->shader->info.patch_outputs_read == 0u)
|
||||
return false;
|
||||
|
||||
/* Indirect offset, we can't be sure if this is read or not, always write to LDS */
|
||||
if (!nir_src_is_const(*off_src))
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue