diff options
Diffstat (limited to 'src/gallium/drivers/ilo/ilo_state.c')
-rw-r--r-- | src/gallium/drivers/ilo/ilo_state.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/ilo_state.c b/src/gallium/drivers/ilo/ilo_state.c index 58894f288ff..7046a69890c 100644 --- a/src/gallium/drivers/ilo/ilo_state.c +++ b/src/gallium/drivers/ilo/ilo_state.c @@ -72,6 +72,14 @@ finalize_shader_states(struct ilo_context *ilo) /* mark the state dirty if a new kernel is selected */ ilo->dirty |= state; } + + /* need to setup SBE for FS */ + if (type == PIPE_SHADER_FRAGMENT && ilo->dirty & + (state | ILO_DIRTY_GS | ILO_DIRTY_VS | ILO_DIRTY_RASTERIZER)) { + if (ilo_shader_select_kernel_routing(shader, + (ilo->gs) ? ilo->gs : ilo->vs, ilo->rasterizer)) + ilo->dirty |= state; + } } } |