3#include "spark/render/DescriptorSet.h"
4#include "spark/render/vk/Export.h"
5#include "spark/render/vk/VulkanSampler.h"
9namespace spark::render::vk
26 explicit VulkanDescriptorLayout(DescriptorType type,
unsigned int binding, std::size_t element_size,
unsigned int descriptors = 1);
42 [[nodiscard]] std::
size_t elementSize() const noexcept override;
45 [[nodiscard]]
unsigned binding() const noexcept override;
48 [[nodiscard]] BufferType type() const noexcept override;
51 [[nodiscard]] DescriptorType descriptorType() const noexcept override;
54 [[nodiscard]]
unsigned descriptors() const noexcept override;
57 [[nodiscard]] const
IVulkanSampler* staticSampler() const noexcept override;
61 std::unique_ptr<
Impl> m_impl;
Describes a the layout of a single descriptor within a DescriptorSet.
Definition DescriptorSet.h:74
Interface for Vulkan sampler.
Definition VulkanSampler.h:22
Implements a Vulkan IDescriptorLayout.
Definition VulkanDescriptorLayout.h:17
VulkanDescriptorLayout(std::unique_ptr< IVulkanSampler > &&static_sampler, unsigned int binding)
Initializes a new Vulkan descriptor layout for a static sampler.
VulkanDescriptorLayout(DescriptorType type, unsigned int binding, std::size_t element_size, unsigned int descriptors=1)
Initializes a new Vulkan descriptor layout.
Definition VulkanDescriptorLayout.cpp:8