summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_render.c
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2015-06-05 10:23:24 +0800
committerChia-I Wu <[email protected]>2015-06-15 01:07:09 +0800
commit402e155cd3a757a583f81fa6545c855b63947e7c (patch)
tree52f890f60fdfd984f9aa7f16c402b113f69389ed /src/gallium/drivers/ilo/ilo_render.c
parentded7d412d04cf702596e91f36ba586b18f1933a2 (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.c10
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