CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
VKPipelineLayout.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "VKCommon.hpp"
11
14
16
18
19namespace CeresEngine {
20
21 class VKDevice;
22
29
84
85} // namespace CeresEngine
#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)
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 Span.hpp:668
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