static void gen8_draw_sf(struct ilo_render *r, const struct ilo_state_vector *vec, struct ilo_render_draw_session *session) { /* 3DSTATE_RASTER */ if (DIRTY(RASTERIZER)) { gen8_3DSTATE_RASTER(r->builder, (vec->rasterizer) ? &vec->rasterizer->sf : NULL); } /* 3DSTATE_SBE */ if (DIRTY(RASTERIZER) || DIRTY(FS)) { gen8_3DSTATE_SBE(r->builder, vec->fs, (vec->rasterizer) ? vec->rasterizer->state.sprite_coord_mode : 0); } /* 3DSTATE_SBE_SWIZ */ if (DIRTY(FS)) gen8_3DSTATE_SBE_SWIZ(r->builder, vec->fs); /* 3DSTATE_SF */ if (DIRTY(RASTERIZER)) { gen8_3DSTATE_SF(r->builder, (vec->rasterizer) ? &vec->rasterizer->sf : NULL); } }
static void gen8_draw_sf(struct ilo_render *r, const struct ilo_state_vector *vec, struct ilo_render_draw_session *session) { /* 3DSTATE_RASTER */ if (session->rs_delta.dirty & ILO_STATE_RASTER_3DSTATE_RASTER) gen8_3DSTATE_RASTER(r->builder, &vec->rasterizer->rs); /* 3DSTATE_SBE and 3DSTATE_SBE_SWIZ */ if (DIRTY(FS)) { const struct ilo_state_sbe *sbe = ilo_shader_get_kernel_sbe(vec->fs); gen8_3DSTATE_SBE(r->builder, sbe); gen8_3DSTATE_SBE_SWIZ(r->builder, sbe); } /* 3DSTATE_SF */ if (session->rs_delta.dirty & ILO_STATE_RASTER_3DSTATE_SF) gen7_3DSTATE_SF(r->builder, &vec->rasterizer->rs); }