UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
D3D12RootSignatureDefinitions.h File Reference
#include "D3D12RHI.h"
#include "D3D12RayTracingResources.h"
#include "Containers/Array.h"
#include "Containers/UnrealString.h"
#include "Misc/EnumClassFlags.h"
#include "Misc/StringBuilder.h"
#include "RayTracingBuiltInResources.h"
#include "RHIDefinitions.h"
#include "RHIShaderBindingLayout.h"
#include "D3D12ThirdParty.h"

Go to the source code of this file.

Classes

struct  D3D12ShaderUtils::FRootSignatureCreator
 
struct  D3D12ShaderUtils::FBinaryRootSignatureCreator
 
struct  D3D12ShaderUtils::FBinaryRootSignatureCreator::FPendingTable
 
struct  D3D12ShaderUtils::FTextRootSignatureCreator
 

Namespaces

namespace  D3D12ShaderUtils
 
namespace  D3D12ShaderUtils::StaticRootSignatureConstants
 

Enumerations

enum class  D3D12ShaderUtils::ERootSignatureRangeType { D3D12ShaderUtils::CBV , D3D12ShaderUtils::SRV , D3D12ShaderUtils::UAV , D3D12ShaderUtils::Sampler }
 
enum class  D3D12ShaderUtils::ERootSignatureVisibility {
  D3D12ShaderUtils::Vertex , D3D12ShaderUtils::Pixel , D3D12ShaderUtils::Geometry , D3D12ShaderUtils::Mesh ,
  D3D12ShaderUtils::Amplification , D3D12ShaderUtils::All
}
 

Functions

D3D12_DESCRIPTOR_RANGE_TYPE D3D12ShaderUtils::GetD3D12DescriptorRangeType (ERootSignatureRangeType Type)
 
D3D12_DESCRIPTOR_RANGE_FLAGS D3D12ShaderUtils::GetD3D12DescriptorRangeFlags (ERootSignatureRangeType Type)
 
D3D12_SHADER_VISIBILITY D3D12ShaderUtils::GetD3D12ShaderVisibility (ERootSignatureVisibility Visibility)
 
const TCHARD3D12ShaderUtils::GetVisibilityFlag (ERootSignatureVisibility Visibility)
 
const TCHARD3D12ShaderUtils::GetTypePrefix (ERootSignatureRangeType Type)
 
const TCHARD3D12ShaderUtils::GetFlagName (D3D12_ROOT_SIGNATURE_FLAGS Flag)
 
void D3D12ShaderUtils::AddAllStandardTablesForVisibility (FRootSignatureCreator &Creator, ERootSignatureVisibility Visibility)
 
void D3D12ShaderUtils::CreateGfxRootSignature (FRootSignatureCreator &Creator, EShaderBindingLayoutFlags InFlags)
 
void D3D12ShaderUtils::CreateComputeRootSignature (FRootSignatureCreator &Creator, EShaderBindingLayoutFlags InFlags)
 
void D3D12ShaderUtils::CreateRayTracingSignature (FRootSignatureCreator &Creator, bool bLocalRootSignature, D3D12_ROOT_SIGNATURE_FLAGS BaseRootFlags, EShaderBindingLayoutFlags InFlags)
 
FString D3D12ShaderUtils::GenerateRayTracingSignatureString (bool bLocalRootSignature, D3D12_ROOT_SIGNATURE_FLAGS BaseRootFlags, EShaderBindingLayoutFlags InFlags)
 
FString D3D12ShaderUtils::GenerateRootSignatureString (EShaderFrequency InFrequency, EShaderBindingLayoutFlags InFlags)
 defined(D3D12RHI_TOOLS_RAYTRACING_SHADERS_UNSUPPORTED)
 

Variables

constexpr D3D12_DESCRIPTOR_RANGE_FLAGS D3D12ShaderUtils::StaticRootSignatureConstants::SRVDescriptorRangeFlags = D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE | D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
 
constexpr D3D12_DESCRIPTOR_RANGE_FLAGS D3D12ShaderUtils::StaticRootSignatureConstants::CBVDescriptorRangeFlags = D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE | D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
 
constexpr D3D12_DESCRIPTOR_RANGE_FLAGS D3D12ShaderUtils::StaticRootSignatureConstants::UAVDescriptorRangeFlags = D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE | D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
 
constexpr D3D12_DESCRIPTOR_RANGE_FLAGS D3D12ShaderUtils::StaticRootSignatureConstants::SamplerDescriptorRangeFlags = D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
 
constexpr D3D12_ROOT_DESCRIPTOR_FLAGS D3D12ShaderUtils::StaticRootSignatureConstants::CBVRootDescriptorFlags = D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC