Nameless Engine
|
#include <DescriptorSetLayoutGenerator.h>
Classes | |
struct | Collected |
struct | Generated |
Public Member Functions | |
DescriptorSetLayoutGenerator (const DescriptorSetLayoutGenerator &)=delete | |
DescriptorSetLayoutGenerator & | operator= (const DescriptorSetLayoutGenerator &)=delete |
Static Public Member Functions | |
static std::variant< Collected, Error > | collectInfoFromBytecode (void *pSpirvBytecode, size_t iSizeInBytes) |
static std::variant< Generated, Error > | generateGraphics (VulkanRenderer *pRenderer, GlslShader *pVertexShader, GlslShader *pFragmentShader) |
static std::variant< Generated, Error > | generateCompute (VulkanRenderer *pRenderer, GlslShader *pComputeShader) |
Static Private Member Functions | |
static std::variant< std::pair< VkDescriptorSetLayoutBinding, VkDescriptorBindingFlags >, Error > | generateLayoutBinding (uint32_t iBindingIndex, const Collected::DescriptorSetLayoutBindingInfo &bindingInfo, bool bIsComputeShader) |
Generates Descriptor Set Layout based on GLSL code.
|
static |
Collection information from the specified SPIR-V bytecode that can be used to generate a descriptor set layout.
pSpirvBytecode | SPIR-V bytecode to analyze. |
iSizeInBytes | Size of bytecode in bytes. |
|
static |
Generates a new descriptor layout, pool and descriptor sets using the specified compute shader.
pRenderer | Vulkan renderer. |
pComputeShader | Compute shader. |
|
static |
Generates a new descriptor layout, pool and descriptor sets using the specified vertex and fragment shaders.
pRenderer | Vulkan renderer. |
pVertexShader | Vertex shader. |
pFragmentShader | Fragment shader. Specify nullptr to generate descriptor layout only for vertex shader. |
|
staticprivate |
Generates Vulkan layout binding that could be used to create a descriptor set layout.
iBindingIndex | Index of the binding that was specified in the GLSL code. |
bindingInfo | Information about the GLSL resource used in this binding. |
bIsComputeShader | true if this binding is being generated for a compute shader, otherwise false . |