diff options
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_render.c')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_render.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_render.c b/src/gallium/drivers/ilo/ilo_render.c index f71059857c6..6935138f8d9 100644 --- a/src/gallium/drivers/ilo/ilo_render.c +++ b/src/gallium/drivers/ilo/ilo_render.c @@ -453,6 +453,9 @@ draw_session_prepare(struct ilo_render *render, ilo_state_viewport_full_delta(&vec->viewport.vp, render->dev, &session->vp_delta); + + ilo_state_cc_full_delta(&vec->blend->cc, render->dev, + &session->cc_delta); } else { session->prim_changed = (render->state.reduced_prim != session->reduced_prim); @@ -468,6 +471,11 @@ draw_session_prepare(struct ilo_render *render, ilo_state_viewport_full_delta(&vec->viewport.vp, render->dev, &session->vp_delta); } + + if (vec->dirty & ILO_DIRTY_BLEND) { + ilo_state_cc_get_delta(&vec->blend->cc, render->dev, + &render->state.cc, &session->cc_delta); + } } } @@ -486,6 +494,7 @@ draw_session_end(struct ilo_render *render, render->state.primitive_restart = vec->draw->primitive_restart; render->state.rs = vec->rasterizer->rs; + render->state.cc = vec->blend->cc; } void |