UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RHIStrings.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "HAL/Platform.h"
6#include "RHIDefinitions.h"
7
8class FName;
9class FString;
10
11enum class ERHIAccess : uint32;
12enum class ERHIPipeline : uint8;
14namespace ERHIFeatureLevel { enum Type : int; }
15
16// helper to convert GRHIVendorId into a printable string, or "Unknown" if unknown.
18
19// helper to convert VendorId into a printable string, or "Unknown" if unknown.
21
24
27
30
33
36
39
42
46
48RHI_API FString LexToString(EShaderPlatform Platform, bool bError = true);
49
52
55
58
61
64
67
70
72
73RHI_API FString GetRHIAccessName(ERHIAccess Access);
74
77
83
84// Needs to stay inline for shader formats which can't depend on the RHI module
86{
87 const TCHAR* String = TEXT("SF_NumFrequencies");
88 switch (Frequency)
89 {
90 case SF_Vertex: String = TEXT("SF_Vertex"); break;
91 case SF_Mesh: String = TEXT("SF_Mesh"); break;
92 case SF_Amplification: String = TEXT("SF_Amplification"); break;
93 case SF_Geometry: String = TEXT("SF_Geometry"); break;
94 case SF_Pixel: String = TEXT("SF_Pixel"); break;
95 case SF_Compute: String = TEXT("SF_Compute"); break;
96 case SF_RayGen: String = TEXT("SF_RayGen"); break;
97 case SF_RayMiss: String = TEXT("SF_RayMiss"); break;
98 case SF_RayHitGroup: String = TEXT("SF_RayHitGroup"); break;
99 case SF_RayCallable: String = TEXT("SF_RayCallable"); break;
100 case SF_WorkGraphRoot: String = TEXT("SF_WorkGraphRoot"); break;
101 case SF_WorkGraphComputeNode: String = TEXT("SF_WorkGraphComputeNode"); break;
102
103 default:
104 break;
105 }
106
107 // Skip SF_
108 int32 Index = bIncludePrefix ? 0 : 3;
109 String += Index;
110 return String;
111}
112
114{
115 switch (QueryType)
116 {
117 default: checkNoEntry(); // fallthrough
118 case RQT_Undefined: return TEXT("Undefined");
119 case RQT_Occlusion: return TEXT("GPUOcclusion");
120 case RQT_AbsoluteTime: return TEXT("GPUAbsoluteTime");
121 }
122}
#define checkNoEntry()
Definition AssertionMacros.h:316
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ERHIAccess
Definition RHIAccess.h:11
EShaderFrequency
Definition RHIDefinitions.h:202
@ SF_Compute
Definition RHIDefinitions.h:208
@ SF_Amplification
Definition RHIDefinitions.h:205
@ SF_Vertex
Definition RHIDefinitions.h:203
@ SF_Mesh
Definition RHIDefinitions.h:204
@ SF_Geometry
Definition RHIDefinitions.h:207
@ SF_RayGen
Definition RHIDefinitions.h:209
@ SF_RayCallable
Definition RHIDefinitions.h:212
@ SF_RayMiss
Definition RHIDefinitions.h:210
@ SF_RayHitGroup
Definition RHIDefinitions.h:211
@ SF_WorkGraphRoot
Definition RHIDefinitions.h:213
@ SF_WorkGraphComputeNode
Definition RHIDefinitions.h:214
@ SF_Pixel
Definition RHIDefinitions.h:206
EResourceTransitionFlags
Definition RHIDefinitions.h:1517
ERHIResourceType
Definition RHIDefinitions.h:1030
EBufferUsageFlags
Definition RHIDefinitions.h:892
ETextureDimension
Definition RHIDefinitions.h:1081
EUniformBufferBaseType
Definition RHIDefinitions.h:634
ERHIBindlessConfiguration
Definition RHIDefinitions.h:1432
ERHIDescriptorHeapType
Definition RHIDefinitions.h:1338
EShaderCodeResourceBindingType
Definition RHIDefinitions.h:553
ETextureCreateFlags
Definition RHIDefinitions.h:1091
ERenderQueryType
Definition RHIDefinitions.h:258
@ RQT_Undefined
Definition RHIDefinitions.h:260
@ RQT_AbsoluteTime
Definition RHIDefinitions.h:264
@ RQT_Occlusion
Definition RHIDefinitions.h:262
EGpuVendorId
Definition RHIDefinitions.h:1006
ERHIPipeline
Definition RHIPipeline.h:13
EShaderPlatform
Definition RHIShaderPlatform.h:11
RHI_API FString GetRHIPipelineName(ERHIPipeline Pipeline)
Definition RHIStrings.cpp:512
RHI_API FString GetResourceTransitionFlagsName(EResourceTransitionFlags Flags)
Definition RHIStrings.cpp:498
RHI_API FString GetRHIAccessName(ERHIAccess Access)
Definition RHIStrings.cpp:466
RHI_API const TCHAR * RHIVendorIdToString()
Definition RHIStrings.cpp:53
RHI_API const TCHAR * GetBufferUsageFlagString(EBufferUsageFlags BufferUsage)
Definition RHIStrings.cpp:621
RHI_API const TCHAR * GetShaderCodeResourceBindingTypeName(EShaderCodeResourceBindingType BindingType)
Definition RHIStrings.cpp:717
RHI_API bool GetBindlessConfigurationFromString(FStringView InString, ERHIBindlessConfiguration &OutBindlessConfiguration)
Definition RHIStrings.cpp:748
const TCHAR * GetShaderFrequencyString(EShaderFrequency Frequency, bool bIncludePrefix=true)
Definition RHIStrings.h:85
RHI_API void GetShadingPathName(ERHIShadingPath::Type InShadingPath, FString &OutName)
Definition RHIStrings.cpp:282
RHI_API FString GetBufferUsageFlagsName(EBufferUsageFlags BufferUsage)
Definition RHIStrings.cpp:308
RHI_API FName ShaderPlatformToPlatformName(EShaderPlatform Platform)
Definition RHIStrings.cpp:197
RHI_API EShaderPlatform ShaderFormatToLegacyShaderPlatform(FName ShaderFormat)
Definition RHIStrings.cpp:242
const TCHAR * GetRenderQueryTypeName(ERenderQueryType QueryType)
Definition RHIStrings.h:113
RHI_API FString LexToString(ERHIFeatureLevel::Type Level)
Definition RHIStrings.cpp:124
RHI_API const TCHAR * GetTextureDimensionString(ETextureDimension Dimension)
Definition RHIStrings.cpp:530
RHI_API ERHIResourceType RHIResourceTypeFromString(const FString &InString)
Definition RHIStrings.cpp:442
RHI_API bool GetFeatureLevelFromName(const FString &Name, ERHIFeatureLevel::Type &OutFeatureLevel)
Definition RHIStrings.cpp:147
RHI_API bool GetShadingPathFromName(FName Name, ERHIShadingPath::Type &OutShadingPath)
Definition RHIStrings.cpp:267
RHI_API const TCHAR * GetBindlessConfigurationString(ERHIBindlessConfiguration InBindlessConfiguration)
Definition RHIStrings.cpp:777
RHI_API FName LegacyShaderPlatformToShaderFormat(EShaderPlatform Platform)
Definition RHIStrings.cpp:237
RHI_API void GetFeatureLevelName(ERHIFeatureLevel::Type InFeatureLevel, FString &OutName)
Definition RHIStrings.cpp:168
RHI_API const TCHAR * GetTextureCreateFlagString(ETextureCreateFlags TextureCreateFlag)
Definition RHIStrings.cpp:543
RHI_API FString GetTextureCreateFlagsName(ETextureCreateFlags TextureCreateFlags)
Definition RHIStrings.cpp:342
RHI_API const TCHAR * GetUniformBufferBaseTypeString(EUniformBufferBaseType BaseType)
Definition RHIStrings.cpp:661
RHI_API const TCHAR * StringFromRHIResourceType(ERHIResourceType ResourceType)
Definition RHIStrings.cpp:454
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NameTypes.h:617
Definition SceneComponent.h:24
Type
Definition RHIFeatureLevel.h:20
Type
Definition RHIDefinitions.h:317
int
Definition TestServer.py:515
U16 Index
Definition radfft.cpp:71