From be38480064a78c4a4391f87e45f7dd78dc88edce Mon Sep 17 00:00:00 2001 From: "Kristian H. Kristensen" Date: Fri, 13 Sep 2019 15:20:05 -0700 Subject: freedreno/a6xx: Track location of gl_Position out as we link it When using xfb and rasterizing, the fragment shader may have fewer inputs than the vertex shader outputs. We can't rely on gl_Position to be placed at fs->total_in, but have to instead remember where we add it in the link map and use that location. Fixes 100+ tesselation dEQPs under dEQP-GLES31.functional.tessellation.primitive_discard.* dEQP-GLES31.functional.tessellation.user_defined_io.* Reviewed-by: Eric Anholt --- src/freedreno/registers/a6xx.xml | 10 +++------- src/freedreno/vulkan/tu_pipeline.c | 8 +++++--- src/gallium/drivers/freedreno/a6xx/fd6_program.c | 8 +++++--- 3 files changed, 13 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/freedreno/registers/a6xx.xml b/src/freedreno/registers/a6xx.xml index 13c3dcd5a01..30f0fe85093 100644 --- a/src/freedreno/registers/a6xx.xml +++ b/src/freedreno/registers/a6xx.xml @@ -2423,7 +2423,7 @@ to upconvert to 32b float internally? hw streamout (rather than stg instructions in shader) - +