From a6291b1b1177f5728e2e1998225f0b8676c6e710 Mon Sep 17 00:00:00 2001 From: Jonathan Marek Date: Wed, 12 Aug 2020 21:59:33 -0400 Subject: freedreno/ir3: rework setup_{input,output} to make struct varyings work Rework setup_{input,output} to be called during emit_intrinsic, in a way which allows struct/array/matrix type varyings to work. This allows turnip to pass dEQP-VK.glsl.linkage.varying.struct.* Signed-off-by: Jonathan Marek Part-of: --- src/gallium/drivers/freedreno/a5xx/fd5_program.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gallium/drivers/freedreno/a5xx/fd5_program.c') diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_program.c b/src/gallium/drivers/freedreno/a5xx/fd5_program.c index 07aecff5a84..9ff6f3c6979 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_program.c +++ b/src/gallium/drivers/freedreno/a5xx/fd5_program.c @@ -611,7 +611,7 @@ fd5_program_emit(struct fd_context *ctx, struct fd_ringbuffer *ring, uint32_t inloc = s[FS].v->inputs[j].inloc; - if ((s[FS].v->inputs[j].interpolate == INTERP_MODE_FLAT) || + if (s[FS].v->inputs[j].flat || (s[FS].v->inputs[j].rasterflat && emit->rasterflat)) { uint32_t loc = inloc; -- cgit v1.2.3