Without MI_SET_CONTEXT, there's no guarantee that another program hasn't reprogram the GPU's SF state since our last batch. We need to submit it every time.
Found by inspection. NOTE: This is a candidate for the 7.11 branch. Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- src/mesa/drivers/dri/i965/gen6_sf_state.c | 1 + src/mesa/drivers/dri/i965/gen7_sf_state.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_sf_state.c b/src/mesa/drivers/dri/i965/gen6_sf_state.c index 4c4ff30..d8b4052 100644 --- a/src/mesa/drivers/dri/i965/gen6_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen6_sf_state.c @@ -345,6 +345,7 @@ const struct brw_tracked_state gen6_sf_state = { _NEW_POINT | _NEW_TRANSFORM), .brw = (BRW_NEW_CONTEXT | + BRW_NEW_BATCH | BRW_NEW_FRAGMENT_PROGRAM | BRW_NEW_HIZ), .cache = CACHE_NEW_VS_PROG diff --git a/src/mesa/drivers/dri/i965/gen7_sf_state.c b/src/mesa/drivers/dri/i965/gen7_sf_state.c index 8876722..11b2480 100644 --- a/src/mesa/drivers/dri/i965/gen7_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen7_sf_state.c @@ -135,6 +135,7 @@ const struct brw_tracked_state gen7_sbe_state = { _NEW_POINT | _NEW_TRANSFORM), .brw = (BRW_NEW_CONTEXT | + BRW_NEW_BATCH | BRW_NEW_FRAGMENT_PROGRAM), .cache = CACHE_NEW_VS_PROG }, @@ -285,7 +286,7 @@ const struct brw_tracked_state gen7_sf_state = { _NEW_SCISSOR | _NEW_BUFFERS | _NEW_POINT), - .brw = (BRW_NEW_CONTEXT), + .brw = BRW_NEW_CONTEXT | BRW_NEW_BATCH, .cache = CACHE_NEW_VS_PROG }, .emit = upload_sf_state, -- 1.7.7.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev