Module: Mesa Branch: master Commit: 697e2e1f268ef464cfbde01719757e865b86ecbf URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=697e2e1f268ef464cfbde01719757e865b86ecbf
Author: Eric Anholt <[email protected]> Date: Mon Apr 15 16:36:17 2019 -0700 v3d: Always set up the qregs for CSD payload. We were failing to set up payload[1] for use by LocalInvocationIndex/ID and shared variable accesses if gl_WorkGroupID/gl_GlobalInvocationID wasn't used (possibly because you only have one workgroup). You're always going to use payload[1], and payload[0] is common enough and we have DCE in the backend to clean it up if it happens to not be used. --- src/broadcom/compiler/nir_to_vir.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index dd4d055d68a..9a4705a3de6 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -2273,16 +2273,8 @@ nir_to_vir(struct v3d_compile *c) V3D_QPU_WADDR_SYNC)); } - if (c->s->info.system_values_read & - ((1ull << SYSTEM_VALUE_LOCAL_INVOCATION_INDEX) | - (1ull << SYSTEM_VALUE_WORK_GROUP_ID))) { - c->cs_payload[0] = vir_MOV(c, vir_reg(QFILE_REG, 0)); - } - if ((c->s->info.system_values_read & - ((1ull << SYSTEM_VALUE_WORK_GROUP_ID))) || - c->s->info.cs.shared_size) { - c->cs_payload[1] = vir_MOV(c, vir_reg(QFILE_REG, 2)); - } + c->cs_payload[0] = vir_MOV(c, vir_reg(QFILE_REG, 0)); + c->cs_payload[1] = vir_MOV(c, vir_reg(QFILE_REG, 2)); /* Set up the division between gl_LocalInvocationIndex and * wg_in_mem in the payload reg. _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
