From d0a00e08f9bbcefa2f562378580f57886a4b3bb0 Mon Sep 17 00:00:00 2001 From: "petr.kiyashko" Date: Thu, 23 Oct 2025 23:15:58 +0200 Subject: [PATCH 1/2] Added compare options to samplers for shadow sampling. --- etna/include/etna/Sampler.hpp | 2 ++ etna/source/Sampler.cpp | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/etna/include/etna/Sampler.hpp b/etna/include/etna/Sampler.hpp index 2afc28a..f43d870 100644 --- a/etna/include/etna/Sampler.hpp +++ b/etna/include/etna/Sampler.hpp @@ -21,6 +21,8 @@ class Sampler std::string_view name; float minLod = 0.0f; float maxLod = VK_LOD_CLAMP_NONE; + bool compareEnable = false; + vk::CompareOp compareOp = vk::CompareOp::eLessOrEqual; }; explicit Sampler(CreateInfo info); diff --git a/etna/source/Sampler.cpp b/etna/source/Sampler.cpp index 87504c1..3e59f68 100644 --- a/etna/source/Sampler.cpp +++ b/etna/source/Sampler.cpp @@ -17,9 +17,10 @@ Sampler::Sampler(CreateInfo info) .addressModeW = info.addressMode, .mipLodBias = 0.0f, .maxAnisotropy = 1.0f, + .compareEnable = static_cast(info.compareEnable), + .compareOp = info.compareOp, .minLod = info.minLod, .maxLod = info.maxLod, - .borderColor = vk::BorderColor::eFloatOpaqueWhite, }; sampler = unwrap_vk_result(etna::get_context().getDevice().createSamplerUnique(createInfo)); etna::set_debug_name(sampler.get(), info.name.data()); From 937db010ee397d5fac8fcf25c3b81c17e92d69e6 Mon Sep 17 00:00:00 2001 From: "petr.kiyashko" Date: Sun, 28 Dec 2025 14:19:32 +0100 Subject: [PATCH 2/2] Corrected comment on BlockingTransferHelper::uploadImage (we do support mip/layer now) --- etna/include/etna/BlockingTransferHelper.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etna/include/etna/BlockingTransferHelper.hpp b/etna/include/etna/BlockingTransferHelper.hpp index 8455c4c..48d6949 100644 --- a/etna/include/etna/BlockingTransferHelper.hpp +++ b/etna/include/etna/BlockingTransferHelper.hpp @@ -61,7 +61,7 @@ class BlockingTransferHelper OneShotCmdMgr& cmd_mgr, std::span dst, const Buffer& src, std::uint32_t offset); - // NOTE: uploads only mip 0 and layer 0 for now and doesn't support 3D images + // NOTE: for now doesn't support 3D images void uploadImage( OneShotCmdMgr& cmd_mgr, Image& dst,