From aa20f2aa2639c48e9b0516fb4e4c093034bac07f Mon Sep 17 00:00:00 2001 From: saschawillems Date: Thu, 1 Jun 2017 21:56:20 +0200 Subject: [PATCH] Proper image layout in descriptor, enable anisotropic filtering (refs #277) --- ssao/ssao.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ssao/ssao.cpp b/ssao/ssao.cpp index ca743acd..7a9d5706 100644 --- a/ssao/ssao.cpp +++ b/ssao/ssao.cpp @@ -217,6 +217,15 @@ public: textures.ssaoNoise.destroy(); } + virtual void getEnabledFeatures() + { + // Enable anisotropic filtering if supported + if (deviceFeatures.samplerAnisotropy) { + enabledFeatures.samplerAnisotropy = VK_TRUE; + }; + } + + // Create a frame buffer attachment void createAttachment( VkFormat format, @@ -811,9 +820,8 @@ public: VK_CHECK_RESULT(vkCreatePipelineLayout(device, &pipelineLayoutCreateInfo, nullptr, &pipelineLayouts.ssaoBlur)); descriptorAllocInfo.pSetLayouts = &descriptorSetLayouts.ssaoBlur; VK_CHECK_RESULT(vkAllocateDescriptorSets(device, &descriptorAllocInfo, &descriptorSets.ssaoBlur)); - // todo imageDescriptors = { - vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.ssao.color.view, VK_IMAGE_LAYOUT_GENERAL), + vks::initializers::descriptorImageInfo(colorSampler, frameBuffers.ssao.color.view, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL), }; writeDescriptorSets = { vks::initializers::writeDescriptorSet(descriptorSets.ssaoBlur, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 0, &imageDescriptors[0]),