|
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::Set< 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::Set< 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 | |