i965: Zero out {point_sprite,flat}_enables in calculate_attr_overrides.
calculate_attr_overrides is responsible for computing the point sprite and flat-shading enable bitfields. It does so by OR'ing in a bunch of bits. However, it relied on the caller to set the initial value to zero. This is pretty fragile - if the caller neglects to zero out those variables, then the enable bitfields end up full of garbage, which shows up as random things being flat-shaded. This patch moves the zero-initialization into calculate_attr_overrides, so that the computation is completely in one place. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
@@ -143,6 +143,9 @@ calculate_attr_overrides(const struct brw_context *brw,
|
||||
const int urb_entry_read_offset = BRW_SF_URB_ENTRY_READ_OFFSET;
|
||||
uint32_t max_source_attr = 0;
|
||||
|
||||
*point_sprite_enables = 0;
|
||||
*flat_enables = 0;
|
||||
|
||||
/* _NEW_LIGHT */
|
||||
bool shade_model_flat = brw->ctx.Light.ShadeModel == GL_FLAT;
|
||||
|
||||
@@ -242,8 +245,6 @@ upload_sf_state(struct brw_context *brw)
|
||||
|
||||
dw3 = 0;
|
||||
dw4 = 0;
|
||||
dw16 = 0;
|
||||
dw17 = 0;
|
||||
|
||||
/* _NEW_POLYGON */
|
||||
if ((ctx->Polygon.FrontFace == GL_CCW) ^ render_to_fbo)
|
||||
|
@@ -58,10 +58,6 @@ upload_sbe_state(struct brw_context *brw)
|
||||
}
|
||||
dw1 |= point_sprite_origin;
|
||||
|
||||
|
||||
dw10 = 0;
|
||||
dw11 = 0;
|
||||
|
||||
/* BRW_NEW_VUE_MAP_GEOM_OUT | _NEW_POINT | _NEW_LIGHT | _NEW_PROGRAM |
|
||||
* CACHE_NEW_WM_PROG
|
||||
*/
|
||||
|
Reference in New Issue
Block a user