From 171cf53bc073ed022deb375f1e89d527caf87152 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Tue, 4 Dec 2018 23:20:40 +0100 Subject: [PATCH] [dxvk] Don't re-initialize 3D images when clearing render targets Layout transitions apply to the full subresource, even if we only render to one slice. Fixes #775 on Nvidia Kepler and Maxwell cards. --- src/dxvk/dxvk_context.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index f18c0c80..668dc5e7 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -515,7 +515,8 @@ namespace dxvk { if (clearAspects & VK_IMAGE_ASPECT_STENCIL_BIT) depthOp.loadOpS = VK_ATTACHMENT_LOAD_OP_CLEAR; - if (clearAspects == imageView->info().aspect) { + if (clearAspects == imageView->info().aspect + && imageView->imageInfo().type != VK_IMAGE_TYPE_3D) { colorOp.loadLayout = VK_IMAGE_LAYOUT_UNDEFINED; depthOp.loadLayout = VK_IMAGE_LAYOUT_UNDEFINED; }