From dd517ad96d1ca53ba8912c8d6fd78b89e6948f23 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 18 Dec 2017 16:53:44 +1000 Subject: [PATCH] ac/nir: fix lds store for patch outputs. This wasn't calculating the correct value, this along with a nir patch fixes a regression in: dEQP-VK.tessellation.shader_input_output.barrier Fixes: 043d14db30a (ac/nir: don't write tcs outputs to LDS that aren't read back.) Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie --- src/amd/common/ac_nir_to_llvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 69d7bead8c1..bd5748d80d5 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -2803,7 +2803,7 @@ store_tcs_output(struct nir_to_llvm_context *ctx, bool store_lds = true; if (instr->variables[0]->var->data.patch) { - if (!(ctx->tcs_patch_outputs_read & (1U << instr->variables[0]->var->data.location))) + if (!(ctx->tcs_patch_outputs_read & (1U << (instr->variables[0]->var->data.location - VARYING_SLOT_PATCH0)))) store_lds = false; } else { if (!(ctx->tcs_outputs_read & (1ULL << instr->variables[0]->var->data.location))) -- 2.30.2