diff options
| author | Stenzek <stenzek@users.noreply.github.com> | 2017-04-18 21:58:14 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-04-18 21:58:14 +1000 |
| commit | 16a947a88b6fee5ce96373550140bcb4b3911565 (patch) | |
| tree | 9cb794bc0aab5c2812f9a48ad2a048457c320276 /Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp | |
| parent | 936910163aaddf63dc439b8206cb09951a158353 (diff) | |
| parent | 3fd1e6c2f69f83d8c818c5a253a161502868a355 (diff) | |
Merge pull request #5270 from stenzek/vulkan-aa
Vulkan: MSAA and frame dumping fixes
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp b/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp index 9b07f8645e..f4caacfc6a 100644 --- a/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp +++ b/Source/Core/VideoBackends/Vulkan/FramebufferManager.cpp @@ -462,6 +462,12 @@ Texture2D* FramebufferManager::ResolveEFBColorTexture(const VkRect2D& region) // Can't resolve within a render pass. StateTracker::GetInstance()->EndRenderPass(); + // It's not valid to resolve out-of-bounds coordinates. + // Ensuring the region is within the image is the caller's responsibility. + _assert_(region.offset.x >= 0 && region.offset.y >= 0 && + (static_cast<u32>(region.offset.x) + region.extent.width) <= m_efb_width && + (static_cast<u32>(region.offset.y) + region.extent.height) <= m_efb_height); + // Resolving is considered to be a transfer operation. m_efb_color_texture->TransitionToLayout(g_command_buffer_mgr->GetCurrentCommandBuffer(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL); |
