diff options
author | Kenneth Graunke <[email protected]> | 2011-02-22 10:04:18 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2011-02-22 10:52:44 -0800 |
commit | 3e91070ea81da970b640acf22e2b1aa761161906 (patch) | |
tree | 050058dc613221a2bf1826b04d7d69f042f154fe | |
parent | c6cedd43feccb9341c597329e28bb432c491939f (diff) |
i965: Fix shaders that write to gl_PointSize on Sandybridge.
gl_PointSize (VERT_RESULT_PSIZ) doesn't take up a message register,
as it's part of the header. Without this fix, writing to gl_PointSize
would cause the SF to read and use the wrong attributes, leading to all
kinds of random looking failure.
Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_sf_state.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_sf_state.c b/src/mesa/drivers/dri/i965/gen6_sf_state.c index f27782935d4..06ed89f8447 100644 --- a/src/mesa/drivers/dri/i965/gen6_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen6_sf_state.c @@ -54,6 +54,8 @@ get_attr_override(struct brw_context *brw, int fs_attr, int two_side_color) * be FRAG_ATTRIB_*. */ for (i = 1; i < vs_attr; i++) { + if (i == VERT_RESULT_PSIZ) + continue; if (brw->vs.prog_data->outputs_written & BITFIELD64_BIT(i)) attr_index++; } |