mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 10:42:36 +01:00
rsx: Account for subpixel precision when converting DST coordinates to
SRC coordinates - When extracting a 1x1 texture from another texture of a different format, width conversion can result in a dimension of 0 if the extracted texel is not a full texel in SRC
This commit is contained in:
parent
4092e3e95f
commit
2086e7f2e8
@ -588,7 +588,7 @@ namespace gl
|
||||
// Dimensions were given in 'dst' space. Work out the real source coordinates
|
||||
const auto src_bpp = slice.src->pitch() / slice.src->width();
|
||||
src_x = (src_x * dst_bpp) / src_bpp;
|
||||
src_w = (src_w * dst_bpp) / src_bpp;
|
||||
src_w = ::aligned_div<u16>(src_w * dst_bpp, src_bpp);
|
||||
}
|
||||
|
||||
if (auto surface = dynamic_cast<gl::render_target*>(slice.src))
|
||||
|
@ -586,7 +586,7 @@ namespace vk
|
||||
// Dimensions were given in 'dst' space. Work out the real source coordinates
|
||||
const auto src_bpp = vk::get_format_texel_width(section.src->format());
|
||||
src_x = (src_x * dst_bpp) / src_bpp;
|
||||
src_w = (src_w * dst_bpp) / src_bpp;
|
||||
src_w = ::aligned_div<u16>(src_w * dst_bpp, src_bpp);
|
||||
|
||||
transform &= ~(rsx::surface_transform::coordinate_transform);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user