summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2010-10-18 14:12:12 -0700
committerEric Anholt <[email protected]>2010-10-18 14:14:06 -0700
commit4af293741635aea8630e8734a8b4caf58047e91d (patch)
treed8419c36009c07257627e3e7955b39a7bc015a98 /src/mesa/drivers/dri
parent641028debf0e4b03111b205088763d3d957070b2 (diff)
i965: Avoid blits in BufferCopySubdata on gen6.
Fixes glean/bufferObject.
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/intel/intel_buffer_objects.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_buffer_objects.c b/src/mesa/drivers/dri/intel/intel_buffer_objects.c
index fea99b2ad60..87da60a771e 100644
--- a/src/mesa/drivers/dri/intel/intel_buffer_objects.c
+++ b/src/mesa/drivers/dri/intel/intel_buffer_objects.c
@@ -559,7 +559,7 @@ intel_bufferobj_copy_subdata(struct gl_context *ctx,
return;
/* If we're in system memory, just map and memcpy. */
- if (intel_src->sys_buffer || intel_dst->sys_buffer) {
+ if (intel_src->sys_buffer || intel_dst->sys_buffer || intel->gen >= 6) {
/* The same buffer may be used, but note that regions copied may
* not overlap.
*/
@@ -582,6 +582,7 @@ intel_bufferobj_copy_subdata(struct gl_context *ctx,
intel_bufferobj_unmap(ctx, GL_COPY_READ_BUFFER, src);
intel_bufferobj_unmap(ctx, GL_COPY_WRITE_BUFFER, dst);
}
+ return;
}
/* Otherwise, we have real BOs, so blit them. */