diff --git a/src/xenia/gpu/texture_info.cc b/src/xenia/gpu/texture_info.cc index bab7a890f..ae0f59042 100644 --- a/src/xenia/gpu/texture_info.cc +++ b/src/xenia/gpu/texture_info.cc @@ -93,6 +93,8 @@ bool TextureInfo::PrepareResolve(uint32_t physical_address, auto& info = *out_info; info.guest_address = physical_address; info.dimension = Dimension::k2D; + assert_true(width > 0); + assert_true(height > 0); info.width = width - 1; info.height = height - 1; info.texture_format = texture_format; diff --git a/src/xenia/gpu/vulkan/vulkan_command_processor.cc b/src/xenia/gpu/vulkan/vulkan_command_processor.cc index 571bacfb2..ccbc5d413 100644 --- a/src/xenia/gpu/vulkan/vulkan_command_processor.cc +++ b/src/xenia/gpu/vulkan/vulkan_command_processor.cc @@ -1012,8 +1012,8 @@ bool VulkanCommandProcessor::IssueCopy() { // Demand a resolve texture from the texture cache. TextureInfo texture_info; TextureInfo::PrepareResolve(copy_dest_base, copy_dest_format, resolve_endian, - dest_logical_width, dest_logical_height, - &texture_info); + dest_logical_width, + std::max(1u, dest_logical_height), &texture_info); auto texture = texture_cache_->DemandResolveTexture(texture_info, copy_dest_format);