From fd751e3e7bd12aebe4f7745138f92eba47cd193a Mon Sep 17 00:00:00 2001 From: kd-11 Date: Mon, 18 Nov 2019 22:11:07 +0300 Subject: [PATCH] rsx: Improve blit format mismatch detection --- rpcs3/Emu/RSX/GL/GLHelpers.cpp | 2 +- rpcs3/Emu/RSX/VK/VKTexture.cpp | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/rpcs3/Emu/RSX/GL/GLHelpers.cpp b/rpcs3/Emu/RSX/GL/GLHelpers.cpp index 52742bd984..03e87fb55c 100644 --- a/rpcs3/Emu/RSX/GL/GLHelpers.cpp +++ b/rpcs3/Emu/RSX/GL/GLHelpers.cpp @@ -418,7 +418,7 @@ namespace gl } } - verify(HERE), real_src->aspect() == real_dst->aspect(); + verify("Incompatible source and destination format!" HERE), real_src->aspect() == real_dst->aspect(); const bool is_depth_copy = (real_src->aspect() != image_aspect::color); const filter interp = (linear_interpolation && !is_depth_copy) ? filter::linear : filter::nearest; diff --git a/rpcs3/Emu/RSX/VK/VKTexture.cpp b/rpcs3/Emu/RSX/VK/VKTexture.cpp index 0d67caa647..ae3a45fe8a 100644 --- a/rpcs3/Emu/RSX/VK/VKTexture.cpp +++ b/rpcs3/Emu/RSX/VK/VKTexture.cpp @@ -849,9 +849,6 @@ namespace vk void blitter::scale_image(vk::command_buffer& cmd, vk::image* src, vk::image* dst, areai src_area, areai dst_area, bool interpolate, const rsx::typeless_xfer& xfer_info) { - const auto src_aspect = vk::get_aspect_flags(src->info.format); - const auto dst_aspect = vk::get_aspect_flags(dst->info.format); - vk::image* real_src = src; vk::image* real_dst = dst; @@ -930,8 +927,10 @@ namespace vk src_area.flip_vertical(); } + verify("Incompatible source and destination format!" HERE), real_src->aspect() == real_dst->aspect(); + copy_scaled_image(cmd, real_src->value, real_dst->value, real_src->current_layout, real_dst->current_layout, - src_area, dst_area, 1, dst_aspect, real_src->info.format == real_dst->info.format, + src_area, dst_area, 1, real_src->aspect(), real_src->info.format == real_dst->info.format, interpolate ? VK_FILTER_LINEAR : VK_FILTER_NEAREST, real_src->info.format, real_dst->info.format); if (real_dst != dst)