intel: Flush the batch when we're about to subdata into a VBO.
This fixes the clears in openarena with the new metaops clear code, and the new piglit vbo-subdata-sync test. Bug #23857.
This commit is contained in:
@@ -207,8 +207,12 @@ intel_bufferobj_subdata(GLcontext * ctx,
|
|||||||
|
|
||||||
if (intel_obj->sys_buffer)
|
if (intel_obj->sys_buffer)
|
||||||
memcpy((char *)intel_obj->sys_buffer + offset, data, size);
|
memcpy((char *)intel_obj->sys_buffer + offset, data, size);
|
||||||
else
|
else {
|
||||||
|
/* Flush any existing batchbuffer that might reference this data. */
|
||||||
|
intelFlush(ctx);
|
||||||
|
|
||||||
dri_bo_subdata(intel_obj->buffer, offset, size, data);
|
dri_bo_subdata(intel_obj->buffer, offset, size, data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -173,7 +173,6 @@ intelClear(GLcontext *ctx, GLbitfield mask)
|
|||||||
}
|
}
|
||||||
|
|
||||||
_mesa_meta_clear(&intel->ctx, tri_mask);
|
_mesa_meta_clear(&intel->ctx, tri_mask);
|
||||||
intel_batchbuffer_flush(intel->batch);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (swrast_mask) {
|
if (swrast_mask) {
|
||||||
|
Reference in New Issue
Block a user