#define CE_EXPLICIT_FALSE
Definition Macros.hpp:416
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
GPUDevice & device
The owning device this object was created from.
Definition Common.hpp:55
Definition GPUPipelineLayout.hpp:84
const Descriptor & descriptor
A structure that describes the object and it's properties.
Definition Common.hpp:69
Definition VKDevice.hpp:79
Definition VKCommon.hpp:143
Definition VKPipelineLayout.hpp:30
Vector< VkDescriptorSetLayout, VKAllocator > mDescriptorSetLayouts
The Vulkan ResourceSet layout object.
Definition VKPipelineLayout.hpp:39
VKPipelineLayout(VKDevice &device, const GPUPipelineLayoutDescriptor &descriptor)
~VKPipelineLayout() final
static Allocator & getAllocator() noexcept
Returns the allocator for VKPipelineLayout.
const GPUPipelineLayoutDescriptor descriptorVK
A structure that describes the pipeline layout and it's properties.
Definition VKPipelineLayout.hpp:33
VkPipelineLayout mPipelineLayout
The Vulkan pipeline layout object.
Definition VKPipelineLayout.hpp:36
VKObjectAllocator Allocator
An allocator type used to allocate new VKPipelineLayout instances from a memory pool.
Definition VKPipelineLayout.hpp:56
Map< UInt32, Vector< VKLayoutBinding >, std::less< UInt32 >, VKAllocator > mBindings
A vector of layout bindings.
Definition VKPipelineLayout.hpp:45
const Vector< VKLayoutBinding > & getBindings(const UInt32 set) const
Definition VKPipelineLayout.hpp:82
GPUResourceSetPtr createResourceSet(const GPUResourceSetDescriptor &descriptor, UInt32 setIndex=0) final
VkDescriptorPool mDescriptorPool
The Vulkan descriptor pool object.
Definition VKPipelineLayout.hpp:42
void destroy() noexcept final
VkDescriptorPool getDescriptorPool() const
Definition VKPipelineLayout.hpp:79
const Vector< VkDescriptorSetLayout, VKAllocator > & getDescriptorSetLayouts() const
Definition VKPipelineLayout.hpp:76
Definition Application.hpp:19
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
ThreadSafeAllocator< MemoryPool< NodePool, AllocatorReference< VKAllocator > > > VKObjectAllocator
A pool allocator to be used for individual object pools.
Definition VKCommon.hpp:59
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
std::map< Key, T, Compare, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > > Map
Map is a sorted associative container that contains key-value pairs with unique keys.
Definition Map.hpp:24
Definition Allocator.hpp:66
Pipeline layout descriptor structure.
Definition GPUPipelineLayout.hpp:70
Definition GPUResourceSet.hpp:716
Definition VKPipelineLayout.hpp:23
UInt32 destinationBinding
Definition VKPipelineLayout.hpp:24
VkDescriptorType descriptorType
Definition VKPipelineLayout.hpp:26
UInt32 arraySize
Definition VKPipelineLayout.hpp:25
VkImageLayout desiredImageLayout
Definition VKPipelineLayout.hpp:27