-
Artur Wasmut authored
This reverts commit 7fae0111.
Artur Wasmut authoredThis reverts commit 7fae0111.
DescriptorConfig.hpp 1.16 KiB
#pragma once
#include <vulkan/vulkan.hpp>
#include "vkcv/Handles.hpp"
#include "vkcv/ShaderStage.hpp"
namespace vkcv
{
struct DescriptorSet
{
vk::DescriptorSet vulkanHandle;
vk::DescriptorSetLayout layout;
};
/*
* All the types of descriptors (resources) that can be retrieved by the shaders
*/
enum class DescriptorType
{
UNIFORM_BUFFER,
STORAGE_BUFFER,
SAMPLER,
IMAGE_SAMPLED,
IMAGE_STORAGE
};
/*
* One binding for a descriptor set
* @param[in] a unique binding ID
* @param[in] a descriptor type
* @param[in] the number of descriptors of this type (arrays of the same type possible)
* @param[in] the shader stage where the descriptor is supposed to be retrieved
*/
struct DescriptorBinding
{
DescriptorBinding(
uint32_t bindingID,
DescriptorType descriptorType,
uint32_t descriptorCount,
ShaderStages shaderStages
) noexcept;
uint32_t bindingID;
DescriptorType descriptorType;
uint32_t descriptorCount;
ShaderStages shaderStages;
};
}