|
Nebula
|
#include "core/refcounted.h"#include "coregraphics/shaderfeature.h"#include "coregraphics/resourcetable.h"#include "util/arraystack.h"#include "util/serialize.h"Go to the source code of this file.
Classes | |
| struct | Vulkan::VkShaderProgramSetupInfo |
| struct | Vulkan::VkShaderProgramRuntimeInfo |
| struct | Vulkan::VkProgramReflectionInfo |
Namespaces | |
| namespace | Vulkan |
| Vulkan implementation of GPU acceleration structure. | |
Typedefs | |
| typedef Ids::IdAllocator< VkShaderProgramSetupInfo, VkProgramReflectionInfo, VkShaderProgramRuntimeInfo > | Vulkan::ShaderProgramAllocator |
Enumerations | |
| enum | { Vulkan::ShaderProgram_SetupInfo , Vulkan::ShaderProgram_ReflectionInfo , Vulkan::ShaderProgram_RuntimeInfo } |
Functions | |
| void | Vulkan::VkShaderProgramDiscard (VkShaderProgramSetupInfo &info, VkShaderProgramRuntimeInfo &rt, VkPipeline &computePipeline) |
| discard variation | |
| void | Vulkan::VkShaderProgramSetup (const Ids::Id24 id, const Resources::ResourceName &shaderName, GPULang::Deserialize::Program *program, const CoreGraphics::ResourcePipelineId &pipelineLayout) |
| setup from GPULang program | |
| void | Vulkan::VkShaderProgramCreateShader (const VkDevice dev, VkShaderModule *shader, unsigned binarySize, char *binary) |
| create shader object | |
| void | Vulkan::VkShaderProgramCreateShader (const VkDevice dev, VkShaderModule *shader, GPULang::Deserialize::Program::Shader *binary) |
| create shader object | |
| void | Vulkan::VkShaderProgramSetupAsGraphics (GPULang::Deserialize::Program *program, const Resources::ResourceName &shaderName, VkShaderProgramRuntimeInfo &runtime) |
| create this program as a graphics program | |
| void | Vulkan::VkShaderProgramSetupAsCompute (VkShaderProgramSetupInfo &setup, VkShaderProgramRuntimeInfo &runtime) |
| create this program as a compute program (can be done immediately) | |
| void | Vulkan::VkShaderProgramSetupAsRaytracing (GPULang::Deserialize::Program *program, const Resources::ResourceName &shaderName, VkShaderProgramSetupInfo &setup, VkShaderProgramRuntimeInfo &runtime) |
| create this program as a compute program (can be done immediately) | |
| VkPipeline | Vulkan::VkShaderProgramGetRaytracingLibrary (const CoreGraphics::ShaderProgramId id) |
| Get raytracing library pipepline. | |
| VkPipelineLayout | Vulkan::VkShaderProgramGetLayout (const CoreGraphics::ShaderProgramId id) |
| Get resource layout of shader program. | |
| void | Vulkan::VkShaderProgramGetRaytracingVaryingSizes (const CoreGraphics::ShaderProgramId id, uint &rayPayloadSize, uint &hitAttributeSize) |
| Get ray payload and hit attribute sizes. | |