From c6f1d33ae03b98cf96548aa0a2854c9ec14a76eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Tue, 9 Feb 2021 19:20:52 +0100 Subject: [PATCH] aco: Disallow LSHS temp-only I/O when VS output is written indirectly. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: mesa-stable Signed-off-by: Timur Kristóf Reviewed-by: Rhys Perry Part-of: (cherry picked from commit a6e1178f917f73261940dee66cfba3e5211c29f9) --- .pick_status.json | 2 +- src/amd/compiler/aco_instruction_selection_setup.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 8a9aeafe86e..dc84fa06b2a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -58,7 +58,7 @@ "description": "aco: Disallow LSHS temp-only I/O when VS output is written indirectly.", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp index 04aa7be7f3d..bb7dc657ab2 100644 --- a/src/amd/compiler/aco_instruction_selection_setup.cpp +++ b/src/amd/compiler/aco_instruction_selection_setup.cpp @@ -460,8 +460,10 @@ setup_tcs_info(isel_context *ctx, nir_shader *nir, nir_shader *vs) if (ctx->tcs_in_out_eq) { ctx->tcs_temp_only_inputs = ~nir->info.tess.tcs_cross_invocation_inputs_read & - ~nir->info.inputs_read_indirectly & - nir->info.inputs_read; + ~nir->info.inputs_read_indirectly & + ~vs->info.outputs_accessed_indirectly & + nir->info.inputs_read & + vs->info.outputs_written; } ctx->tcs_num_inputs = ctx->program->info->tcs.num_linked_inputs;