summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sna/kgem.c2
-rw-r--r--src/sna/sna_blt.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index fdc21080..46cd4749 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -736,6 +736,7 @@ void _kgem_submit(struct kgem *kgem)
assert(kgem->nbatch);
assert(kgem->nbatch <= KGEM_BATCH_SIZE(kgem));
+ assert(kgem->nbatch <= kgem->surface);
sna_kgem_context_switch(kgem, KGEM_NONE);
@@ -747,6 +748,7 @@ void _kgem_submit(struct kgem *kgem)
kgem->nreloc, kgem->nexec, kgem->nfence, kgem->aperture));
assert(kgem->nbatch <= ARRAY_SIZE(kgem->batch));
+ assert(kgem->nbatch <= kgem->surface);
assert(kgem->nreloc <= ARRAY_SIZE(kgem->reloc));
assert(kgem->nexec < ARRAY_SIZE(kgem->exec));
assert(kgem->nfence <= kgem->fence_max);
diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c
index cdcfc3b0..d82f417b 100644
--- a/src/sna/sna_blt.c
+++ b/src/sna/sna_blt.c
@@ -281,7 +281,7 @@ static void sna_blt_copy_one(struct sna *sna,
return;
}
- if (kgem->nbatch + 8 > KGEM_BATCH_SIZE(kgem) ||
+ if (kgem->nbatch + 8 + KGEM_BATCH_RESERVED > kgem->surface ||
kgem->nreloc + 2 > KGEM_RELOC_SIZE(kgem))
_kgem_submit(kgem);