Module: Mesa Branch: master Commit: fcb6d5b9ef0d3559fa213c673ed996f194f56c2a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcb6d5b9ef0d3559fa213c673ed996f194f56c2a
Author: Jason Ekstrand <[email protected]> Date: Mon Sep 1 04:38:28 2014 -0700 i965/copy_image: Use the correct texture level Previously, we were using the source images level for both source and destination. Also, we weren't taking the MinLevel from a potential texture view into account. This commit fixes both problems. Signed-off-by: Jason Ekstrand <[email protected]> Cc: "10.3" <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82804 Tested-by: Tapani Pälli <[email protected]> Reviewed-by: Matt Turner <[email protected]> --- src/mesa/drivers/dri/i965/intel_copy_image.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_copy_image.c b/src/mesa/drivers/dri/i965/intel_copy_image.c index 4e177c7..935f91c 100644 --- a/src/mesa/drivers/dri/i965/intel_copy_image.c +++ b/src/mesa/drivers/dri/i965/intel_copy_image.c @@ -243,9 +243,11 @@ intel_copy_image_sub_data(struct gl_context *ctx, intel_miptree_all_slices_resolve_depth(brw, intel_dst_image->mt); intel_miptree_resolve_color(brw, intel_dst_image->mt); - if (copy_image_with_blitter(brw, intel_src_image->mt, src_image->Level, + unsigned src_level = src_image->Level + src_image->TexObject->MinLevel; + unsigned dst_level = dst_image->Level + dst_image->TexObject->MinLevel; + if (copy_image_with_blitter(brw, intel_src_image->mt, src_level, src_x, src_y, src_z, - intel_dst_image->mt, src_image->Level, + intel_dst_image->mt, dst_level, dst_x, dst_y, dst_z, src_width, src_height)) return; @@ -253,9 +255,9 @@ intel_copy_image_sub_data(struct gl_context *ctx, /* This is a worst-case scenario software fallback that maps the two * textures and does a memcpy between them. */ - copy_image_with_memcpy(brw, intel_src_image->mt, src_image->Level, + copy_image_with_memcpy(brw, intel_src_image->mt, src_level, src_x, src_y, src_z, - intel_dst_image->mt, src_image->Level, + intel_dst_image->mt, dst_level, dst_x, dst_y, dst_z, src_width, src_height); } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
