HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
pipeline_SDF_specialization_constants.hpp
1// Copyright Take Vos 2020.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "../rapid/sfloat_rg32.hpp"
8#include <vulkan/vulkan.hpp>
9
10namespace hi::inline v1::pipeline_SDF {
11
13 float sdf_r8maxDistance;
14 float atlasImageWidth;
15
16 [[nodiscard]] vk::SpecializationInfo specializationInfo(std::vector<vk::SpecializationMapEntry> &entries) const noexcept
17 {
18 return {narrow_cast<uint32_t>(ssize(entries)), entries.data(), sizeof(specialization_constants), this};
19 }
20
21 [[nodiscard]] static std::vector<vk::SpecializationMapEntry> specializationConstantMapEntries() noexcept
22 {
23 return {
24 {0, offsetof(specialization_constants, sdf_r8maxDistance), sizeof(sdf_r8maxDistance)},
25 {1, offsetof(specialization_constants, atlasImageWidth), sizeof(atlasImageWidth)},
26 };
27 }
28};
29
30} // namespace hi::inline v1::pipeline_SDF
Definition pipeline_SDF_specialization_constants.hpp:12
T data(T... args)