UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FShaderCompilerInput Struct Reference

#include <ShaderCompilerCore.h>

Public Member Functions

bool DumpDebugInfoEnabled () const
 
bool NeedsOriginalShaderSource () const
 
FString GenerateShaderName () const
 
FStringView GetSourceFilenameView () const
 
FString GetSourceFilename () const
 
FString GenerateDebugInfo () const
 
void GatherSharedInputs (TArray< TRefCountPtr< FSharedShaderCompilerEnvironment > > &SharedEnvironments, TArray< const FShaderParametersMetadata * > &ParametersStructures)
 
void SerializeSharedInputs (FArchive &Ar, const TArray< TRefCountPtr< FSharedShaderCompilerEnvironment > > &SharedEnvironments, const TArray< const FShaderParametersMetadata * > &ParametersStructures)
 
void DeserializeSharedInputs (FArchive &Ar, const TArray< FShaderCompilerEnvironment > &SharedEnvironments, const TArray< TUniquePtr< FShaderParametersMetadata > > &ShaderParameterStructures)
 
bool IsRayTracingShader () const
 
bool IsWorkGraphShader () const
 
bool ShouldUseStableConstantBuffer () const
 
bool IsBindlessEnabled () const
 
RENDERCORE_API FString GetOrCreateShaderDebugInfoPath () const
 

Public Attributes

FShaderTarget Target { SF_NumFrequencies, SP_NumPlatforms }
 
FName ShaderFormat
 
FName CompressionFormat
 
FName ShaderPlatformName
 
FName PreferredShaderCodeFormat
 
FString VirtualSourceFilePath
 
FString EntryPointName
 
FString ShaderName
 
uint32 SupportedHardwareMask = 0
 
EShaderDebugInfoFlags DebugInfoFlags = EShaderDebugInfoFlags::Default
 
TArray< FString > RequiredSymbols
 
TArray< FString > UsedOutputs
 
FString DumpDebugInfoRootPath
 
FString DumpDebugInfoPath
 
FString DebugGroupName
 
FString DebugExtension
 
FString DebugDescription
 
FShaderCompilerInputHash Hash
 
FShaderCompilerEnvironment Environment
 
TRefCountPtr< FSharedShaderCompilerEnvironmentSharedEnvironment
 
const FShaderParametersMetadataRootParametersStructure = nullptr
 
FExtraShaderCompilerSettings ExtraSettings
 
FOodleDataCompression::ECompressor OodleCompressor
 
FOodleDataCompression::ECompressionLevel OodleLevel
 
bool bCompilingForShaderPipeline = false
 
bool bIncludeUsedOutputs = false
 
bool bBindlessEnabled = false
 

Friends

RENDERCORE_API FArchiveoperator<< (FArchive &Ar, FShaderCompilerInput &Input)
 

Detailed Description

Struct that gathers all readonly inputs needed for the compilation of a single shader.

Member Function Documentation

◆ DeserializeSharedInputs()

void FShaderCompilerInput::DeserializeSharedInputs ( FArchive Ar,
const TArray< FShaderCompilerEnvironment > &  SharedEnvironments,
const TArray< TUniquePtr< FShaderParametersMetadata > > &  ShaderParameterStructures 
)
inline

◆ DumpDebugInfoEnabled()

bool FShaderCompilerInput::DumpDebugInfoEnabled ( ) const
inline

◆ GatherSharedInputs()

void FShaderCompilerInput::GatherSharedInputs ( TArray< TRefCountPtr< FSharedShaderCompilerEnvironment > > &  SharedEnvironments,
TArray< const FShaderParametersMetadata * > &  ParametersStructures 
)
inline

◆ GenerateDebugInfo()

FString FShaderCompilerInput::GenerateDebugInfo ( ) const
inline

◆ GenerateShaderName()

FString FShaderCompilerInput::GenerateShaderName ( ) const
inline

◆ GetOrCreateShaderDebugInfoPath()

FString FShaderCompilerInput::GetOrCreateShaderDebugInfoPath ( ) const

Returns the shader debug info path for this shader compiler input and create the directory if it doesn't exist yet.

◆ GetSourceFilename()

FString FShaderCompilerInput::GetSourceFilename ( ) const
inline

