UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVulkanRayTracingShader Class Reference

#include <VulkanResources.h>

+ Inheritance diagram for FVulkanRayTracingShader:

Public Member Functions

TRefCountPtr< FVulkanShaderModuleGetOrCreateHandle (uint32 ModuleIdentifier)
 
virtual FReturnedRefCountValue AddRef () const override final
 
virtual uint32 Release () const override final
 
virtual uint32 GetRefCount () const override final
 
- Public Member Functions inherited from FRHIRayTracingShader
 FRHIRayTracingShader (EShaderFrequency InFrequency)
 
- Public Member Functions inherited from FRHIShader
void SetHash (const FSHAHash &InHash)
 
const FSHAHashGetHash () const
 
bool HasShaderName () const
 
const TCHARGetShaderName () const
 
FString GetUniformBufferName (uint32 Index) const
 
 FRHIShader ()=delete
 
 FRHIShader (ERHIResourceType InResourceType, EShaderFrequency InFrequency)
 
EShaderFrequency GetFrequency () const
 
void SetNoDerivativeOps (bool bValue)
 
bool HasNoDerivativeOps () const
 
void SetShaderBundleUsage (bool bValue)
 
bool HasShaderBundleUsage () const
 
- Public Member Functions inherited from FRHIResource
RHI_API FRHIResource (ERHIResourceType InResourceType)
 
uint32 AddRef () const
 
uint32 Release () const
 
uint32 GetRefCount () const
 
bool IsValid () const
 
void DisableLifetimeExtension ()
 
ERHIResourceType GetType () const
 
FName GetOwnerName () const
 
void SetOwnerName (FName InOwnerName)
 
- Public Member Functions inherited from FRHIShaderData
const FShaderResourceTableGetShaderResourceTable () const
 
const TArray< FUniformBufferStaticSlot > & GetStaticSlots () const
 
void SerializeShaderResourceTable (FArchive &Ar)
 
- Public Member Functions inherited from FVulkanShader
virtual ~FVulkanShader ()
 
void PurgeShaderModules ()
 
TRefCountPtr< FVulkanShaderModuleGetOrCreateHandle ()
 
TRefCountPtr< FVulkanShaderModuleGetOrCreateHandle (const FVulkanLayout *Layout, uint32 LayoutHash)
 
TRefCountPtr< FVulkanShaderModuleGetOrCreateHandle (const FGfxPipelineDesc &Desc, const FVulkanLayout *Layout, uint32 LayoutHash)
 
const FString & GetDebugName () const
 
void GetEntryPoint (ANSICHAR *Name, int32 NameLength) const
 
FORCEINLINE const FVulkanShaderHeaderGetCodeHeader () const
 
uint64 GetShaderKey () const
 
FSpirvCode GetSpirvCode () const
 
FSpirvCode GetPatchedSpirvCode (const FGfxPipelineDesc &Desc, const FVulkanLayout *Layout)
 
void SetUsesBindless (bool bValue)
 
bool UsesBindless () const
 
- Public Member Functions inherited from IRefCountedObject
virtual ~IRefCountedObject ()
 

Static Public Attributes

static const uint32 MainModuleIdentifier = 0
 
static const uint32 ClosestHitModuleIdentifier = MainModuleIdentifier
 
static const uint32 AnyHitModuleIdentifier = 1
 
static const uint32 IntersectionModuleIdentifier = 2
 

Friends

class FVulkanShaderFactory
 

Additional Inherited Members

- Public Attributes inherited from FRHIRayTracingShader
uint32 RayTracingPayloadType = 0
 
uint32 RayTracingPayloadSize = 0
 
uint32 LocalBindingDataSize = 0
 
- Public Attributes inherited from FRHIShader
struct { 
 
   FString   ShaderName 
 
   TArray< FName >   UniformBufferNames 
 
Debug 
 
TArray< FShaderCodeValidationStrideDebugStrideValidationData
 
TArray< FShaderCodeValidationTypeDebugSRVTypeValidationData
 
TArray< FShaderCodeValidationTypeDebugUAVTypeValidationData
 
TArray< FShaderCodeValidationUBSizeDebugUBSizeValidationData
 
- Public Attributes inherited from FVulkanShader
TArray< FUniformBufferStaticSlot > & StaticSlots
 
- Protected Member Functions inherited from FRHIResource
virtual RHI_API ~FRHIResource ()
 
- Protected Member Functions inherited from FVulkanShader
TRefCountPtr< FVulkanShaderModuleCreateHandle (const FVulkanLayout *Layout, uint32 LayoutHash)
 
TRefCountPtr< FVulkanShaderModuleCreateHandle (const FGfxPipelineDesc &Desc, const FVulkanLayout *Layout, uint32 LayoutHash)
 
bool NeedsSpirvInputAttachmentPatching (const FGfxPipelineDesc &Desc) const
 
 FVulkanShader (FVulkanDevice *InDevice, EShaderFrequency InFrequency, FVulkanShaderHeader &&InCodeHeader, FSpirvContainer &&InSpirvContainer, uint64 InShaderKey, TArray< FUniformBufferStaticSlot > &InStaticSlots)
 
- Static Protected Member Functions inherited from FVulkanShader
static FSpirvCode PatchSpirvInputAttachments (FSpirvCode &SpirvCode)
 
static FSpirvCode GetSpirvCode (const FSpirvContainer &Container)
 
- Protected Attributes inherited from FRHIShaderData
FShaderResourceTable ShaderResourceTable
 
TArray< FUniformBufferStaticSlotStaticSlots
 
- Protected Attributes inherited from FVulkanShader
uint64 ShaderKey
 
FVulkanShaderHeader CodeHeader
 
TMap< uint32, TRefCountPtr< FVulkanShaderModule > > ShaderModules
 
const EShaderFrequency Frequency
 
bool bUsesBindless = false
 
VkPipeline PipelineLibrary = VK_NULL_HANDLE
 
class FVulkanShader::FSpirvContainer SpirvContainer
 
FVulkanDeviceDevice
 
- Static Protected Attributes inherited from FVulkanShader
static FCriticalSection VulkanShaderModulesMapCS
 

Member Function Documentation

◆ AddRef()

virtual FReturnedRefCountValue FVulkanRayTracingShader::AddRef ( ) const
inlinefinaloverridevirtual

Implements IRefCountedObject.

◆ GetOrCreateHandle()

TRefCountPtr< FVulkanShaderModule > FVulkanRayTracingShader::GetOrCreateHandle ( uint32  ModuleIdentifier)

◆ GetRefCount()

virtual uint32 FVulkanRayTracingShader::GetRefCount ( ) const
inlinefinaloverridevirtual

Implements IRefCountedObject.

◆ Release()

virtual uint32 FVulkanRayTracingShader::Release ( ) const
inlinefinaloverridevirtual

Implements IRefCountedObject.

Friends And Related Symbol Documentation

◆ FVulkanShaderFactory

Member Data Documentation

◆ AnyHitModuleIdentifier

const uint32 FVulkanRayTracingShader::AnyHitModuleIdentifier = 1
static

◆ ClosestHitModuleIdentifier

const uint32 FVulkanRayTracingShader::ClosestHitModuleIdentifier = MainModuleIdentifier
static

◆ IntersectionModuleIdentifier

const uint32 FVulkanRayTracingShader::IntersectionModuleIdentifier = 2
static

◆ MainModuleIdentifier

const uint32 FVulkanRayTracingShader::MainModuleIdentifier = 0
static

The documentation for this class was generated from the following files: