[Mesa-dev] [PATCH 08/11] i965: Move _NEW_PROGRAM dirty bit from gen7_sf_state to gen7_sbe_state.
Kenneth Graunke
kenneth at whitecape.org
Sun Jan 8 14:43:57 PST 2012
According to a comment in gen6_sf_state.c, calls to get_attr_override
need both _NEW_PROGRAM and _NEW_LIGHT. Since Gen7 reuses the same
function, the same dirty bits should apply.
When I performed the SF/SBE split, I partitioned the bits incorrectly:
3DSTATE_SBE (which contains the attribute setup) was missing _NEW_PROGRAM,
while 3DSTATE_SF was listing it as a dependency for no reason.
NOTE: This is a candidate for the 7.11 branch.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/gen7_sf_state.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/gen7_sf_state.c b/src/mesa/drivers/dri/i965/gen7_sf_state.c
index 11b2480..abcfa99 100644
--- a/src/mesa/drivers/dri/i965/gen7_sf_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_sf_state.c
@@ -105,6 +105,7 @@ upload_sbe_state(struct brw_context *brw)
*/
assert(input_index < 16 || attr == input_index);
+ /* _NEW_LIGHT | _NEW_PROGRAM */
attr_overrides[input_index++] =
get_attr_override(&vue_map, urb_entry_read_offset, attr,
ctx->VertexProgram._TwoSideEnabled);
@@ -133,6 +134,7 @@ const struct brw_tracked_state gen7_sbe_state = {
.dirty = {
.mesa = (_NEW_LIGHT |
_NEW_POINT |
+ _NEW_PROGRAM |
_NEW_TRANSFORM),
.brw = (BRW_NEW_CONTEXT |
BRW_NEW_BATCH |
@@ -280,7 +282,6 @@ upload_sf_state(struct brw_context *brw)
const struct brw_tracked_state gen7_sf_state = {
.dirty = {
.mesa = (_NEW_LIGHT |
- _NEW_PROGRAM |
_NEW_POLYGON |
_NEW_LINE |
_NEW_SCISSOR |
--
1.7.7.5
More information about the mesa-dev
mailing list