This appears to be an issue with how we limit the copy extents to the size at certain mip levels. in the vulkan backend's `copy_texture_to_texture`: ```rust let extent = r .size .min(&r.src_base.max_copy_size(&src.copy_size)) .min(&r.dst_base.max_copy_size(&dst.copy_size)); ``` clamps a reasonable copy extent to something that is potentially smaller than the format's block size.
Bug 1844779 Comment 1 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
This appears to be an issue with how we limit the copy extents to the size at certain mip levels. in the vulkan backend's `copy_texture_to_texture`: ```rust let extent = r .size .min(&r.src_base.max_copy_size(&src.copy_size)) .min(&r.dst_base.max_copy_size(&dst.copy_size)); ``` clamps a reasonable copy extent to something that is potentially smaller than the format's block size. Relevant spec link to some logic that probably needs to be plumbed somewhere instead of using the logical size: https://gpuweb.github.io/gpuweb/#abstract-opdef-physical-miplevel-specific-texture-extent
(edit) redacted my first guess which was completely off.