[Mesa-dev] [RFCv2 13/13] HACK: freedreno/a4xx: workaround glsl_to_nir hang..

Rob Clark robdclark at gmail.com
Sun Nov 8 12:12:34 PST 2015


From: Rob Clark <robclark at freedesktop.org>

was getting a hang w/ smaller compmask which happens now with
glsl_to_nir since not everything is a vec4 anymore..
---
 src/gallium/drivers/freedreno/a4xx/fd4_program.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_program.c b/src/gallium/drivers/freedreno/a4xx/fd4_program.c
index e3d5dab..67b8fb2 100644
--- a/src/gallium/drivers/freedreno/a4xx/fd4_program.c
+++ b/src/gallium/drivers/freedreno/a4xx/fd4_program.c
@@ -344,14 +344,14 @@ fd4_program_emit(struct fd_ringbuffer *ring, struct fd4_emit *emit,
 		if (j < s[FS].v->inputs_count) {
 			k = ir3_find_output(s[VS].v, s[FS].v->inputs[j].slot);
 			reg |= A4XX_SP_VS_OUT_REG_A_REGID(s[VS].v->outputs[k].regid);
-			reg |= A4XX_SP_VS_OUT_REG_A_COMPMASK(s[FS].v->inputs[j].compmask);
+			reg |= A4XX_SP_VS_OUT_REG_A_COMPMASK(0xf); //s[FS].v->inputs[j].compmask);
 		}
 
 		j = ir3_next_varying(s[FS].v, j);
 		if (j < s[FS].v->inputs_count) {
 			k = ir3_find_output(s[VS].v, s[FS].v->inputs[j].slot);
 			reg |= A4XX_SP_VS_OUT_REG_B_REGID(s[VS].v->outputs[k].regid);
-			reg |= A4XX_SP_VS_OUT_REG_B_COMPMASK(s[FS].v->inputs[j].compmask);
+			reg |= A4XX_SP_VS_OUT_REG_B_COMPMASK(0xf); //s[FS].v->inputs[j].compmask);
 		}
 
 		OUT_RING(ring, reg);
-- 
2.5.0



More information about the mesa-dev mailing list