i965: Fix fragcoord_w on gen6 with 16-wide.
authorEric Anholt <eric@anholt.net>
Fri, 29 Apr 2011 19:17:02 +0000 (12:17 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 29 Apr 2011 19:25:21 +0000 (12:25 -0700)
The payload regs can go all the way up to register 60+, so just give
them 8 bits to be addressed by instead of 3-4 (which made source_w_reg
of 8 end up 0).  There's no reason to aggressively pack these fields,
as they are just used as compiler information, where being easier to
access is probably more important than shaving a byte or two off of
the structure.

Fixes piglit fragcoord_w.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36649

src/mesa/drivers/dri/i965/brw_wm.h

index 8e5a9cdb86ca1bdee30cefcc16814a10878ea4c9..a5f99a0a6577e64b87e591398178c64a99ae815d 100644 (file)
@@ -201,11 +201,11 @@ struct brw_wm_compile {
       PASS2_DONE
    } state;
 
-   GLuint source_depth_reg:3;
-   GLuint source_w_reg:3;
-   GLuint aa_dest_stencil_reg:3;
-   GLuint dest_depth_reg:3;
-   GLuint nr_payload_regs:4;
+   uint8_t source_depth_reg;
+   uint8_t source_w_reg;
+   uint8_t aa_dest_stencil_reg;
+   uint8_t dest_depth_reg;
+   uint8_t nr_payload_regs;
    GLuint computes_depth:1;    /* could be derived from program string */
    GLuint source_depth_to_render_target:1;
    GLuint runtime_check_aads_emit:1;