memset(&c, 0, sizeof(c));
c.key = *key;
- /* The geometry shader needs to access the entire VUE. */
- brw_compute_vue_map(&c.vue_map, intel, c.key.userclip_active, c.key.attrs);
+ brw_compute_vue_map(&c.vue_map, intel, brw->vs.prog_data);
c.nr_regs = (c.vue_map.num_slots + 1)/2;
mem_ctx = NULL;
memset(key, 0, sizeof(*key));
- /* CACHE_NEW_VS_PROG */
+ /* CACHE_NEW_VS_PROG (part of VUE map) */
key->attrs = brw->vs.prog_data->outputs_written;
/* BRW_NEW_PRIMITIVE */
key->pv_first = true;
}
- /* _NEW_TRANSFORM */
- key->userclip_active = (ctx->Transform.ClipPlanesEnabled != 0);
+ /* CACHE_NEW_VS_PROG (part of VUE map)*/
+ key->userclip_active = brw->vs.prog_data->userclip;
if (intel->gen >= 7) {
/* On Gen7 and later, we don't use GS (yet). */
const struct brw_tracked_state brw_gs_prog = {
.dirty = {
.mesa = (_NEW_LIGHT |
- _NEW_TRANSFORM |
_NEW_TRANSFORM_FEEDBACK |
_NEW_RASTERIZER_DISCARD),
.brw = BRW_NEW_PRIMITIVE,