diff options
author | Kenneth Graunke <[email protected]> | 2018-08-18 01:24:38 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:08 -0800 |
commit | 7705f62cb6777424bde5d3ceb7ee8524b26f3279 (patch) | |
tree | d2415e2b03b1171ec4b440c0f9181e718ca6784a /src/gallium | |
parent | 630d602900f8e9e101659c34061dc85db3f0be48 (diff) |
iris: don't emit SBE all the time
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/iris/iris_program_cache.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/iris/iris_state.c | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/src/gallium/drivers/iris/iris_program_cache.c b/src/gallium/drivers/iris/iris_program_cache.c index b84e3ac0b4c..c2b538048ae 100644 --- a/src/gallium/drivers/iris/iris_program_cache.c +++ b/src/gallium/drivers/iris/iris_program_cache.c @@ -112,7 +112,7 @@ dirty_flag_for_cache(enum iris_program_cache_id cache_id) // XXX: new and old programs to decide what bits to twiddle // XXX: CLIP: toggle if barycentric modes has any NONPERSPECTIVE or not if (cache_id == IRIS_CACHE_FS) - return IRIS_DIRTY_WM | IRIS_DIRTY_FS | IRIS_DIRTY_CLIP; + return IRIS_DIRTY_WM | IRIS_DIRTY_FS | IRIS_DIRTY_CLIP | IRIS_DIRTY_SBE; if (cache_id == IRIS_CACHE_VS) return IRIS_DIRTY_VS | IRIS_DIRTY_VF_SGVS; diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 115b2d34655..8a86f2f9061 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -976,7 +976,7 @@ iris_bind_rasterizer_state(struct pipe_context *ctx, void *state) cso_changed(clip_halfz)) ice->state.dirty |= IRIS_DIRTY_CC_VIEWPORT; - if (cso_changed(sprite_coord_enable)) + if (cso_changed(sprite_coord_enable) || cso_changed(light_twoside)) ice->state.dirty |= IRIS_DIRTY_SBE; } @@ -3536,10 +3536,7 @@ iris_upload_render_state(struct iris_context *ice, iris_emit_merge(batch, cso->wm, dynamic_wm, ARRAY_SIZE(cso->wm)); } - if (1) { - // XXX: 3DSTATE_SBE, 3DSTATE_SBE_SWIZ - // -> iris_raster_state (point sprite texture coordinate origin) - // -> bunch of shader state... + if (dirty & IRIS_DIRTY_SBE) { iris_emit_sbe(batch, ice); } |