|
Vulkan Schnee 0.0.1
High-performance rendering engine
|
The Descriptor set updater is used to create a list of descriptor set writes which are executed with update() More...
#include <DescriptorSetUpdater.h>
Public Member Functions | |
| DescriptorSetUpdater (VkDescriptorSet dstSet) | |
| DescriptorSetUpdater & | addStorageBuffer (uint32_t binding, const VkDescriptorBufferInfo *pBufferInfo) |
| Adds a storage buffer (glsl std430 buffer) to the chain of updates to execute. | |
| DescriptorSetUpdater & | addStorageBuffer (uint32_t binding, const VkDescriptorBufferInfo &bufferInfo) |
| Add a storage buffer (glsl std430 buffer) to the chain of updates to execute. | |
| DescriptorSetUpdater & | addUniformBuffer (uint32_t binding, const VkDescriptorBufferInfo *pBufferInfo) |
| Adds a uniform buffer (glsl std140 buffer) to the chain of updates to execute. | |
| DescriptorSetUpdater & | addUniformBuffer (uint32_t binding, const VkDescriptorBufferInfo &bufferInfo) |
| Add a uniform buffer (glsl std140 buffer) to the chain of updates to execute. | |
| DescriptorSetUpdater & | addTextureArrayIf (const bool condition, uint32_t binding, std::vector< VkDescriptorImageInfo > *imageInfos) |
| Adds updates to texture array. | |
| DescriptorSetUpdater & | addCombinedImageSampler (uint32_t binding, const VkDescriptorImageInfo *pImageInfo) |
| Adds a combined image sampler to the chain of updates. | |
| DescriptorSetUpdater & | addStorageImage (uint32_t binding, const VkDescriptorImageInfo *pImageInfo) |
| Adds a storage image to the chain of updates. | |
| void | update (VkDevice device) const |
| Updates the bindings on a descriptor sets. | |
Private Attributes | |
| VkDescriptorSet | dstSet = VK_NULL_HANDLE |
| std::vector< VkWriteDescriptorSet > | writeDescriptorSets |
| std::deque< VkDescriptorBufferInfo > | bufferInfoStorage |
| std::deque< VkDescriptorImageInfo > | imageInfoStorage |
The Descriptor set updater is used to create a list of descriptor set writes which are executed with update()
Definition at line 14 of file DescriptorSetUpdater.h.
| EngineCore::DescriptorSetUpdater::DescriptorSetUpdater | ( | VkDescriptorSet | dstSet | ) |
Definition at line 6 of file DescriptorSetBuilder.cpp.
References dstSet.
Referenced by addCombinedImageSampler(), addStorageBuffer(), addStorageBuffer(), addStorageImage(), addTextureArrayIf(), addUniformBuffer(), and addUniformBuffer().
|
nodiscard |
Adds a combined image sampler to the chain of updates.
| binding | which binding to write the update to |
| pImageInfo | vulkan image info pointer which describes the image and sampler |
Definition at line 91 of file DescriptorSetBuilder.cpp.
References DescriptorSetUpdater(), dstSet, imageInfoStorage, and writeDescriptorSets.
Referenced by EngineCore::Renderer::updateHiZMipDescriptorSets().
|
nodiscard |
Add a storage buffer (glsl std430 buffer) to the chain of updates to execute.
| binding | which binding to write the update to |
| bufferInfo | vulkan buffer info reference which describes how to update the buffer data |
Definition at line 42 of file DescriptorSetBuilder.cpp.
References bufferInfoStorage, DescriptorSetUpdater(), dstSet, and writeDescriptorSets.
|
nodiscard |
Adds a storage buffer (glsl std430 buffer) to the chain of updates to execute.
| binding | which binding to write the update to |
| pBufferInfo | vulkan buffer info pointer which describes how to update the buffer data |
Definition at line 10 of file DescriptorSetBuilder.cpp.
References bufferInfoStorage, DescriptorSetUpdater(), dstSet, and writeDescriptorSets.
Referenced by EngineCore::RenderProcess::updateRendererDescriptorSets().
|
nodiscard |
Adds a storage image to the chain of updates.
| binding | which binding to write the update to |
| pImageInfo | vulkan image info pointer which describes the storage image |
Definition at line 106 of file DescriptorSetBuilder.cpp.
References DescriptorSetUpdater(), dstSet, imageInfoStorage, and writeDescriptorSets.
Referenced by EngineCore::Renderer::updateHiZMipDescriptorSets().
|
nodiscard |
Adds updates to texture array.
| condition | if the condition is satisfied the update proceeds |
| binding | which binding the texture array is at |
| imageInfos | which textures to update |
Definition at line 74 of file DescriptorSetBuilder.cpp.
References DescriptorSetUpdater(), dstSet, and writeDescriptorSets.
Referenced by EngineCore::RenderProcess::updateRendererDescriptorSets().
|
nodiscard |
Add a uniform buffer (glsl std140 buffer) to the chain of updates to execute.
| binding | which binding to write the update to |
| bufferInfo | vulkan buffer info reference which describes how to update the buffer data |
Definition at line 58 of file DescriptorSetBuilder.cpp.
References bufferInfoStorage, DescriptorSetUpdater(), dstSet, and writeDescriptorSets.
|
nodiscard |
Adds a uniform buffer (glsl std140 buffer) to the chain of updates to execute.
| binding | which binding to write the update to |
| pBufferInfo | vulkan buffer info pointer which describes how t oupdate the buffer data |
Definition at line 26 of file DescriptorSetBuilder.cpp.
References bufferInfoStorage, DescriptorSetUpdater(), dstSet, and writeDescriptorSets.
Referenced by EngineCore::RenderProcess::updateRendererDescriptorSets().
| void EngineCore::DescriptorSetUpdater::update | ( | VkDevice | device | ) | const |
Updates the bindings on a descriptor sets.
| device | which device holds the data |
Definition at line 121 of file DescriptorSetBuilder.cpp.
References writeDescriptorSets.
Referenced by EngineCore::Renderer::updateHiZMipDescriptorSets(), and EngineCore::RenderProcess::updateRendererDescriptorSets().
|
private |
Definition at line 81 of file DescriptorSetUpdater.h.
Referenced by addStorageBuffer(), addStorageBuffer(), addUniformBuffer(), and addUniformBuffer().
|
private |
Definition at line 76 of file DescriptorSetUpdater.h.
Referenced by addCombinedImageSampler(), addStorageBuffer(), addStorageBuffer(), addStorageImage(), addTextureArrayIf(), addUniformBuffer(), addUniformBuffer(), and DescriptorSetUpdater().
|
private |
Definition at line 82 of file DescriptorSetUpdater.h.
Referenced by addCombinedImageSampler(), and addStorageImage().
|
private |
Definition at line 77 of file DescriptorSetUpdater.h.
Referenced by addCombinedImageSampler(), addStorageBuffer(), addStorageBuffer(), addStorageImage(), addTextureArrayIf(), addUniformBuffer(), addUniformBuffer(), and update().