From: Eric Anholt Date: Thu, 20 Jun 2013 16:08:30 +0000 (-0700) Subject: intel: Stop doing special _NEW_STENCIL state flagging on drawbuffers. X-Git-Tag: mesa-9.2.1~645 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F33%2F7133%2F1;p=platform%2Fupstream%2Fmesa.git intel: Stop doing special _NEW_STENCIL state flagging on drawbuffers. 2/3 packets depending on Stencil._Enabled already checked for _NEW_BUFFERS, so just add _NEW_BUFFERS to the remaining one. Reviewed-by: Anuj Phogat Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c index 71f9366..698af6d 100644 --- a/src/mesa/drivers/dri/i965/brw_cc.c +++ b/src/mesa/drivers/dri/i965/brw_cc.c @@ -104,7 +104,7 @@ static void upload_cc_unit(struct brw_context *brw) sizeof(*cc), 64, &brw->cc.state_offset); memset(cc, 0, sizeof(*cc)); - /* _NEW_STENCIL */ + /* _NEW_STENCIL | _NEW_BUFFERS */ if (ctx->Stencil._Enabled) { const unsigned back = ctx->Stencil._BackFace; @@ -230,7 +230,7 @@ static void upload_cc_unit(struct brw_context *brw) const struct brw_tracked_state brw_cc_unit = { .dirty = { - .mesa = _NEW_STENCIL | _NEW_COLOR | _NEW_DEPTH, + .mesa = _NEW_STENCIL | _NEW_COLOR | _NEW_DEPTH | _NEW_BUFFERS, .brw = BRW_NEW_BATCH | BRW_NEW_STATS_WM, .cache = CACHE_NEW_CC_VP }, diff --git a/src/mesa/drivers/dri/i965/brw_vtbl.c b/src/mesa/drivers/dri/i965/brw_vtbl.c index a47b7a3..2c71c08 100644 --- a/src/mesa/drivers/dri/i965/brw_vtbl.c +++ b/src/mesa/drivers/dri/i965/brw_vtbl.c @@ -130,12 +130,7 @@ brw_update_draw_buffer(struct intel_context *intel) return; } - /* Mesa's Stencil._Enabled field is updated when - * _NEW_BUFFERS | _NEW_STENCIL, but i965 code assumes that the value - * only changes with _NEW_STENCIL (which seems sensible). So flag it - * here since this is the _NEW_BUFFERS path. - */ - intel->NewGLState |= (_NEW_DEPTH | _NEW_STENCIL); + intel->NewGLState |= _NEW_DEPTH; /* The driver uses this in places that need to look up * renderbuffers' buffer objects. diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 60dc14a..6eb4a1d 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -379,7 +379,7 @@ static void brw_wm_populate_key( struct brw_context *brw, if (ctx->Depth.Test && ctx->Depth.Mask) /* ?? */ lookup |= IZ_DEPTH_WRITE_ENABLE_BIT; - /* _NEW_STENCIL */ + /* _NEW_STENCIL | _NEW_BUFFERS */ if (ctx->Stencil._Enabled) { lookup |= IZ_STENCIL_TEST_ENABLE_BIT; diff --git a/src/mesa/drivers/dri/i965/gen6_depthstencil.c b/src/mesa/drivers/dri/i965/gen6_depthstencil.c index a8dbc62..8c47147 100644 --- a/src/mesa/drivers/dri/i965/gen6_depthstencil.c +++ b/src/mesa/drivers/dri/i965/gen6_depthstencil.c @@ -47,7 +47,7 @@ gen6_upload_depth_stencil_state(struct brw_context *brw) &brw->cc.depth_stencil_state_offset); memset(ds, 0, sizeof(*ds)); - /* _NEW_STENCIL */ + /* _NEW_STENCIL | _NEW_BUFFERS */ if (ctx->Stencil._Enabled) { int back = ctx->Stencil._BackFace;