summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 30b644ee42b..e4af4c7bd70 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -989,6 +989,12 @@ void si_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info)
if (sctx->b.flags)
si_mark_atom_dirty(sctx, sctx->atoms.s.cache_flush);
+ /* Add buffer sizes for memory checking in need_cs_space. */
+ if (sctx->emit_scratch_reloc && sctx->scratch_buffer)
+ r600_context_add_resource_size(ctx, &sctx->scratch_buffer->b.b);
+ if (info->indirect)
+ r600_context_add_resource_size(ctx, info->indirect);
+
si_need_cs_space(sctx);
/* Emit states. */