From: Rob Clark Date: Wed, 14 May 2014 15:39:44 +0000 (-0400) Subject: freedreno/a3xx: account for special inputs/outputs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c37889b5ac77f55b95f5e4b7ad552928c4fe480c;p=mesa.git freedreno/a3xx: account for special inputs/outputs We need to size input/output tables big enough for special inputs/ outputs (gl_Position, gl_FrontFacing, etc) which, while they don't count towards the hw limit of 16 attributes or 16 varyings, we do still need to track them all the same. Signed-off-by: Rob Clark --- diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_program.h b/src/gallium/drivers/freedreno/a3xx/fd3_program.h index 0439d39dbff..28ad52ecd7c 100644 --- a/src/gallium/drivers/freedreno/a3xx/fd3_program.h +++ b/src/gallium/drivers/freedreno/a3xx/fd3_program.h @@ -91,7 +91,7 @@ struct fd3_shader_variant { struct { fd3_semantic semantic; uint8_t regid; - } outputs[16]; + } outputs[16 + 2]; /* +POSITION +PSIZE */ bool writes_pos, writes_psize; /* vertices/inputs: */ @@ -104,7 +104,7 @@ struct fd3_shader_variant { /* in theory inloc of fs should match outloc of vs: */ uint8_t inloc; uint8_t bary; - } inputs[16]; + } inputs[16 + 2]; /* +POSITION +FACE */ unsigned total_in; /* sum of inputs (scalar) */