summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/intel_batchbuffer.c42
1 files changed, 19 insertions, 23 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c b/src/mesa/drivers/dri/i965/intel_batchbuffer.c
index 337bb65cb47..80b02a77e87 100644
--- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c
+++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c
@@ -365,17 +365,15 @@ intel_batchbuffer_require_space(struct brw_context *brw, GLuint sz,
}
const unsigned batch_used = USED_BATCH(*batch) * 4;
- if (batch_used + sz >= BATCH_SZ) {
- if (!batch->no_wrap) {
- intel_batchbuffer_flush(brw);
- } else {
- const unsigned new_size =
- MIN2(batch->bo->size + batch->bo->size / 2, MAX_BATCH_SIZE);
- grow_buffer(brw, &batch->bo, &batch->map, &batch->batch_cpu_map,
- batch_used, new_size);
- batch->map_next = (void *) batch->map + batch_used;
- assert(batch_used + sz < batch->bo->size);
- }
+ if (batch_used + sz >= BATCH_SZ && !batch->no_wrap) {
+ intel_batchbuffer_flush(brw);
+ } else if (batch_used + sz >= batch->bo->size) {
+ const unsigned new_size =
+ MIN2(batch->bo->size + batch->bo->size / 2, MAX_BATCH_SIZE);
+ grow_buffer(brw, &batch->bo, &batch->map, &batch->batch_cpu_map,
+ batch_used, new_size);
+ batch->map_next = (void *) batch->map + batch_used;
+ assert(batch_used + sz < batch->bo->size);
}
/* The intel_batchbuffer_flush() calls above might have changed
@@ -1066,18 +1064,16 @@ brw_state_batch(struct brw_context *brw,
uint32_t offset = ALIGN(batch->state_used, alignment);
- if (offset + size >= STATE_SZ) {
- if (!batch->no_wrap) {
- intel_batchbuffer_flush(brw);
- offset = ALIGN(batch->state_used, alignment);
- } else {
- const unsigned new_size =
- MIN2(batch->state_bo->size + batch->state_bo->size / 2,
- MAX_STATE_SIZE);
- grow_buffer(brw, &batch->state_bo, &batch->state_map,
- &batch->state_cpu_map, batch->state_used, new_size);
- assert(offset + size < batch->state_bo->size);
- }
+ if (offset + size >= STATE_SZ && !batch->no_wrap) {
+ intel_batchbuffer_flush(brw);
+ offset = ALIGN(batch->state_used, alignment);
+ } else if (offset + size >= batch->state_bo->size) {
+ const unsigned new_size =
+ MIN2(batch->state_bo->size + batch->state_bo->size / 2,
+ MAX_STATE_SIZE);
+ grow_buffer(brw, &batch->state_bo, &batch->state_map,
+ &batch->state_cpu_map, batch->state_used, new_size);
+ assert(offset + size < batch->state_bo->size);
}
if (unlikely(INTEL_DEBUG & DEBUG_BATCH)) {