i965: Remove spurious mutex frobbing around call to intel_miptree_blit
authorIan Romanick <ian.d.romanick@intel.com>
Mon, 19 Jun 2017 19:28:54 +0000 (12:28 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 21 Jun 2017 21:34:56 +0000 (14:34 -0700)
These locks were added in 2f28a0dc, but I don't see anything in the
intel_miptree_blit path that should make this necessary.

When asked, Kristian says:

    I doubt it's needed now with the new blorp. If I remember correctly,
    I had to drop the lock there since intel_miptree_blit() could hit
    the XY blit path that requires a fast clear resolve. The fast
    resolve being meta, would then try to lock the texture again.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
src/mesa/drivers/dri/i965/intel_tex_copy.c

index 9c255ae..e0d5cad 100644 (file)
@@ -51,7 +51,6 @@ intel_copy_texsubimage(struct brw_context *brw,
                        GLint x, GLint y, GLsizei width, GLsizei height)
 {
    const GLenum internalFormat = intelImage->base.Base.InternalFormat;
-   bool ret;
 
    /* No pixel transfer operations (zoom, bias, mapping), just a blit */
    if (brw->ctx._ImageTransferState)
@@ -83,19 +82,13 @@ intel_copy_texsubimage(struct brw_context *brw,
    int dst_slice = slice + intelImage->base.Base.Face +
                    intelImage->base.Base.TexObject->MinLayer;
 
-   _mesa_unlock_texture(&brw->ctx, intelImage->base.Base.TexObject);
-
    /* blit from src buffer to texture */
-   ret = intel_miptree_blit(brw,
-                            irb->mt, irb->mt_level, irb->mt_layer,
-                            x, y, irb->Base.Base.Name == 0,
-                            intelImage->mt, dst_level, dst_slice,
-                            dstx, dsty, false,
-                            width, height, GL_COPY);
-
-   _mesa_lock_texture(&brw->ctx, intelImage->base.Base.TexObject);
-
-   return ret;
+   return intel_miptree_blit(brw,
+                             irb->mt, irb->mt_level, irb->mt_layer,
+                             x, y, irb->Base.Base.Name == 0,
+                             intelImage->mt, dst_level, dst_slice,
+                             dstx, dsty, false,
+                             width, height, GL_COPY);
 }