[Mesa-dev] [PATCH] i965: Remove spurious mutex frobbing around call to intel_miptree_blit

Kristian Høgsberg krh at bitplanet.net
Tue Jun 20 20:33:13 UTC 2017


On Mon, Jun 19, 2017 at 2:33 PM, Ian Romanick <idr at freedesktop.org> wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> These locks were added in 2f28a0dc, but I don't see anything in the
> intel_miptree_blit path that should make this necessary.

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.

Kristian

> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Cc: Kristian Høgsberg <krh at bitplanet.net>
> ---
>  src/mesa/drivers/dri/i965/intel_tex_copy.c | 19 ++++++-------------
>  1 file changed, 6 insertions(+), 13 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/intel_tex_copy.c b/src/mesa/drivers/dri/i965/intel_tex_copy.c
> index 9c255ae..e0d5cad 100644
> --- a/src/mesa/drivers/dri/i965/intel_tex_copy.c
> +++ b/src/mesa/drivers/dri/i965/intel_tex_copy.c
> @@ -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);
>  }
>
>
> --
> 2.9.4
>


More information about the mesa-dev mailing list