diff options
author | Rob Clark <[email protected]> | 2014-05-14 11:39:44 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2014-05-14 21:26:35 -0400 |
commit | c37889b5ac77f55b95f5e4b7ad552928c4fe480c (patch) | |
tree | b3dbe1d13e60a15751e9c39beddb489c4297cc07 | |
parent | 5dcf59e1429310b736a11f1ae17ae8d5842a63c2 (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 <[email protected]>
-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) */ |