diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index be270073b3d..519ae13a8e5 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -1900,7 +1900,8 @@ iris_set_viewport_states(struct pipe_context *ctx, { struct iris_context *ice = (struct iris_context *) ctx; struct iris_genx_state *genx = ice->state.genx; - uint32_t *vp_map = &genx->sf_cl_vp[start_slot]; + uint32_t *vp_map = + &genx->sf_cl_vp[start_slot * GENX(SF_CLIP_VIEWPORT_length)]; for (unsigned i = 0; i < count; i++) { const struct pipe_viewport_state *state = &states[i];