mirror of
https://git.h3cjp.net/H3cJP/citra.git
synced 2024-11-23 22:32:59 +00:00
Merge pull request #9155 from FernandoS27/goosfraba
Vulkan: Fix regression caused by limiting render area to width/height of render targets.
This commit is contained in:
commit
f39d2cf78b
|
@ -1782,17 +1782,17 @@ void Framebuffer::CreateFramebuffer(TextureCacheRuntime& runtime,
|
|||
|
||||
const auto& resolution = runtime.resolution;
|
||||
|
||||
u32 width = 0;
|
||||
u32 height = 0;
|
||||
u32 width = std::numeric_limits<u32>::max();
|
||||
u32 height = std::numeric_limits<u32>::max();
|
||||
for (size_t index = 0; index < NUM_RT; ++index) {
|
||||
const ImageView* const color_buffer = color_buffers[index];
|
||||
if (!color_buffer) {
|
||||
renderpass_key.color_formats[index] = PixelFormat::Invalid;
|
||||
continue;
|
||||
}
|
||||
width = std::max(width, is_rescaled ? resolution.ScaleUp(color_buffer->size.width)
|
||||
width = std::min(width, is_rescaled ? resolution.ScaleUp(color_buffer->size.width)
|
||||
: color_buffer->size.width);
|
||||
height = std::max(height, is_rescaled ? resolution.ScaleUp(color_buffer->size.height)
|
||||
height = std::min(height, is_rescaled ? resolution.ScaleUp(color_buffer->size.height)
|
||||
: color_buffer->size.height);
|
||||
attachments.push_back(color_buffer->RenderTarget());
|
||||
renderpass_key.color_formats[index] = color_buffer->format;
|
||||
|
@ -1804,9 +1804,9 @@ void Framebuffer::CreateFramebuffer(TextureCacheRuntime& runtime,
|
|||
}
|
||||
const size_t num_colors = attachments.size();
|
||||
if (depth_buffer) {
|
||||
width = std::max(width, is_rescaled ? resolution.ScaleUp(depth_buffer->size.width)
|
||||
width = std::min(width, is_rescaled ? resolution.ScaleUp(depth_buffer->size.width)
|
||||
: depth_buffer->size.width);
|
||||
height = std::max(height, is_rescaled ? resolution.ScaleUp(depth_buffer->size.height)
|
||||
height = std::min(height, is_rescaled ? resolution.ScaleUp(depth_buffer->size.height)
|
||||
: depth_buffer->size.height);
|
||||
attachments.push_back(depth_buffer->RenderTarget());
|
||||
renderpass_key.depth_format = depth_buffer->format;
|
||||
|
|
Loading…
Reference in a new issue