◆ GetSourceFilenameView()

FStringView FShaderCompilerInput::GetSourceFilenameView ( ) const
inline

◆ IsBindlessEnabled()

bool FShaderCompilerInput::IsBindlessEnabled ( ) const
inline

◆ IsRayTracingShader()

bool FShaderCompilerInput::IsRayTracingShader ( ) const
inline

◆ IsWorkGraphShader()

bool FShaderCompilerInput::IsWorkGraphShader ( ) const
inline

◆ NeedsOriginalShaderSource()

bool FShaderCompilerInput::NeedsOriginalShaderSource ( ) const
inline

◆ SerializeSharedInputs()

void FShaderCompilerInput::SerializeSharedInputs ( FArchive Ar,
const TArray< TRefCountPtr< FSharedShaderCompilerEnvironment > > &  SharedEnvironments,
const TArray< const FShaderParametersMetadata * > &  ParametersStructures 
)
inline

◆ ShouldUseStableConstantBuffer()

bool FShaderCompilerInput::ShouldUseStableConstantBuffer ( ) const
inline

Friends And Related Symbol Documentation

◆ operator<<

RENDERCORE_API FArchive & operator<< ( FArchive Ar,
FShaderCompilerInput Input 
)
friend

Member Data Documentation

◆ bBindlessEnabled

bool FShaderCompilerInput::bBindlessEnabled = false

◆ bCompilingForShaderPipeline

bool FShaderCompilerInput::bCompilingForShaderPipeline = false

◆ bIncludeUsedOutputs

bool FShaderCompilerInput::bIncludeUsedOutputs = false

◆ CompressionFormat

FName FShaderCompilerInput::CompressionFormat

◆ DebugDescription

FString FShaderCompilerInput::DebugDescription

◆ DebugExtension

FString FShaderCompilerInput::DebugExtension

◆ DebugGroupName

FString FShaderCompilerInput::DebugGroupName

◆ DebugInfoFlags

EShaderDebugInfoFlags FShaderCompilerInput::DebugInfoFlags = EShaderDebugInfoFlags::Default

◆ DumpDebugInfoPath

FString FShaderCompilerInput::DumpDebugInfoPath

◆ DumpDebugInfoRootPath

FString FShaderCompilerInput::DumpDebugInfoRootPath

◆ EntryPointName

FString FShaderCompilerInput::EntryPointName

◆ Environment

FShaderCompilerEnvironment FShaderCompilerInput::Environment

◆ ExtraSettings

FExtraShaderCompilerSettings FShaderCompilerInput::ExtraSettings

◆ Hash

FShaderCompilerInputHash FShaderCompilerInput::Hash

◆ OodleCompressor

FOodleDataCompression::ECompressor FShaderCompilerInput::OodleCompressor

Oodle-specific compression algorithm - used if CompressionFormat is set to NAME_Oodle.

◆ OodleLevel

FOodleDataCompression::ECompressionLevel FShaderCompilerInput::OodleLevel

Oodle-specific compression level - used if CompressionFormat is set to NAME_Oodle.

◆ PreferredShaderCodeFormat

FName FShaderCompilerInput::PreferredShaderCodeFormat

◆ RequiredSymbols

TArray<FString> FShaderCompilerInput::RequiredSymbols

◆ RootParametersStructure

const FShaderParametersMetadata* FShaderCompilerInput::RootParametersStructure = nullptr

◆ ShaderFormat

FName FShaderCompilerInput::ShaderFormat

◆ ShaderName

FString FShaderCompilerInput::ShaderName

◆ ShaderPlatformName

FName FShaderCompilerInput::ShaderPlatformName

◆ SharedEnvironment

TRefCountPtr<FSharedShaderCompilerEnvironment> FShaderCompilerInput::SharedEnvironment

◆ SupportedHardwareMask

uint32 FShaderCompilerInput::SupportedHardwareMask = 0

◆ Target

FShaderTarget FShaderCompilerInput::Target { SF_NumFrequencies, SP_NumPlatforms }

◆ UsedOutputs

TArray<FString> FShaderCompilerInput::UsedOutputs

◆ VirtualSourceFilePath

FString FShaderCompilerInput::VirtualSourceFilePath

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