Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com> --- src/mesa/drivers/dri/i965/intel_tex_subimage.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/intel_tex_subimage.c b/src/mesa/drivers/dri/i965/intel_tex_subimage.c index f999a93..741637a 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_subimage.c +++ b/src/mesa/drivers/dri/i965/intel_tex_subimage.c @@ -393,6 +393,7 @@ intelTexSubImage(struct gl_context * ctx, const GLvoid * pixels, const struct gl_pixelstore_attrib *packing) { + struct brw_context *brw = brw_context(ctx); struct intel_mipmap_tree *mt = intel_texture_image(texImage)->mt; bool ok; @@ -407,6 +408,14 @@ intelTexSubImage(struct gl_context * ctx, _mesa_enum_to_string(format), _mesa_enum_to_string(type), texImage->Level, texImage->Width, texImage->Height, texImage->Depth); + const bool is_src_bo = _mesa_is_bufferobj(packing->BufferObj); + if (brw->gen >= 6 && (tex_busy || is_src_bo) && + intel_texsubimage_gpu_copy(brw, dims, texImage, + xoffset, yoffset, zoffset, + width, height, depth, + format, type, pixels, packing)) + return; + ok = _mesa_meta_pbo_TexSubImage(ctx, dims, texImage, xoffset, yoffset, zoffset, width, height, depth, format, type, -- 2.5.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev