]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/pipelinecache.cpp
Discard render target contents only if the entire mip level is used
[libs/gl.git] / source / backends / vulkan / pipelinecache.cpp
index 8cc447aedbf91c2bf8f68cb302483637d2aaaa8a..1568e6431c9716bff03569417548db7849130c86 100644 (file)
@@ -76,7 +76,7 @@ VkRenderPass PipelineCache::get_render_pass(const FrameFormat &format, bool clea
                attachments[i].storeOp = VK_ATTACHMENT_STORE_OP_STORE;
                attachments[i].stencilLoadOp = VK_ATTACHMENT_LOAD_OP_LOAD;
                attachments[i].stencilStoreOp = VK_ATTACHMENT_STORE_OP_STORE;
-               attachments[i].initialLayout = (clear ? VK_IMAGE_LAYOUT_UNDEFINED : external_layout);
+               attachments[i].initialLayout = ((clear && discard) ? VK_IMAGE_LAYOUT_UNDEFINED : external_layout);
                attachments[i].finalLayout = external_layout;
 
                if(subpass_layout==VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL)