Class VulkanRootSignature#

Inheritance Relationships#

Base Type#

Class Documentation#

class VulkanRootSignature : public TRAP::Graphics::RootSignature#

Public Functions

explicit VulkanRootSignature(const RendererAPI::RootSignatureDesc &desc)#

Constructor.

Parameters:

desc – Root signature description.

~VulkanRootSignature() override#

Destructor.

consteval VulkanRootSignature(const VulkanRootSignature&) = delete#

Copy constructor.

consteval VulkanRootSignature &operator=(const VulkanRootSignature&) = delete#

Copy assignment operator.

VulkanRootSignature(VulkanRootSignature&&) noexcept = default#

Move constructor.

VulkanRootSignature &operator=(VulkanRootSignature&&) noexcept = default#

Move assignment operator.

constexpr VkPipelineLayout GetVkPipelineLayout() const noexcept#

Retrieve the Vulkan pipeline layout.

Returns:

Vulkan pipeline layout.

constexpr const std::array<VkDescriptorSetLayout, RendererAPI::MaxDescriptorSets> &GetVkDescriptorSetLayouts() const noexcept#

Retrieve the root signature’s Vulkan descriptor set layouts.

Returns:

Vulkan descriptor set layouts.

constexpr const std::array<u32, RendererAPI::MaxDescriptorSets> &GetVkCumulativeDescriptorCounts() const noexcept#

Retrieve the root signature’s Vulkan cumulative descriptor counts.

Returns:

Vulkan cumulative descriptor counts.

constexpr const std::array<u16, RendererAPI::MaxDescriptorSets> &GetVkDescriptorCounts() const noexcept#

Retrieve the root signature’s Vulkan descriptor counts.

Returns:

Vulkan descriptor counts.

constexpr const std::array<u8, RendererAPI::MaxDescriptorSets> &GetVkDynamicDescriptorCounts() const noexcept#

Retrieve the root signature’s Vulkan dynamic descriptor counts.

Returns:

Vulkan dynamic descriptor counts.

constexpr const std::array<u8, RendererAPI::MaxDescriptorSets> &GetVkRayTracingDescriptorCounts() const noexcept#

Retrieve the root signature’s Vulkan RayTracing descriptor counts.

Returns:

Vulkan RayTracing descriptor counts.

constexpr const std::array<VkDescriptorUpdateTemplate, RendererAPI::MaxDescriptorSets> &GetUpdateTemplates() const noexcept#

Retrieve the root signature’s Vulkan descriptor update templates.

Returns:

Vulkan descriptor update templates.

constexpr const std::array<VkDescriptorSet, RendererAPI::MaxDescriptorSets> &GetVkEmptyDescriptorSets() const noexcept#

Retrieve the root signature’s empty Vulkan descriptor sets.

Returns:

Vulkan empty descriptor sets.

constexpr const std::array<std::vector<VulkanRenderer::DescriptorUpdateData>, RendererAPI::MaxDescriptorSets> &GetUpdateTemplateData() const noexcept#

Retrieve the root signature’s descriptor update data.

Returns:

Descriptor update data.

const RendererAPI::DescriptorInfo *GetDescriptor(std::string_view resName) const#

Retrieve a descriptor via its name.

Returns:

Descriptor if found, nullptr otherwise.