Navigation
API > API/Developer > API/Developer/TargetPlatform > API/Developer/TargetPlatform/Interfaces
Inheritance Hierarchy
- IShaderFormat
- FBaseShaderFormat
References
Module | TargetPlatform |
Header | /Engine/Source/Developer/TargetPlatform/Public/Interfaces/IShaderFormat.h |
Include | #include "Interfaces/IShaderFormat.h" |
Syntax
class IShaderFormat
Remarks
IShaderFormat, shader pre-compilation abstraction
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Virtual destructor. |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
void | AppendToKeyString
(
FString& KeyString |
Appends shader key text to the provided key string for use in DDC unique key construction. |
![]() ![]() ![]() |
bool | Can the shader format compile shaders to the native binary format for the platform. | |
![]() ![]() ![]() |
bool | CanStripShaderCode
(
bool const bNativeFormat |
Can this shader format strip shader code for packaging in a shader library? |
![]() ![]() ![]() |
void | CompilePreprocessedShader
(
const FShaderCompilerInput& Input, |
Compile the specified preprocessed shaders; only called if SupportsIndependentPreprocessing returns true, and the call to RequiresSecondaryCompile given the first preprocess output also returns true. |
![]() ![]() ![]() |
void | CompilePreprocessedShader
(
const FShaderCompilerInput& Input, |
Compile the specified preprocessed shader; only called if SupportsIndependentPreprocessing returns true |
![]() ![]() ![]() |
void | CompileShader
(
FName Format, |
Compile the specified shader. Only called if SupportsIndependentPreprocessing returns false. |
![]() ![]() ![]() |
bool | CreateShaderArchive
(
FString const& LibraryName, |
Create a format specific archive for precompiled shader code. |
![]() ![]() ![]() |
int32 | Virtual function that can be implemented by backends which require secondary compilation to specify a unique "key" identifier for the packing scheme (for validation in the runtime at load). | |
![]() ![]() |
const TCHAR * | Returns name of directory with platform specific shaders. | |
![]() ![]() |
void | GetSupportedFormats
(
TArray< FName >& OutFormats |
Gets the list of supported formats. |
![]() ![]() |
uint32 | GetVersion
(
FName Format |
Gets the current version of the specified shader format. |
![]() ![]() ![]() |
void | ModifyShaderCompilerInput
(
FShaderCompilerInput& Input |
Called before a shader is compiled to allow the platform shader format to modify the shader compiler input, e.g. by adding console variable values relevant to shader compilation on that platform. |
![]() ![]() ![]() |
void | NotifyShaderCompiled
(
const TConstArrayView< uint8 >& PlatformDebugData, |
Called when a shader resource is cooked, so the shader format can perform platform-specific operations on the debug data. |
![]() ![]() ![]() |
void | NotifyShaderCompilersShutdown
(
FName Format |
Called at the end of a cook to free resources and finalize artifacts created during the cook. |
![]() ![]() ![]() |
void | OutputDebugData
(
const FShaderCompilerInput& Input, |
Implement to output debug info for a single compile job; only called if SupportsIndependentPreprocessing returns true. |
![]() ![]() ![]() |
void | OutputDebugData
(
const FShaderCompilerInput& Input, |
Implement to output debug info for the case where a secondary preprocessed shader was created. |
![]() ![]() ![]() |
bool | PreprocessShader
(
const FShaderCompilerInput& Input, |
Executes all shader preprocessing steps; only called if SupportsIndependentPreprocessing returns true |
![]() ![]() ![]() |
bool | RequiresSecondaryCompile
(
const FShaderCompilerInput& Input, |
Predicate which should return true if a second preprocess & compilation is required given the initial preprocess output. |
![]() ![]() ![]() |
bool | StripShaderCode
(
TArray< uint8 >& Code, |
Strips the shader bytecode provided of any unnecessary optional data elements when archiving shaders into the shared library. |
![]() ![]() ![]() |
bool | Return true if preprocessing for this format can be executed independent of compilation (i.e. the format has an implementation of the PreprocessShader function). | |
![]() ![]() ![]() |
bool | Whether this shader format supports a format-specific archive for precompiled shader code. |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | UsesHLSLcc
(
const FShaderCompilerInput& Input |
UsesHLSLcc function is no longer used |