Nebula
Loading...
Searching...
No Matches
vkshader.h File Reference

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::BufferIdVulkan::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 VkProgramReflectionInfoVulkan::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