Merge branch 'mesa_7_7_branch'
[mesa.git] / src / mesa / drivers / dri / intel / intel_tex_copy.c
index a70738c9589cfc9f1b85304fb03a2521ad4443a9..79994b4a6a03d845c21b1db7ce0f3bfd44b3ae39 100644 (file)
@@ -36,7 +36,6 @@
 
 #include "intel_screen.h"
 #include "intel_context.h"
-#include "intel_batchbuffer.h"
 #include "intel_buffers.h"
 #include "intel_mipmap_tree.h"
 #include "intel_regions.h"
@@ -110,7 +109,6 @@ do_copy_texsubimage(struct intel_context *intel,
    }
 
    /* intelFlush(ctx); */
-   LOCK_HARDWARE(intel);
    {
       drm_intel_bo *dst_bo = intel_region_buffer(intel,
                                                 intelImage->mt->region,
@@ -132,7 +130,6 @@ do_copy_texsubimage(struct intel_context *intel,
 
       /* Can't blit to tiled buffers with non-tile-aligned offset. */
       if (intelImage->mt->region->tiling == I915_TILING_Y) {
-        UNLOCK_HARDWARE(intel);
         return GL_FALSE;
       }
 
@@ -160,22 +157,20 @@ do_copy_texsubimage(struct intel_context *intel,
                             intelImage->mt->cpp,
                             src_pitch,
                             src->buffer,
-                            src->draw_offset,
+                            0,
                             src->tiling,
                             intelImage->mt->pitch,
                             dst_bo,
                             0,
                             intelImage->mt->region->tiling,
-                            x, y, image_x + dstx, image_y + dsty,
+                            src->draw_x + x, src->draw_y + y,
+                            image_x + dstx, image_y + dsty,
                             width, height,
                             GL_COPY)) {
-        UNLOCK_HARDWARE(intel);
         return GL_FALSE;
       }
    }
 
-   UNLOCK_HARDWARE(intel);
-
    return GL_TRUE;
 }