6 class RHIDeviceSampler;
7 class RHIDeviceDescriptorPool;
8 class RHIDeviceDescriptorSetLayout;
9 class RHIAccelerationStructure;
76 return pool->GetDescriptorSet(handle);
79 pool->DestroyDescriptorSet(handle);
Definition Resource.hpp:291
Definition Resource.hpp:57
Definition Descriptor.hpp:49
const RHIDevice & mDevice
Definition Descriptor.hpp:51
RHIDeviceDescriptorPool(RHIDevice const &device, PoolDesc const &desc)
Definition Descriptor.hpp:64
virtual void DestroyDescriptorSet(Handle handle)=0
virtual void DebugSetObjectName(const char *name)=0
virtual RHIDeviceDescriptorSet * GetDescriptorSet(Handle handle) const =0
struct Foundation::RHI::RHIDeviceDescriptorPool::PoolDesc mDesc
virtual RHIDeviceDescriptorPoolScopedHandle< RHIDeviceDescriptorSet > CreateDescriptorSet(RHIDeviceHandle< RHIDeviceDescriptorSetLayout >, uint32_t max_variable_count=0)=0
Definition Descriptor.hpp:12
RHIDeviceDescriptorSet(RHIDeviceDescriptorPool const &pool)
Definition Descriptor.hpp:16
const RHIDeviceDescriptorPool & mPool
Definition Descriptor.hpp:14
virtual void Update(UpdateDesc const &desc)=0
virtual void DebugSetObjectName(const char *name)=0
Definition Device.hpp:104
Definition Device.hpp:189
Handle type for RHI Objects.
Definition Details.hpp:42
Base class for all RHI objects.
Definition Details.hpp:16
Scoped move-only RAII handle wrapper for RHI Objects.
Definition Details.hpp:86
Definition Resource.hpp:211
T * Construct(Allocator *resource, Args &&...args)
Convenience placement new with object of type T using a Foundation::Core::Allocator.
Definition Allocator.hpp:149
std::span< T > Span
Alias for std::span
Definition Container.hpp:60
Low-level Rendering Hardware Interface (RHI) abstractions.
Definition Application.hpp:4
RHITextureLayout
Definition Common.hpp:148
uintptr_t Handle
Definition Details.hpp:8
RHIDescriptorType
Definition Common.hpp:183
static constexpr size_t kFullSize
Definition Common.hpp:8
Definition Descriptor.hpp:54
uint32_t maxCount
Definition Descriptor.hpp:56
RHIDescriptorType type
Definition Descriptor.hpp:55
Definition Descriptor.hpp:53
Span< const Binding > bindings
Definition Descriptor.hpp:59
bool updateAfterBind
Definition Descriptor.hpp:62
Definition Descriptor.hpp:34
RHIAccelerationStructure * as
Definition Descriptor.hpp:35
Definition Descriptor.hpp:21
size_t size
Definition Descriptor.hpp:24
RHIBuffer * buffer
Definition Descriptor.hpp:22
size_t offset
Definition Descriptor.hpp:23
Definition Descriptor.hpp:27
RHITextureLayout layout
Definition Descriptor.hpp:30
RHIDeviceSampler * sampler
Definition Descriptor.hpp:29
RHITextureView * imageView
Definition Descriptor.hpp:28
Definition Descriptor.hpp:17
size_t startIndex
Definition Descriptor.hpp:19
RHIDescriptorType type
Definition Descriptor.hpp:20
Span< const Buffer > buffers
Definition Descriptor.hpp:26
size_t binding
Definition Descriptor.hpp:18
Span< const Image > images
Definition Descriptor.hpp:32
Span< const AccelerationStructure > accelerationStructures
Definition Descriptor.hpp:37
static void Destroy(RHIDeviceDescriptorPool *pool, Handle handle)
Definition Descriptor.hpp:78
static RHIDeviceDescriptorSet * Get(RHIDeviceDescriptorPool const *pool, Handle handle)
Definition Descriptor.hpp:75
Provides type traits for types derived from RHIObject.
Definition Details.hpp:30