diff --git a/rpcs3/Emu/RSX/Common/surface_store.h b/rpcs3/Emu/RSX/Common/surface_store.h index 4871bb3ad5..a24a017267 100644 --- a/rpcs3/Emu/RSX/Common/surface_store.h +++ b/rpcs3/Emu/RSX/Common/surface_store.h @@ -214,8 +214,8 @@ namespace rsx old_contents.dst_x /= bytes_to_texels_x2; old_contents.dst_y /= rows_to_texels_y2; - old_contents.transfer_scale_x = f32(bytes_to_texels_x2) / bytes_to_texels_x; - old_contents.transfer_scale_y = f32(rows_to_texels_y2) / rows_to_texels_y; + old_contents.transfer_scale_x = f32(bytes_to_texels_x) / bytes_to_texels_x2; + old_contents.transfer_scale_y = f32(rows_to_texels_y) / rows_to_texels_y2; } // Apply resolution scale if needed diff --git a/rpcs3/Emu/RSX/VK/VKTexture.cpp b/rpcs3/Emu/RSX/VK/VKTexture.cpp index 93c4d0a953..2f00b3e36b 100644 --- a/rpcs3/Emu/RSX/VK/VKTexture.cpp +++ b/rpcs3/Emu/RSX/VK/VKTexture.cpp @@ -439,7 +439,7 @@ namespace vk vkCmdCopyBufferToImage(cmd, scratch_buf->value, dst, preferred_dst_format, 1, &info); }; - const u32 typeless_w = dst_rect.width(); + const u32 typeless_w = std::max(dst_rect.width(), src_rect.width()); const u32 typeless_h = src_rect.height() + dst_rect.height(); switch (src_format)