Nebula
Loading...
Searching...
No Matches
vkshaderprogram.cc File Reference
#include "vkshaderprogram.h"
#include "vkgraphicsdevice.h"
#include "coregraphics/shaderserver.h"
#include "lowlevel/vk/vkrenderstate.h"
#include "vkresourcetable.h"

Namespaces

namespace  Vulkan
 Vulkan implementation of GPU acceleration structure.
 
namespace  CoreGraphics
 Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
 

Functions

void Vulkan::VkShaderProgramSetup (const Ids::Id24 id, const Resources::ResourceName &shaderName, AnyFX::VkProgram *program, const CoreGraphics::ResourcePipelineId &pipelineLayout)
 setup from AnyFX program
 
void Vulkan::VkShaderProgramCreateShader (const VkDevice dev, VkShaderModule *shader, unsigned binarySize, char *binary)
 create shader object
 
void Vulkan::VkShaderProgramSetupAsGraphics (AnyFX::VkProgram *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 (AnyFX::VkProgram *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.
 
void Vulkan::VkShaderProgramDiscard (VkShaderProgramSetupInfo &info, VkShaderProgramRuntimeInfo &rt, VkPipeline &computePipeline)
 discard variation
 
RayTracingBits CoreGraphics::ShaderProgramGetRaytracingBits (const ShaderProgramId id)
 

Variables

uint32_t Vulkan::UniqueIdCounter = 0
 
ShaderProgramAllocator Vulkan::shaderProgramAlloc