From 9a40c1e6aef00a0bb4b160b6b629c5458425481c Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Fri, 22 May 2020 04:17:44 +0100 Subject: [PATCH] [dxvk] Fix fb resolve offset gl_FragCoord is read in the fs shader, so we need to take into account the dstOffset here! This was causing the offset to be doubled rather than eliminated for the resolves for refractive water in Serious Sam 2 as srcOffset == dstOffset. Fixes #1637 --- src/dxvk/dxvk_context.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 427c5dc9..935dc68c 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -3352,8 +3352,8 @@ namespace dxvk { // Perform the actual resolve operation VkOffset2D srcOffset = { - region.srcOffset.x, - region.srcOffset.y }; + region.srcOffset.x - region.dstOffset.x, + region.srcOffset.y - region.dstOffset.y }; m_cmd->cmdBeginRenderPass(&info, VK_SUBPASS_CONTENTS_INLINE); m_cmd->cmdBindPipeline(VK_PIPELINE_BIND_POINT_GRAPHICS, pipeInfo.pipeHandle);