diff options
author | Rob Clark <robclark@freedesktop.org> | 2014-05-14 11:39:44 -0400 |
---|---|---|
committer | Rob Clark <robclark@freedesktop.org> | 2014-05-20 08:47:19 -0400 |
commit | 516db26e1e2bbccb5b64716e47cdd7b395cf26a5 (patch) | |
tree | aa6e195359bfbf83cb9394a61d7184bfd680221a | |
parent | d5d9984c2be3c70c15a964e05ccb7e4bb6f0162a (diff) |
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 <robclark@freedesktop.org>
-rw-r--r-- | src/gallium/drivers/freedreno/a3xx/fd3_program.h | 4 |
1 files changed, 2 insertions, 2 deletions
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) */ |