Nebula
|
#include "core/refcounted.h"
#include "util/tupleutility.h"
#include "coregraphics/shader.h"
#include "coregraphics/sampler.h"
#include "coregraphics/resourcetable.h"
#include "vkshaderprogram.h"
Go to the source code of this file.
Classes | |
struct | Vulkan::DescriptorSetBinding |
struct | Vulkan::BufferMapping |
struct | Vulkan::VkShaderRuntimeInfo |
struct | Vulkan::VkShaderSetupInfo |
struct | Vulkan::VkReflectionInfo |
struct | Vulkan::VkReflectionInfo::UniformBuffer |
struct | Vulkan::VkReflectionInfo::Variable |
Namespaces | |
namespace | AnyFX |
Implements a shader effect (using AnyFX) in Vulkan. | |
namespace | Vulkan |
Vulkan implementation of GPU acceleration structure. | |
Typedefs | |
typedef Util::Dictionary< Util::StringAtom, CoreGraphics::BufferId > | Vulkan::UniformBufferMap |
typedef Util::Dictionary< uint32_t, Util::Array< CoreGraphics::BufferId > > | Vulkan::UniformBufferGroupMap |
typedef Util::Dictionary< CoreGraphics::ShaderFeature::Mask, CoreGraphics::ShaderProgramId > | Vulkan::ProgramMap |
typedef Ids::IdAllocator< VkReflectionInfo, VkShaderSetupInfo, VkShaderRuntimeInfo, Util::Array< CoreGraphics::ShaderProgramId > > | Vulkan::ShaderAllocator |
this member allocates shaders | |
Enumerations | |
enum | { Vulkan::Shader_ReflectionInfo , Vulkan::Shader_SetupInfo , Vulkan::Shader_RuntimeInfo , Vulkan::Shader_Programs } |
Functions | |
const VkProgramReflectionInfo & | Vulkan::ShaderGetProgramReflection (const CoreGraphics::ShaderProgramId shaderProgramId) |
Use direct resource ids, not the State, Shader or Variable type ids. | |
void | Vulkan::ShaderSetup (VkDevice dev, const Util::StringAtom &name, AnyFX::ShaderEffect *effect, Util::FixedArray< CoreGraphics::ResourcePipelinePushConstantRange > &constantRange, Util::Array< CoreGraphics::SamplerId > &immutableSamplers, Util::FixedArray< Util::Pair< uint32_t, CoreGraphics::ResourceTableLayoutId > > &setLayouts, Util::Dictionary< uint32_t, uint32_t > &setLayoutMap, CoreGraphics::ResourcePipelineId &pipelineLayout, Util::Dictionary< Util::StringAtom, uint32_t > &resourceSlotMapping, Util::Dictionary< Util::StringAtom, IndexT > &constantBindings) |
create descriptor set layout | |
void | Vulkan::ShaderCleanup (VkDevice dev, Util::Array< CoreGraphics::SamplerId > &immutableSamplers, Util::FixedArray< Util::Pair< uint32_t, CoreGraphics::ResourceTableLayoutId > > &setLayouts, Util::Dictionary< Util::StringAtom, CoreGraphics::BufferId > &buffers, CoreGraphics::ResourcePipelineId &pipelineLayout) |
cleanup shader | |
Util::String | Vulkan::VkShaderCreateSignature (const VkDescriptorSetLayoutBinding &bind) |
create descriptor layout signature | |