![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <VulkanResources.h>
Inheritance diagram for FVulkanShader:Classes | |
| class | FSpirvCode |
| class | FSpirvContainer |
Public Member Functions | |
| virtual | ~FVulkanShader () |
| void | PurgeShaderModules () |
| TRefCountPtr< FVulkanShaderModule > | GetOrCreateHandle () |
| TRefCountPtr< FVulkanShaderModule > | GetOrCreateHandle (const FVulkanLayout *Layout, uint32 LayoutHash) |
| TRefCountPtr< FVulkanShaderModule > | GetOrCreateHandle (const FGfxPipelineDesc &Desc, const FVulkanLayout *Layout, uint32 LayoutHash) |
| const FString & | GetDebugName () const |
| void | GetEntryPoint (ANSICHAR *Name, int32 NameLength) const |
| FORCEINLINE const FVulkanShaderHeader & | GetCodeHeader () 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 () |
| virtual FReturnedRefCountValue | AddRef () const =0 |
| virtual uint32 | Release () const =0 |
| virtual uint32 | GetRefCount () const =0 |
Public Attributes | |
| TArray< FUniformBufferStaticSlot > & | StaticSlots |
Protected Member Functions | |
| TRefCountPtr< FVulkanShaderModule > | CreateHandle (const FVulkanLayout *Layout, uint32 LayoutHash) |
| TRefCountPtr< FVulkanShaderModule > | CreateHandle (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 | |
| static FSpirvCode | PatchSpirvInputAttachments (FSpirvCode &SpirvCode) |
| static FSpirvCode | GetSpirvCode (const FSpirvContainer &Container) |
Protected Attributes | |
| uint64 | ShaderKey |
| FVulkanShaderHeader | CodeHeader |
| TMap< uint32, TRefCountPtr< FVulkanShaderModule > > | ShaderModules |
| const EShaderFrequency | Frequency |
| bool | bUsesBindless = false |
| VkPipeline | PipelineLibrary = VK_NULL_HANDLE |
| class FVulkanShader::FSpirvContainer | SpirvContainer |
| FVulkanDevice * | Device |
Static Protected Attributes | |
| static FCriticalSection | VulkanShaderModulesMapCS |
Friends | |
| class | FVulkanCommandListContext |
| class | FVulkanPipelineStateCacheManager |
| class | FVulkanComputeShaderState |
| class | FVulkanComputePipeline |
| class | FVulkanShaderFactory |
| FArchive & | operator<< (FArchive &Ar, class FVulkanShader::FSpirvContainer &SpirvContainer) |
|
virtual |
|
protected |
|
protected |
|
protected |
|
inline |
|
inline |
| TRefCountPtr< FVulkanShaderModule > FVulkanShader::GetOrCreateHandle | ( | ) |
|
inline |
|
inline |
| FVulkanShader::FSpirvCode FVulkanShader::GetPatchedSpirvCode | ( | const FGfxPipelineDesc & | Desc, |
| const FVulkanLayout * | Layout | ||
| ) |
|
inline |
|
inline |
|
staticprotected |
|
protected |
|
staticprotected |
| void FVulkanShader::PurgeShaderModules | ( | ) |
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
External bindings for this shader.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| TArray<FUniformBufferStaticSlot>& FVulkanShader::StaticSlots |
|
staticprotected |