mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-25 17:50:39 +02:00
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 <jason.ekstrand@intel.com> Cc: "10.3" <mesa-stable@lists.freedesktop.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82804 Tested-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
58b386dce4
commit
fcb6d5b9ef
1 changed files with 6 additions and 4 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue