Foundation
Loading...
Searching...
No Matches
Descriptor.hpp
Go to the documentation of this file.
1#pragma once
3#include "Common.hpp"
4
5namespace Foundation::RHI {
6 class VulkanDevice;
7 class VulkanDeviceDescriptorPool;
8 class VulkanDeviceDescriptorSetLayout;
11 vk::raii::DescriptorSet mSet{ nullptr };
12 public:
13 VulkanDeviceDescriptorSet(VulkanDeviceDescriptorPool const& pool, vk::raii::DescriptorSet&& set);
14
15 void Update(UpdateDesc const& desc) override;
16
17 [[nodiscard]] auto const& GetVkDescriptorSet() const { return mSet; }
18
19 void DebugSetObjectName(const char* name) override;
20 };
23 vk::raii::DescriptorPool mPool{ nullptr };
25 public:
34 RHIDeviceDescriptorSet* GetDescriptorSet(Handle handle) const override;
35
36 void DestroyDescriptorSet(Handle handle) override;
37 auto const& GetDevice() const { return mDevice; }
38 auto const& GetVkDescriptorPool() const { return mPool; }
39
40 void DebugSetObjectName(const char* name) override;
41 };
42}
Definition Descriptor.hpp:43
Definition Descriptor.hpp:11
auto const & GetDevice() const
Definition Descriptor.hpp:37
RHIDeviceDescriptorPoolScopedHandle< RHIDeviceDescriptorSet > CreateDescriptorSet(RHIDeviceObjectHandle< RHIDeviceDescriptorSetLayout > layout, uint32_t max_variable_count) override
Create a descriptor set from this pool.
Definition Descriptor.cpp:100
void DestroyDescriptorSet(Handle handle) override
Definition Descriptor.cpp:123
const VulkanDevice & mDevice
Definition Descriptor.hpp:22
RHIObjectPool mStorage
Definition Descriptor.hpp:24
vk::raii::DescriptorPool mPool
Definition Descriptor.hpp:23
auto const & GetVkDescriptorPool() const
Definition Descriptor.hpp:38
RHIDeviceDescriptorSet * GetDescriptorSet(Handle handle) const override
Definition Descriptor.cpp:120
void DebugSetObjectName(const char *name) override
Definition Descriptor.cpp:127
const VulkanDeviceDescriptorPool & mPool
Definition Descriptor.hpp:10
auto const & GetVkDescriptorSet() const
Definition Descriptor.hpp:17
void Update(UpdateDesc const &desc) override
Definition Descriptor.cpp:11
void DebugSetObjectName(const char *name) override
Definition Descriptor.cpp:63
vk::raii::DescriptorSet mSet
Definition Descriptor.hpp:11
Definition Device.hpp:80
std::unique_ptr< T, StlDeleter< T > > UniquePtr
std::unique_ptr with custom deleter that uses a Foundation::Core::Allocator to deallocate memory.
Definition Allocator.hpp:161
Low-level Rendering Hardware Interface (RHI) abstractions.
Definition Application.hpp:5
uint64_t Handle
Definition Details.hpp:9