bCompileSignalProcessingPipeline
bCompileSignalProcessingPipeline
#Overview
name: bCompileSignalProcessingPipeline
The value of this variable can be defined or overridden in .ini config files. 2
.ini config files referencing this setting variable.
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of bCompileSignalProcessingPipeline is to determine whether the signal processing pipeline should be compiled for a specific shader platform in Unreal Engine 5.
This setting variable is primarily used within the RHI (Rendering Hardware Interface) subsystem of Unreal Engine. It is part of the data-driven shader platform information system, which allows for flexible configuration of shader compilation and rendering features across different platforms.
The value of this variable is set through the data-driven shader platform info parsing process, as seen in the FGenericDataDrivenShaderPlatformInfo::ParseDataDrivenShaderInfo function. It is likely populated from a configuration file or platform-specific settings.
bCompileSignalProcessingPipeline interacts with other shader platform-specific variables within the FGenericDataDrivenShaderPlatformInfo class, such as bRequiresRenderTargetDuringRaster, bSupportsMeshShadersTier0, and others. These variables collectively define the capabilities and requirements of a specific shader platform.
Developers must be aware that this variable is platform-specific and its value may affect the compilation and availability of signal processing features in shaders. It’s important to consider this setting when developing cross-platform applications or when targeting specific hardware capabilities.
Best practices when using this variable include:
- Ensuring that the correct value is set for each target platform to avoid unnecessary compilation or missing features.
- Using the provided static accessor method GetCompileSignalProcessingPipeline() to check the value, rather than accessing the variable directly.
- Considering this setting in conjunction with other platform-specific shader capabilities when designing rendering pipelines or implementing graphics features.
- Documenting any dependencies on this setting in platform-specific code or shader implementations.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/VulkanPC/DataDrivenPlatformInfo.ini:108, section: [ShaderPlatform VULKAN_SM5]
- INI Section:
ShaderPlatform VULKAN_SM5
- Raw value:
true
- Is Array:
False
Location: <Workspace>/Engine/Config/VulkanPC/DataDrivenPlatformInfo.ini:227, section: [ShaderPlatform VULKAN_SM6]
- INI Section:
ShaderPlatform VULKAN_SM6
- Raw value:
true
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/RHI/Private/DataDrivenShaderPlatformInfo.cpp:254
Scope (from outer to inner):
file
function void FGenericDataDrivenShaderPlatformInfo::ParseDataDrivenShaderInfo
Source code excerpt:
GET_SECTION_BOOL_HELPER(bRequiresRenderTargetDuringRaster);
GET_SECTION_BOOL_HELPER(bRequiresDisableForwardLocalLights);
GET_SECTION_BOOL_HELPER(bCompileSignalProcessingPipeline);
GET_SECTION_BOOL_HELPER(bSupportsMeshShadersTier0);
GET_SECTION_BOOL_HELPER(bSupportsMeshShadersTier1);
GET_SECTION_BOOL_HELPER(bSupportsMeshShadersWithClipDistance);
GET_SECTION_INT_HELPER(MaxMeshShaderThreadGroupSize);
GET_SECTION_BOOL_HELPER(bRequiresUnwrappedMeshShaderArgs);
GET_SECTION_BOOL_HELPER(bSupportsPerPixelDBufferMask);
#Loc: <Workspace>/Engine/Source/Runtime/RHI/Public/DataDrivenShaderPlatformInfo.h:78
Scope (from outer to inner):
file
class class FGenericDataDrivenShaderPlatformInfo
Source code excerpt:
uint32 bRequiresRenderTargetDuringRaster : 1;
uint32 bRequiresDisableForwardLocalLights : 1;
uint32 bCompileSignalProcessingPipeline : 1;
uint32 bSupportsMeshShadersTier0 : 1;
uint32 bSupportsMeshShadersTier1 : 1;
uint32 bSupportsMeshShadersWithClipDistance : 1;
uint32 MaxMeshShaderThreadGroupSize : 10;
uint32 bRequiresUnwrappedMeshShaderArgs : 1;
uint32 bSupportsPerPixelDBufferMask : 1;
#Loc: <Workspace>/Engine/Source/Runtime/RHI/Public/DataDrivenShaderPlatformInfo.h:551
Scope (from outer to inner):
file
class class FGenericDataDrivenShaderPlatformInfo
function static const bool GetCompileSignalProcessingPipeline
Source code excerpt:
{
check(IsValid(Platform));
return Infos[Platform].bCompileSignalProcessingPipeline;
}
static FORCEINLINE_DEBUGGABLE const bool GetSupportsMeshShadersTier0(const FStaticShaderPlatform Platform)
{
check(IsValid(Platform));
return Infos[Platform].bSupportsMeshShadersTier0;