diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 433f90bb..8e7fc9f9 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -1707,15 +1707,12 @@ namespace dxvk { DxvkColorAttachmentOps colorOp; colorOp.loadOp = VK_ATTACHMENT_LOAD_OP_LOAD; colorOp.loadLayout = imageView->imageInfo().layout; - colorOp.storeOp = VK_ATTACHMENT_STORE_OP_STORE; colorOp.storeLayout = imageView->imageInfo().layout; DxvkDepthAttachmentOps depthOp; depthOp.loadOpD = VK_ATTACHMENT_LOAD_OP_LOAD; depthOp.loadOpS = VK_ATTACHMENT_LOAD_OP_LOAD; depthOp.loadLayout = imageView->imageInfo().layout; - depthOp.storeOpD = VK_ATTACHMENT_STORE_OP_STORE; - depthOp.storeOpS = VK_ATTACHMENT_STORE_OP_STORE; depthOp.storeLayout = imageView->imageInfo().layout; if (clearAspects & VK_IMAGE_ASPECT_COLOR_BIT) @@ -1802,13 +1799,11 @@ namespace dxvk { if (clearAspects & VK_IMAGE_ASPECT_DEPTH_BIT) { m_state.om.renderPassOps.depthOps.loadOpD = depthOp.loadOpD; - m_state.om.renderPassOps.depthOps.storeOpD = depthOp.storeOpD; m_state.om.clearValues[attachmentIndex].depthStencil.depth = clearValue.depthStencil.depth; } if (clearAspects & VK_IMAGE_ASPECT_STENCIL_BIT) { m_state.om.renderPassOps.depthOps.loadOpS = depthOp.loadOpS; - m_state.om.renderPassOps.depthOps.storeOpS = depthOp.storeOpS; m_state.om.clearValues[attachmentIndex].depthStencil.stencil = clearValue.depthStencil.stencil; } @@ -2664,7 +2659,6 @@ namespace dxvk { ops.colorOps[0].loadOp = VK_ATTACHMENT_LOAD_OP_LOAD; ops.colorOps[0].loadLayout = imageView->imageInfo().layout; - ops.colorOps[0].storeOp = VK_ATTACHMENT_STORE_OP_STORE; ops.colorOps[0].storeLayout = imageView->imageInfo().layout; } else { clearStages |= VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT @@ -2677,8 +2671,6 @@ namespace dxvk { ops.depthOps.loadOpD = VK_ATTACHMENT_LOAD_OP_LOAD; ops.depthOps.loadOpS = VK_ATTACHMENT_LOAD_OP_LOAD; ops.depthOps.loadLayout = imageView->imageInfo().layout; - ops.depthOps.storeOpD = VK_ATTACHMENT_STORE_OP_STORE; - ops.depthOps.storeOpS = VK_ATTACHMENT_STORE_OP_STORE; ops.depthOps.storeLayout = imageView->imageInfo().layout; } @@ -3557,8 +3549,6 @@ namespace dxvk { VK_ATTACHMENT_LOAD_OP_LOAD, VK_ATTACHMENT_LOAD_OP_LOAD, renderTargets.depth.view->imageInfo().layout, - VK_ATTACHMENT_STORE_OP_STORE, - VK_ATTACHMENT_STORE_OP_STORE, renderTargets.depth.view->imageInfo().layout }; renderPassOps.barrier.srcStages |= VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT @@ -3577,7 +3567,6 @@ namespace dxvk { renderPassOps.colorOps[i] = DxvkColorAttachmentOps { VK_ATTACHMENT_LOAD_OP_LOAD, renderTargets.color[i].view->imageInfo().layout, - VK_ATTACHMENT_STORE_OP_STORE, renderTargets.color[i].view->imageInfo().layout }; renderPassOps.barrier.srcStages |= VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; diff --git a/src/dxvk/dxvk_renderpass.cpp b/src/dxvk/dxvk_renderpass.cpp index be2858ed..2e22bbb2 100644 --- a/src/dxvk/dxvk_renderpass.cpp +++ b/src/dxvk/dxvk_renderpass.cpp @@ -88,7 +88,7 @@ namespace dxvk { desc.format = m_format.color[i].format; desc.samples = m_format.sampleCount; desc.loadOp = ops.colorOps[i].loadOp; - desc.storeOp = ops.colorOps[i].storeOp; + desc.storeOp = VK_ATTACHMENT_STORE_OP_STORE; desc.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; desc.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; desc.initialLayout = ops.colorOps[i].loadLayout; @@ -110,9 +110,9 @@ namespace dxvk { desc.format = m_format.depth.format; desc.samples = m_format.sampleCount; desc.loadOp = ops.depthOps.loadOpD; - desc.storeOp = ops.depthOps.storeOpD; + desc.storeOp = VK_ATTACHMENT_STORE_OP_STORE; desc.stencilLoadOp = ops.depthOps.loadOpS; - desc.stencilStoreOp = ops.depthOps.storeOpS; + desc.stencilStoreOp = VK_ATTACHMENT_STORE_OP_STORE; desc.initialLayout = ops.depthOps.loadLayout; desc.finalLayout = ops.depthOps.storeLayout; @@ -248,15 +248,12 @@ namespace dxvk { eq &= a.depthOps.loadOpD == b.depthOps.loadOpD && a.depthOps.loadOpS == b.depthOps.loadOpS && a.depthOps.loadLayout == b.depthOps.loadLayout - && a.depthOps.storeOpD == b.depthOps.storeOpD - && a.depthOps.storeOpS == b.depthOps.storeOpS && a.depthOps.storeLayout == b.depthOps.storeLayout; } for (uint32_t i = 0; i < MaxNumRenderTargets && eq; i++) { eq &= a.colorOps[i].loadOp == b.colorOps[i].loadOp && a.colorOps[i].loadLayout == b.colorOps[i].loadLayout - && a.colorOps[i].storeOp == b.colorOps[i].storeOp && a.colorOps[i].storeLayout == b.colorOps[i].storeLayout; } diff --git a/src/dxvk/dxvk_renderpass.h b/src/dxvk/dxvk_renderpass.h index 15bca81d..cc543572 100644 --- a/src/dxvk/dxvk_renderpass.h +++ b/src/dxvk/dxvk_renderpass.h @@ -50,7 +50,6 @@ namespace dxvk { struct DxvkColorAttachmentOps { VkAttachmentLoadOp loadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; VkImageLayout loadLayout = VK_IMAGE_LAYOUT_UNDEFINED; - VkAttachmentStoreOp storeOp = VK_ATTACHMENT_STORE_OP_STORE; VkImageLayout storeLayout = VK_IMAGE_LAYOUT_GENERAL; }; @@ -65,8 +64,6 @@ namespace dxvk { VkAttachmentLoadOp loadOpD = VK_ATTACHMENT_LOAD_OP_DONT_CARE; VkAttachmentLoadOp loadOpS = VK_ATTACHMENT_LOAD_OP_DONT_CARE; VkImageLayout loadLayout = VK_IMAGE_LAYOUT_UNDEFINED; - VkAttachmentStoreOp storeOpD = VK_ATTACHMENT_STORE_OP_STORE; - VkAttachmentStoreOp storeOpS = VK_ATTACHMENT_STORE_OP_STORE; VkImageLayout storeLayout = VK_IMAGE_LAYOUT_GENERAL; };