From 0e0e23ef537c9add672ff322f34e129a07edc55e Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Wed, 22 Apr 2015 11:43:50 -0700 Subject: i965/state: Emit pipeline select when changing pipelines Signed-off-by: Jordan Justen Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_state_upload.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/mesa/drivers/dri/i965/brw_state_upload.c') diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index 15d6953a7ef..686a3da795a 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -406,6 +406,9 @@ void brw_init_state( struct brw_context *brw ) { struct gl_context *ctx = &brw->ctx; + /* Force the first brw_select_pipeline to emit pipeline select */ + brw->last_pipeline = BRW_NUM_PIPELINES; + STATIC_ASSERT(ARRAY_SIZE(gen4_atoms) <= ARRAY_SIZE(brw->render_atoms)); STATIC_ASSERT(ARRAY_SIZE(gen6_atoms) <= ARRAY_SIZE(brw->render_atoms)); STATIC_ASSERT(ARRAY_SIZE(gen7_render_atoms) <= @@ -656,6 +659,8 @@ brw_upload_pipeline_state(struct brw_context *brw, static int dirty_count = 0; struct brw_state_flags state = brw->state.pipelines[pipeline]; + brw_select_pipeline(brw, pipeline); + if (0) { /* Always re-emit all state. */ brw->NewGLState = ~0; -- cgit v1.2.3