Mesa (master): i965: Avoid blits in BufferCopySubdata on gen6.

Eric Anholt anholt at kemper.freedesktop.org
Mon Oct 18 21:37:52 UTC 2010


Module: Mesa
Branch: master
Commit: 4af293741635aea8630e8734a8b4caf58047e91d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4af293741635aea8630e8734a8b4caf58047e91d

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Oct 18 14:12:12 2010 -0700

i965: Avoid blits in BufferCopySubdata on gen6.

Fixes glean/bufferObject.

---

 src/mesa/drivers/dri/intel/intel_buffer_objects.c |    3 ++-
 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 fea99b2..87da60a 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. */




More information about the mesa-commit mailing list