summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/radeonsi/si_blit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_blit.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_blit.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c
index ccf37cda964..3d2c81e92fc 100644
--- a/src/gallium/drivers/radeonsi/si_blit.c
+++ b/src/gallium/drivers/radeonsi/si_blit.c
@@ -98,8 +98,11 @@ void si_blitter_end(struct si_context *sctx)
/* Restore shader pointers because the VS blit shader changed all
* non-global VS user SGPRs. */
sctx->shader_pointers_dirty |= SI_DESCS_SHADER_MASK(VERTEX);
- sctx->vertex_buffer_pointer_dirty = sctx->vb_descriptors_buffer != NULL;
- sctx->vertex_buffer_user_sgprs_dirty = sctx->num_vertex_elements > 0;
+ sctx->vertex_buffer_pointer_dirty = sctx->vb_descriptors_buffer != NULL &&
+ sctx->num_vertex_elements >
+ sctx->screen->num_vbos_in_user_sgprs;
+ sctx->vertex_buffer_user_sgprs_dirty = sctx->num_vertex_elements > 0 &&
+ sctx->screen->num_vbos_in_user_sgprs;
si_mark_atom_dirty(sctx, &sctx->atoms.s.shader_pointers);
}