diff --git a/projects/voxelization/src/main.cpp b/projects/voxelization/src/main.cpp index f707bb44625ad89c8831507901b03262779a8965..e50f6b186d2081894451e005bc0ffb97dad5afe4 100644 --- a/projects/voxelization/src/main.cpp +++ b/projects/voxelization/src/main.cpp @@ -527,6 +527,7 @@ int main(int argc, const char** argv) { core.writeDescriptorSet(forwardShadingDescriptorSet, forwardDescriptorWrites); vkcv::upscaling::FSRUpscaling upscaling (core); + uint32_t fsrWidth = windowWidth, fsrHeight = windowHeight; float fsrFactor = 1.5f; float rcasSharpness = upscaling.getSharpness(); @@ -566,10 +567,13 @@ int main(int argc, const char** argv) { fsrFactor = 2.0f; } - const auto fsrWidth = static_cast<uint32_t>(std::round(static_cast<float>(swapchainWidth) / fsrFactor)); - const auto fsrHeight = static_cast<uint32_t>(std::round(static_cast<float>(swapchainHeight) / fsrFactor)); + const auto width = static_cast<uint32_t>(std::round(static_cast<float>(swapchainWidth) / fsrFactor)); + const auto height = static_cast<uint32_t>(std::round(static_cast<float>(swapchainHeight) / fsrFactor)); - if ((fsrWidth != windowWidth) || ((fsrHeight != windowHeight))) { + if ((width != fsrWidth) || ((height != fsrHeight))) { + fsrWidth = width; + fsrHeight = height; + depthBuffer = core.createImage(depthBufferFormat, fsrWidth, fsrHeight, 1, false, false, false, msaa).getHandle(); colorBuffer = core.createImage(colorBufferFormat, fsrWidth, fsrHeight, 1, false, colorBufferRequiresStorage, true, msaa).getHandle(); @@ -581,9 +585,6 @@ int main(int argc, const char** argv) { swapBuffer = core.createImage(colorBufferFormat, fsrWidth, fsrHeight, 1, false, true).getHandle(); - windowWidth = swapchainWidth; - windowHeight = swapchainHeight; - bloomFlares.updateImageDimensions(swapchainWidth, swapchainHeight); } diff --git a/src/vkcv/DescriptorManager.cpp b/src/vkcv/DescriptorManager.cpp index 226cf50817fc347a5c8db5f250b1e0af9a2e4fde..8afd50a3ba8259a487a71e578f60459afa7192cf 100644 --- a/src/vkcv/DescriptorManager.cpp +++ b/src/vkcv/DescriptorManager.cpp @@ -11,10 +11,14 @@ namespace vkcv * Allocate the set size for the descriptor pools, namely 1000 units of each descriptor type below. * Finally, create an initial pool. */ - m_PoolSizes = { vk::DescriptorPoolSize(vk::DescriptorType::eSampler, 1000), - vk::DescriptorPoolSize(vk::DescriptorType::eSampledImage, 1000), - vk::DescriptorPoolSize(vk::DescriptorType::eUniformBuffer, 1000), - vk::DescriptorPoolSize(vk::DescriptorType::eStorageBuffer, 1000) }; + m_PoolSizes = { + vk::DescriptorPoolSize(vk::DescriptorType::eSampler, 1000), + vk::DescriptorPoolSize(vk::DescriptorType::eSampledImage, 1000), + vk::DescriptorPoolSize(vk::DescriptorType::eUniformBuffer, 1000), + vk::DescriptorPoolSize(vk::DescriptorType::eStorageBuffer, 1000), + vk::DescriptorPoolSize(vk::DescriptorType::eUniformBufferDynamic, 1000), + vk::DescriptorPoolSize(vk::DescriptorType::eStorageBufferDynamic, 1000) + }; m_PoolInfo = vk::DescriptorPoolCreateInfo( vk::DescriptorPoolCreateFlagBits::eFreeDescriptorSet, diff --git a/src/vkcv/SamplerManager.cpp b/src/vkcv/SamplerManager.cpp index a6ebb95b5e237dcd06ed8041b3f16489f7339d6a..ecc6de092f23e86954a7929cb596309e0e2ff32f 100644 --- a/src/vkcv/SamplerManager.cpp +++ b/src/vkcv/SamplerManager.cpp @@ -86,8 +86,8 @@ namespace vkcv { 16.0f, false, vk::CompareOp::eAlways, - 0.0f, - 16.0f, + -1000.0f, + 1000.0f, vk::BorderColor::eIntOpaqueBlack, false );