GLint x, GLint y, GLsizei width, GLsizei height)
{
const GLenum internalFormat = intelImage->base.Base.InternalFormat;
+ bool ret;
intel_prepare_render(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 */
- if (!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)) {
- return false;
- }
+ 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 true;
+ return ret;
}