UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RHIShaderFormatDefinitions.inl
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 RHIShaderFormatDefinitions.h: Names for Shader Formats
5 (that don't require linking).
6=============================================================================*/
7
8#pragma once
9
11
12static FName NAME_PCD3D_SM6(TEXT("PCD3D_SM6"));
13static FName NAME_PCD3D_SM5(TEXT("PCD3D_SM5"));
14static FName NAME_PCD3D_ES3_1(TEXT("PCD3D_ES31"));
15
16static FName NAME_GLSL_150_ES31(TEXT("GLSL_150_ES31"));
17static FName NAME_GLSL_ES3_1_ANDROID(TEXT("GLSL_ES3_1_ANDROID"));
18
19static FName NAME_SF_METAL_ES3_1_IOS_DEPRECATED(TEXT("SF_METAL"));
20static FName NAME_SF_METAL_SM5_IOS_DEPRECATED(TEXT("SF_METAL_MRT"));
21static FName NAME_SF_METAL_ES3_1_TVOS_DEPRECATED(TEXT("SF_METAL_TVOS"));
22static FName NAME_SF_METAL_SM5_TVOS_DEPRECATED(TEXT("SF_METAL_MRT_TVOS"));
23static FName NAME_SF_METAL_MRT_MAC_DEPRECATED(TEXT("SF_METAL_MRT_MAC"));
24
25static FName NAME_SF_METAL_ES3_1_IOS(TEXT("SF_METAL_ES3_1_IOS"));
26static FName NAME_SF_METAL_SM5_IOS(TEXT("SF_METAL_SM5_IOS"));
27static FName NAME_SF_METAL_ES3_1_TVOS(TEXT("SF_METAL_ES3_1_TVOS"));
28static FName NAME_SF_METAL_SM5_TVOS(TEXT("SF_METAL_SM5_TVOS"));
29static FName NAME_SF_METAL_SM5(TEXT("SF_METAL_SM5"));
30static FName NAME_SF_METAL_SM6(TEXT("SF_METAL_SM6"));
31static FName NAME_SF_METAL_SIM(TEXT("SF_METAL_SIM"));
32static FName NAME_SF_METAL_ES3_1(TEXT("SF_METAL_ES3_1"));
33
34static FName NAME_VULKAN_ES3_1_ANDROID(TEXT("SF_VULKAN_ES31_ANDROID"));
35static FName NAME_VULKAN_ES3_1(TEXT("SF_VULKAN_ES31"));
36static FName NAME_VULKAN_SM5(TEXT("SF_VULKAN_SM5"));
37static FName NAME_VULKAN_SM6(TEXT("SF_VULKAN_SM6"));
38static FName NAME_VULKAN_SM5_ANDROID(TEXT("SF_VULKAN_SM5_ANDROID"));
39
40static EShaderPlatform ShaderFormatNameToShaderPlatform(FName ShaderFormat)
41{
42 if (ShaderFormat == NAME_PCD3D_SM6) return SP_PCD3D_SM6;
43 if (ShaderFormat == NAME_PCD3D_SM5) return SP_PCD3D_SM5;
44 if (ShaderFormat == NAME_PCD3D_ES3_1) return SP_PCD3D_ES3_1;
45
46 if (ShaderFormat == NAME_GLSL_150_ES31) return SP_OPENGL_PCES3_1;
47 if (ShaderFormat == NAME_GLSL_ES3_1_ANDROID) return SP_OPENGL_ES3_1_ANDROID;
48
49 if (ShaderFormat == NAME_SF_METAL_ES3_1_IOS) return SP_METAL_ES3_1_IOS;
50 if (ShaderFormat == NAME_SF_METAL_ES3_1_IOS_DEPRECATED) return SP_METAL_ES3_1_IOS;
51 if (ShaderFormat == NAME_SF_METAL_SM5_IOS) return SP_METAL_SM5_IOS;
52 if (ShaderFormat == NAME_SF_METAL_SM5_IOS_DEPRECATED) return SP_METAL_SM5_IOS;
53 if (ShaderFormat == NAME_SF_METAL_ES3_1_TVOS) return SP_METAL_ES3_1_TVOS;
54 if (ShaderFormat == NAME_SF_METAL_ES3_1_TVOS_DEPRECATED) return SP_METAL_ES3_1_TVOS;
55 if (ShaderFormat == NAME_SF_METAL_SM5_TVOS) return SP_METAL_SM5_TVOS;
56 if (ShaderFormat == NAME_SF_METAL_SM5_TVOS_DEPRECATED) return SP_METAL_SM5_TVOS;
57 if (ShaderFormat == NAME_SF_METAL_SM5) return SP_METAL_SM5;
58 if (ShaderFormat == NAME_SF_METAL_SM6) return SP_METAL_SM6;
59 if (ShaderFormat == NAME_SF_METAL_SIM) return SP_METAL_SIM;
60 if (ShaderFormat == NAME_SF_METAL_ES3_1) return SP_METAL_ES3_1;
61 if (ShaderFormat == NAME_SF_METAL_MRT_MAC_DEPRECATED) return SP_METAL_ES3_1;
62
63 if (ShaderFormat == NAME_VULKAN_ES3_1_ANDROID) return SP_VULKAN_ES3_1_ANDROID;
64 if (ShaderFormat == NAME_VULKAN_ES3_1) return SP_VULKAN_PCES3_1;
65 if (ShaderFormat == NAME_VULKAN_SM5) return SP_VULKAN_SM5;
66 if (ShaderFormat == NAME_VULKAN_SM6) return SP_VULKAN_SM6;
67 if (ShaderFormat == NAME_VULKAN_SM5_ANDROID) return SP_VULKAN_SM5_ANDROID;
68
70
72 {
73 if (ShaderFormat == StaticNames.GetShaderFormat(EShaderPlatform(StaticPlatform)))
74 {
76 }
77 }
78
79 return SP_NumPlatforms;
80}
#define TEXT(x)
Definition Platform.h:1272
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
EShaderPlatform
Definition RHIShaderPlatform.h:11
@ SP_StaticPlatform_First
Definition RHIShaderPlatform.h:37
@ SP_METAL_ES3_1
Definition RHIShaderPlatform.h:23
@ SP_OPENGL_PCES3_1
Definition RHIShaderPlatform.h:18
@ SP_METAL_ES3_1_IOS
Definition RHIShaderPlatform.h:13
@ SP_VULKAN_SM5_ANDROID
Definition RHIShaderPlatform.h:46
@ SP_METAL_ES3_1_TVOS
Definition RHIShaderPlatform.h:26
@ SP_VULKAN_ES3_1_ANDROID
Definition RHIShaderPlatform.h:22
@ SP_PCD3D_SM6
Definition RHIShaderPlatform.h:47
@ SP_METAL_SM5_IOS
Definition RHIShaderPlatform.h:15
@ SP_VULKAN_SM5
Definition RHIShaderPlatform.h:21
@ SP_StaticPlatform_Last
Definition RHIShaderPlatform.h:42
@ SP_PCD3D_SM5
Definition RHIShaderPlatform.h:12
@ SP_METAL_SM5
Definition RHIShaderPlatform.h:19
@ SP_VULKAN_PCES3_1
Definition RHIShaderPlatform.h:20
@ SP_METAL_SM5_TVOS
Definition RHIShaderPlatform.h:28
@ SP_METAL_SIM
Definition RHIShaderPlatform.h:50
@ SP_PCD3D_ES3_1
Definition RHIShaderPlatform.h:17
@ SP_OPENGL_ES3_1_ANDROID
Definition RHIShaderPlatform.h:25
@ SP_NumPlatforms
Definition RHIShaderPlatform.h:55
@ SP_METAL_SM6
Definition RHIShaderPlatform.h:49
@ SP_VULKAN_SM6
Definition RHIShaderPlatform.h:48
Definition NameTypes.h:617
Definition RHIStaticShaderPlatformNames.h:9
static RHI_API const FStaticShaderPlatformNames & Get()
Definition RHIStaticShaderPlatformNames.cpp:22