diff options
author | Chia-I Wu <[email protected]> | 2015-06-05 10:23:24 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2015-06-15 01:07:09 +0800 |
commit | 402e155cd3a757a583f81fa6545c855b63947e7c (patch) | |
tree | 52f890f60fdfd984f9aa7f16c402b113f69389ed /src/gallium/drivers/ilo/ilo_render.c | |
parent | ded7d412d04cf702596e91f36ba586b18f1933a2 (diff) |
ilo: embed ilo_state_raster in ilo_rasterizer_state
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_render.c')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_render.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_render.c b/src/gallium/drivers/ilo/ilo_render.c index 92898704cde..f71059857c6 100644 --- a/src/gallium/drivers/ilo/ilo_render.c +++ b/src/gallium/drivers/ilo/ilo_render.c @@ -448,6 +448,9 @@ draw_session_prepare(struct ilo_render *render, session->prim_changed = true; session->primitive_restart_changed = true; + ilo_state_raster_full_delta(&vec->rasterizer->rs, render->dev, + &session->rs_delta); + ilo_state_viewport_full_delta(&vec->viewport.vp, render->dev, &session->vp_delta); } else { @@ -456,6 +459,11 @@ draw_session_prepare(struct ilo_render *render, session->primitive_restart_changed = (render->state.primitive_restart != vec->draw->primitive_restart); + if (vec->dirty & ILO_DIRTY_RASTERIZER) { + ilo_state_raster_get_delta(&vec->rasterizer->rs, render->dev, + &render->state.rs, &session->rs_delta); + } + if (vec->dirty & ILO_DIRTY_VIEWPORT) { ilo_state_viewport_full_delta(&vec->viewport.vp, render->dev, &session->vp_delta); @@ -476,6 +484,8 @@ draw_session_end(struct ilo_render *render, render->state.reduced_prim = session->reduced_prim; render->state.primitive_restart = vec->draw->primitive_restart; + + render->state.rs = vec->rasterizer->rs; } void |