22 class VKPipelineLayout;
23 class VKCommandBuffer;
#define CE_EXPLICIT_FALSE
Definition Macros.hpp:416
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
A RenderAPI object that holds a set of resources that can be bound into shader.
Definition GPUResourceSet.hpp:735
GPUPipelineLayout & pipelineLayout
The owning pipeline layout object this ResourceSet was created from.
Definition GPUResourceSet.hpp:738
const Descriptor & descriptor
A structure that describes the object and it's properties.
Definition Common.hpp:69
Definition VKCommon.hpp:143
Definition VKPipelineLayout.hpp:30
Definition VKResourceSet.hpp:51
VKPipelineLayoutPtr mPipelineLayout
The pipeline layout used to create and allocate the ResourceSet object.
Definition VKResourceSet.hpp:61
VKResourceSet(VKPipelineLayout &pipelineLayout, const GPUResourceSetDescriptor &descriptor, UInt32 set=0)
void destroy() noexcept final
UInt32 mSet
Definition VKResourceSet.hpp:66
GPUResourceSetDescriptor mDescriptor
The descriptors holding the data for the ResourceSet.
Definition VKResourceSet.hpp:57
VkDescriptorSet mDescriptorSet
The Vulkan ResourceSet object.
Definition VKResourceSet.hpp:54
static Allocator & getAllocator() noexcept
Returns the allocator for VKResourceSet.
SmallVector< VKImageViewPtr, 16, VKAllocator > mImageViews
The image views used by the resource set.
Definition VKResourceSet.hpp:64
VKObjectAllocator Allocator
An allocator type used to allocate new VKResourceSet instances from a memory pool.
Definition VKResourceSet.hpp:77
Definition Application.hpp:19
VKAllocator & gVKAllocator()
sfl::small_vector< T, N, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > SmallVector
SmallVector is a sequence container similar to Vector.
Definition SmallVector.hpp:31
ThreadSafeAllocator< MemoryPool< NodePool, AllocatorReference< VKAllocator > > > VKObjectAllocator
A pool allocator to be used for individual object pools.
Definition VKCommon.hpp:59
Vector< T, VKAllocator > VKVector
Definition VKCommon.hpp:73
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition GPUResourceSet.hpp:716
Helper structure to handle buffer and image information for a descriptor set.
Definition VKResourceSet.hpp:27
VKVector< VkDescriptorImageInfo > imageInfos
Definition VKResourceSet.hpp:44
VKVector< VkWriteDescriptorSet > writeDescriptors
Definition VKResourceSet.hpp:47
VKWriteDescriptorContainer()
VkDescriptorBufferInfo * nextBufferInfo()
VKWriteDescriptorContainer & operator=(VKWriteDescriptorContainer &&)=default
VKWriteDescriptorContainer(const VKWriteDescriptorContainer &)=default
UInt32 numWriteDescriptors
Definition VKResourceSet.hpp:48
VKVector< VkDescriptorBufferInfo > bufferInfos
Definition VKResourceSet.hpp:41
VKWriteDescriptorContainer(std::size_t numResourceViewsMax)
UInt32 numImageInfos
Definition VKResourceSet.hpp:45
VKWriteDescriptorContainer & operator=(const VKWriteDescriptorContainer &)=default
VkDescriptorImageInfo * nextImageInfo()
VKWriteDescriptorContainer(VKWriteDescriptorContainer &&)=default
UInt32 numBufferInfos
Definition VKResourceSet.hpp:42
VkWriteDescriptorSet * nextWriteDescriptor()