summaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-12-18 16:53:44 +1000
committerDave Airlie <[email protected]>2017-12-19 06:44:24 +1000
commitdd517ad96d1ca53ba8912c8d6fd78b89e6948f23 (patch)
tree5cc6f6178f671084bed4c73b9ecda88d235cd6eb /src/amd
parent0e8e7ccf9dc80588e569e9ff11c880f3d5d57607 (diff)
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 <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/common/ac_nir_to_llvm.c2
1 files changed, 1 insertions, 1 deletions
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)))