UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TVulkanBaseShader< BaseResourceType, ShaderType > Class Template Reference

#include <VulkanResources.h>

+ Inheritance diagram for TVulkanBaseShader< BaseResourceType, ShaderType >:

Public Types

enum  { StaticFrequency = ShaderType }
 

Public Member Functions

virtual FReturnedRefCountValue AddRef () const override final
 
virtual uint32 Release () const override final
 
virtual uint32 GetRefCount () const override final
 
- 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 ()
 

Friends

class FVulkanShaderFactory
 

Additional Inherited Members

- Public Attributes inherited from FVulkanShader
TArray< FUniformBufferStaticSlot > & StaticSlots
 
- 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 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
 

Detailed Description

template<typename BaseResourceType, EShaderFrequency ShaderType>
class TVulkanBaseShader< BaseResourceType, ShaderType >

This represents a vertex shader that hasn't been combined with a specific declaration to create a bound shader.

Member Enumeration Documentation

◆ anonymous enum

template<typename BaseResourceType , EShaderFrequency ShaderType>
anonymous enum
Enumerator
StaticFrequency 

Member Function Documentation

◆ AddRef()

template<typename BaseResourceType , EShaderFrequency ShaderType>
virtual FReturnedRefCountValue TVulkanBaseShader< BaseResourceType, ShaderType >::AddRef ( ) const
inlinefinaloverridevirtual

Implements IRefCountedObject.

◆ GetRefCount()

template<typename BaseResourceType , EShaderFrequency ShaderType>
virtual uint32 TVulkanBaseShader< BaseResourceType, ShaderType >::GetRefCount ( ) const
inlinefinaloverridevirtual

Implements IRefCountedObject.

◆ Release()

template<typename BaseResourceType , EShaderFrequency ShaderType>
virtual uint32 TVulkanBaseShader< BaseResourceType, ShaderType >::Release ( ) const
inlinefinaloverridevirtual

Implements IRefCountedObject.

Friends And Related Symbol Documentation

◆ FVulkanShaderFactory

template<typename BaseResourceType , EShaderFrequency ShaderType>
friend class FVulkanShaderFactory
friend

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