UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RHI.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 RHI.h: Render Hardware Interface definitions.
5=============================================================================*/
6
7#pragma once
8
10#include "RHIDefinitions.h"
11#include "Templates/TypeHash.h" // This must be before StaticArray to resolve adl compile error in nopch unity builds
14#include "Math/IntRect.h"
16#include "Math/ScaleMatrix.h"
18#include "PixelFormat.h"
19#include "GpuProfilerTrace.h"
20#include "RHIShaderPlatform.h"
21#include "RHIFeatureLevel.h"
22#include "RHIAccess.h"
23#include "RHIGlobals.h"
24
27class FRHICommandList;
28
33#if (RHI_NEW_GPU_PROFILER == 0)
34namespace RHIConfig
35{
39}
40#endif
41
46// to trigger GPU specific optimizations and fallbacks
48
49// to trigger GPU specific optimizations and fallbacks
51
52// to trigger GPU specific optimizations and fallbacks
54
55// to trigger GPU specific optimizations and fallbacks
57
58// to trigger GPU specific optimizations and fallbacks
60
61namespace UE::RHI
62{
63 // Returns true when GPU crash debugging is enabled.
65
66 // True when using engine-managed GPU breadcrumb tracking
68
69 // Used to determine whether specific GPU crash debugging features are enabled given the combination of command line switches and console variable settings
71}
72
73// helper to return the shader language version for Metal shader.
75
76// helper to check if a preview feature level has been requested.
78
79// helper to check if preferred EPixelFormat is supported, return one if it is not
81
82// helper to check which resource type should be used for clear (UAV) replacement shaders.
84
85// helper to force dump all RHI resource to CSV file
87
88// helper to check whether rendering to volume textures is supported. This takes both GSupportsVolumeTextureRendering and DDPI entries into account as this is dependent on the preview platform.
90
92{
95 FString Type;
96 FString Flags;
98 bool bResident = false;
99 bool bMarkedForDelete = false;
100 bool bTransient = false;
101 bool bStreaming = false;
102 bool bRenderTarget = false;
103 bool bDepthStencil = false;
106 bool bHasFlags = false;
107
125};
126
128
129#include "MultiGPU.h"
130
131// Calculate the index of the sample in GRHIDefaultMSAASampleOffsets
132extern RHI_API int32 CalculateMSAASampleArrayIndex(int32 NumSamples, int32 SampleIndex);
133
134// Gets the MSAA sample's offset from the center of the pixel coordinate.
135inline FVector2f GetMSAASampleOffsets(int32 NumSamples, int32 SampleIndex)
136{
137 return GRHIDefaultMSAASampleOffsets[CalculateMSAASampleArrayIndex(NumSamples, SampleIndex)];
138}
139
142
147
152
157
163
164
177
180
182{
193
203
204 bool operator==(const FVertexElement& Other) const
205 {
206 return (StreamIndex == Other.StreamIndex &&
207 Offset == Other.Offset &&
208 Type == Other.Type &&
209 AttributeIndex == Other.AttributeIndex &&
210 Stride == Other.Stride &&
211 bUseInstanceIndex == Other.bUseInstanceIndex);
212 }
213
215 {
216 Ar << Element.StreamIndex;
217 Ar << Element.Offset;
218 Ar << Element.Type;
219 Ar << Element.AttributeIndex;
220 Ar << Element.Stride;
221 Ar << Element.bUseInstanceIndex;
222 return Ar;
223 }
224 RHI_API FString ToString() const;
225 RHI_API void FromString(const FString& Src);
226 RHI_API void FromString(const FStringView& Src);
227};
228
230
232{
263 float MipBias = 0.0f;
265 float MinMipLevel = 0.0f;
271
272
275};
276
278{
281 float DepthBias = 0.0f;
284 bool bAllowMSAA = false;
285
292
299
309
311 {
312 Ar << RasterizerStateInitializer.FillMode;
313 Ar << RasterizerStateInitializer.CullMode;
314 Ar << RasterizerStateInitializer.DepthBias;
315 Ar << RasterizerStateInitializer.SlopeScaleDepthBias;
316 Ar << RasterizerStateInitializer.DepthClipMode;
317 Ar << RasterizerStateInitializer.bAllowMSAA;
318 return Ar;
319 }
320
323};
324
326{
329
342
374
376 {
377 Ar << DepthStencilStateInitializer.bEnableDepthWrite;
378 Ar << DepthStencilStateInitializer.DepthTest;
379 Ar << DepthStencilStateInitializer.bEnableFrontFaceStencil;
380 Ar << DepthStencilStateInitializer.FrontFaceStencilTest;
381 Ar << DepthStencilStateInitializer.FrontFaceStencilFailStencilOp;
382 Ar << DepthStencilStateInitializer.FrontFaceDepthFailStencilOp;
383 Ar << DepthStencilStateInitializer.FrontFacePassStencilOp;
384 Ar << DepthStencilStateInitializer.bEnableBackFaceStencil;
385 Ar << DepthStencilStateInitializer.BackFaceStencilTest;
386 Ar << DepthStencilStateInitializer.BackFaceStencilFailStencilOp;
387 Ar << DepthStencilStateInitializer.BackFaceDepthFailStencilOp;
388 Ar << DepthStencilStateInitializer.BackFacePassStencilOp;
389 Ar << DepthStencilStateInitializer.StencilReadMask;
390 Ar << DepthStencilStateInitializer.StencilWriteMask;
391 return Ar;
392 }
393
396
397 RHI_API FString ToString() const;
398 RHI_API void FromString(const FString& Src);
399 RHI_API void FromString(const FStringView& Src);
400};
401
403{
404public:
405
407 {
408 enum
409 {
411 };
419
437
439 {
440 Ar << RenderTarget.ColorBlendOp;
441 Ar << RenderTarget.ColorSrcBlend;
442 Ar << RenderTarget.ColorDestBlend;
443 Ar << RenderTarget.AlphaBlendOp;
444 Ar << RenderTarget.AlphaSrcBlend;
445 Ar << RenderTarget.AlphaDestBlend;
446 Ar << RenderTarget.ColorWriteMask;
447 return Ar;
448 }
449
450 RHI_API FString ToString() const;
451 RHI_API void FromString(const TArray<FString>& Parts, int32 Index);
453 };
454
456
463
464 template<uint32 NumRenderTargets>
476
480
482 {
483 Ar << BlendStateInitializer.RenderTargets;
484 Ar << BlendStateInitializer.bUseIndependentRenderTargetBlendStates;
485 Ar << BlendStateInitializer.bUseAlphaToCoverage;
486 return Ar;
487 }
488
491
494
495 RHI_API FString ToString() const;
496 RHI_API void FromString(const FString& Src);
497 RHI_API void FromString(const FStringView& Src);
498};
499
500
501
522
523
524
541
551
558
560{
561#if PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE == 64
562 uint32 Padding; // pad to 32 bytes to prevent crossing of 64 byte boundary in ExecuteIndirect calls
563#elif PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE == 128
564 uint32 Padding[5]; // pad to 64 bytes to prevent crossing of 128 byte boundary in ExecuteIndirect calls
565#elif PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE != 0
566 #error FRHIDispatchIndirectParameters does not account for PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE.
567#endif
568};
570
578
587
588// RHI base resource types.
589#include "RHIResources.h"
590#include "DynamicRHI.h"
591
593extern RHI_API void RHIInit(bool bHasEditorToken);
594
597
599extern RHI_API void RHIExit();
600
601// Detect whether the current driver is denylisted and show a message box
602// prompting to update it if necessary.
603extern RHI_API void RHIDetectAndWarnOfBadDrivers(bool bHasEditorToken);
604
605// Panic delegate is called when when a fatal condition is encountered within RHI function.
608
609// Return what the expected number of samplers will be supported by a feature level
610// Note that since the Feature Level is pretty orthogonal to the RHI/HW, this is not going to be perfect
611// If should only be used for a guess at the limit, the real limit will not be known until runtime
613{
614 return 16;
615}
616
619
623
624UE_DEPRECATED(5.7, "RHIGetRuntimeBindlessConfiguration should be used")
629
630UE_DEPRECATED(5.7, "RHIGetRuntimeBindlessConfiguration should be used")
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
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
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
#define FVector
Definition IOSSystemIncludes.h:8
EPixelFormatCapabilities
Definition PixelFormat.h:225
EPixelFormat
Definition PixelFormat.h:16
EVertexElementType
Definition RHIDefinitions.h:496
ESamplerAddressMode
Definition RHIDefinitions.h:339
@ AM_Wrap
Definition RHIDefinitions.h:340
ERHIResourceType
Definition RHIDefinitions.h:1030
@ RRT_None
Definition RHIDefinitions.h:1031
EBlendOperation
Definition RHIDefinitions.h:459
@ BO_Add
Definition RHIDefinitions.h:460
@ MaxSimultaneousRenderTargets
Definition RHIDefinitions.h:287
EStencilOp
Definition RHIDefinitions.h:443
@ SO_Keep
Definition RHIDefinitions.h:444
ERasterizerCullMode
Definition RHIDefinitions.h:369
@ CM_None
Definition RHIDefinitions.h:370
ECompareFunction
Definition RHIDefinitions.h:406
@ CF_LessEqual
Definition RHIDefinitions.h:408
@ CF_Always
Definition RHIDefinitions.h:414
ERasterizerDepthClipMode
Definition RHIDefinitions.h:380
ERHIBindlessConfiguration
Definition RHIDefinitions.h:1432
ESamplerFilter
Definition RHIDefinitions.h:326
@ SF_Point
Definition RHIDefinitions.h:327
ESamplerCompareFunction
Definition RHIDefinitions.h:352
@ SCF_Never
Definition RHIDefinitions.h:353
#define PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE
Definition RHIDefinitions.h:40
EBlendFactor
Definition RHIDefinitions.h:472
@ BF_One
Definition RHIDefinitions.h:474
@ BF_Zero
Definition RHIDefinitions.h:473
EColorWriteMask
Definition RHIDefinitions.h:390
@ CW_RGBA
Definition RHIDefinitions.h:398
ERasterizerFillMode
Definition RHIDefinitions.h:358
@ FM_Point
Definition RHIDefinitions.h:359
constexpr float GProjectionSignY
Definition RHIGlobals.h:21
constexpr float GMinClipZ
Definition RHIGlobals.h:18
#define GRHIDefaultMSAASampleOffsets
Definition RHIGlobals.h:912
EShaderPlatform
Definition RHIShaderPlatform.h:11
RHI_API bool RHIGetPreviewFeatureLevel(ERHIFeatureLevel::Type &PreviewFeatureLevelOUT)
Definition RHI.cpp:1413
TArray< FVertexElement, TFixedAllocator< MaxVertexElementCount > > FVertexDeclarationElementList
Definition RHI.h:229
FMatrix AdjustProjectionMatrixForRHI(const FMatrix &InProjectionMatrix)
Definition RHI.h:171
RHI_API void RHIPostInit(const TArray< uint32 > &InPixelFormatByteWidth)
Definition DynamicRHI.cpp:419
bool RHIIsTypedUAVLoadSupported(EPixelFormat InFormat)
Definition RHI.h:148
RHI_API FRHIPanicEvent & RHIGetPanicDelegate()
Definition RHI.cpp:1874
RHI_API void RHIDumpResourceMemoryToCSV()
RHI_API void RHIDetectAndWarnOfBadDrivers(bool bHasEditorToken)
RHI_API void RHISetMobilePreviewFeatureLevel(ERHIFeatureLevel::Type MobilePreviewFeatureLevel)
Definition RHI.cpp:1406
RHI_API bool IsRHIDeviceAMD()
Definition RHI.cpp:1340
RHI_API TOptional< ERHIBindlessConfiguration > RHIGetForcedBindlessConfiguration()
Definition RHI.cpp:1156
uint32 GetExpectedFeatureLevelMaxTextureSamplers(const FStaticFeatureLevel FeatureLevel)
Definition RHI.h:612
FVector2f GetMSAASampleOffsets(int32 NumSamples, int32 SampleIndex)
Definition RHI.h:135
ERHIBindlessConfiguration RHIGetRuntimeBindlessSamplersConfiguration(EShaderPlatform Platform)
Definition RHI.h:631
RHI_API int32 CalculateMSAASampleArrayIndex(int32 NumSamples, int32 SampleIndex)
Definition RHI.cpp:1881
RHI_API void RHIInitDefaultPixelFormatCapabilities()
Definition RHI.cpp:1890
RHI_API void RHIExit()
Definition DynamicRHI.cpp:432
RHI_API void RHIInit(bool bHasEditorToken)
Definition DynamicRHI.cpp:278
RHI_API bool IsRHIDeviceIntel()
Definition RHI.cpp:1346
bool RHIPixelFormatHasCapabilities(EPixelFormat InFormat, EPixelFormatCapabilities InCapabilities)
Definition RHI.h:143
bool RHIIsTypedUAVStoreSupported(EPixelFormat InFormat)
Definition RHI.h:153
RHI_API int32 RHIGetPreferredClearUAVRectPSResourceType(const FStaticShaderPlatform Platform)
Definition RHI.cpp:1441
ERHIBindlessConfiguration RHIGetRuntimeBindlessResourcesConfiguration(EShaderPlatform Platform)
Definition RHI.h:625
RHI_API bool IsRHIDeviceApple()
Definition RHI.cpp:1366
RHI_API SIZE_T CalculateImageBytes(uint32 SizeX, uint32 SizeY, uint32 SizeZ, uint8 Format)
Definition RHI.cpp:1918
RHI_API void RHIGetTrackedResourceStats(TArray< TSharedPtr< FRHIResourceStats > > &OutResourceStats)
RHI_API bool RHIGetShaderPlatformConfigurationString(FString &OutSetting, FConfigCacheIni *Config, EShaderPlatform Platform, const TCHAR *SettingName)
Definition RHI.cpp:1128
RHI_API bool IsRHIDeviceQualcomm()
Definition RHI.cpp:1358
RHI_API ERHIBindlessConfiguration RHIParseBindlessConfiguration(EShaderPlatform Platform, const FString &ConfigSetting, const FString &CvarSetting)
Definition RHI.cpp:1194
RHI_API bool IsRHIDeviceNVIDIA()
Definition RHI.cpp:1352
RHI_API bool RHIGetShaderPlatformConfigurationInt(int32 &OutSetting, FConfigCacheIni *Config, EShaderPlatform Platform, const TCHAR *SettingName)
Definition RHI.cpp:1114
RHI_API EPixelFormat RHIPreferredPixelFormatHint(EPixelFormat PreferredPixelFormat)
Definition RHI.cpp:1432
RHI_API uint32 RHIGetMetalShaderLanguageVersion(const FStaticShaderPlatform Platform)
Definition RHI.cpp:1372
RHI_API bool RHISupportsVolumeTextureRendering(const FStaticShaderPlatform Platform)
Definition RHI.cpp:1455
RHI_API ERHIBindlessConfiguration RHIGetRuntimeBindlessConfiguration(EShaderPlatform Platform)
Definition RHI.cpp:1234
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 Archive.h:1208
Definition RHI.h:403
RHI_API friend bool operator==(const FBlendStateInitializerRHI::FRenderTarget &A, const FBlendStateInitializerRHI::FRenderTarget &B)
Definition RHI.cpp:497
FBlendStateInitializerRHI()
Definition RHI.h:455
bool bUseIndependentRenderTargetBlendStates
Definition RHI.h:478
TStaticArray< FRenderTarget, MaxSimultaneousRenderTargets > RenderTargets
Definition RHI.h:477
FBlendStateInitializerRHI(const FRenderTarget &InRenderTargetBlendState, bool bInUseAlphaToCoverage=false)
Definition RHI.h:457
friend FArchive & operator<<(FArchive &Ar, FBlendStateInitializerRHI &BlendStateInitializer)
Definition RHI.h:481
RHI_API void FromString(const FString &Src)
Definition RHI.cpp:385
RHI_API FString ToString() const
Definition RHI.cpp:374
FBlendStateInitializerRHI(const TStaticArray< FRenderTarget, NumRenderTargets > &InRenderTargetBlendStates, bool bInUseAlphaToCoverage=false)
Definition RHI.h:465
RHI_API friend uint32 GetTypeHash(const FBlendStateInitializerRHI::FRenderTarget &RenderTarget)
Definition RHI.cpp:485
bool bUseAlphaToCoverage
Definition RHI.h:479
Definition ConfigCacheIni.h:1240
Definition NameTypes.h:617
Definition RHICommandList.h:3819
Definition ResourceArray.h:77
Definition ResourceArray.h:102
Definition IConsoleManager.h:558
Definition ArrayView.h:139
Definition Array.h:670
Definition EnumAsByte.h:22
Definition SharedPointer.h:692
Definition StaticArray.h:26
Type
Definition RHIFeatureLevel.h:20
Definition GPUProfiler.cpp:180
bool ShouldShowProfilerAfterProfilingGPU()
Definition GPUProfiler.cpp:186
float GetGPUHitchThreshold()
Definition GPUProfiler.cpp:191
bool ShouldSaveScreenshotAfterProfilingGPU()
Definition GPUProfiler.cpp:181
bool HasCapabilities(EPixelFormat InFormat, EPixelFormatCapabilities InCapabilities)
Definition PixelFormat.h:523
Definition RHIUniformBufferUtilities.h:12
RHI_API bool UseGPUCrashBreadcrumbs()
Definition RHI.cpp:2278
RHI_API bool UseGPUCrashDebugging()
Definition RHI.cpp:2210
RHI_API bool ShouldEnableGPUCrashFeature(IConsoleVariable &CVar, TCHAR const *CommandLineSwitch)
Definition RHI.cpp:2230
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
friend FArchive & operator<<(FArchive &Ar, FRenderTarget &RenderTarget)
Definition RHI.h:438
RHI_API void FromString(const TArray< FString > &Parts, int32 Index)
Definition RHI.cpp:460
TEnumAsByte< EBlendFactor > AlphaDestBlend
Definition RHI.h:417
TEnumAsByte< EBlendOperation > AlphaBlendOp
Definition RHI.h:415
FRenderTarget(EBlendOperation InColorBlendOp=BO_Add, EBlendFactor InColorSrcBlend=BF_One, EBlendFactor InColorDestBlend=BF_Zero, EBlendOperation InAlphaBlendOp=BO_Add, EBlendFactor InAlphaSrcBlend=BF_One, EBlendFactor InAlphaDestBlend=BF_Zero, EColorWriteMask InColorWriteMask=CW_RGBA)
Definition RHI.h:420
TEnumAsByte< EBlendFactor > ColorDestBlend
Definition RHI.h:414
TEnumAsByte< EBlendFactor > ColorSrcBlend
Definition RHI.h:413
TEnumAsByte< EBlendFactor > AlphaSrcBlend
Definition RHI.h:416
RHI_API FString ToString() const
Definition RHI.cpp:447
TEnumAsByte< EColorWriteMask > ColorWriteMask
Definition RHI.h:418
TEnumAsByte< EBlendOperation > ColorBlendOp
Definition RHI.h:412
TEnumAsByte< EStencilOp > FrontFaceStencilFailStencilOp
Definition RHI.h:332
TEnumAsByte< ECompareFunction > DepthTest
Definition RHI.h:328
TEnumAsByte< ECompareFunction > FrontFaceStencilTest
Definition RHI.h:331
RHI_API FString ToString() const
Definition RHI.cpp:309
RHI_API void FromString(const FString &Src)
Definition RHI.cpp:336
TEnumAsByte< EStencilOp > BackFacePassStencilOp
Definition RHI.h:339
TEnumAsByte< EStencilOp > BackFaceDepthFailStencilOp
Definition RHI.h:338
RHI_API friend uint32 GetTypeHash(const FDepthStencilStateInitializerRHI &Initializer)
Definition RHI.cpp:270
friend FArchive & operator<<(FArchive &Ar, FDepthStencilStateInitializerRHI &DepthStencilStateInitializer)
Definition RHI.h:375
uint8 StencilReadMask
Definition RHI.h:340
TEnumAsByte< EStencilOp > BackFaceStencilFailStencilOp
Definition RHI.h:337
TEnumAsByte< EStencilOp > FrontFacePassStencilOp
Definition RHI.h:334
bool bEnableDepthWrite
Definition RHI.h:327
uint8 StencilWriteMask
Definition RHI.h:341
TEnumAsByte< EStencilOp > FrontFaceDepthFailStencilOp
Definition RHI.h:333
TEnumAsByte< ECompareFunction > BackFaceStencilTest
Definition RHI.h:336
FDepthStencilStateInitializerRHI(bool bInEnableDepthWrite=true, ECompareFunction InDepthTest=CF_LessEqual, bool bInEnableFrontFaceStencil=false, ECompareFunction InFrontFaceStencilTest=CF_Always, EStencilOp InFrontFaceStencilFailStencilOp=SO_Keep, EStencilOp InFrontFaceDepthFailStencilOp=SO_Keep, EStencilOp InFrontFacePassStencilOp=SO_Keep, bool bInEnableBackFaceStencil=false, ECompareFunction InBackFaceStencilTest=CF_Always, EStencilOp InBackFaceStencilFailStencilOp=SO_Keep, EStencilOp InBackFaceDepthFailStencilOp=SO_Keep, EStencilOp InBackFacePassStencilOp=SO_Keep, uint8 InStencilReadMask=0xFF, uint8 InStencilWriteMask=0xFF)
Definition RHI.h:343
bool bEnableFrontFaceStencil
Definition RHI.h:330
RHI_API friend bool operator==(const FDepthStencilStateInitializerRHI &A, const FDepthStencilStateInitializerRHI &B)
Definition RHI.cpp:289
bool bEnableBackFaceStencil
Definition RHI.h:335
uint32 ThreadGroupCountZ
Definition RHI.h:556
uint32 ThreadGroupCountX
Definition RHI.h:554
uint32 ThreadGroupCountY
Definition RHI.h:555
Definition RHI.h:560
int32 BaseVertexLocation
Definition RHI.h:584
uint32 IndexCountPerInstance
Definition RHI.h:581
uint32 StartIndexLocation
Definition RHI.h:583
uint32 InstanceCount
Definition RHI.h:582
uint32 StartInstanceLocation
Definition RHI.h:585
Definition RHI.h:572
uint32 StartVertexLocation
Definition RHI.h:575
uint32 InstanceCount
Definition RHI.h:574
uint32 StartInstanceLocation
Definition RHI.h:576
uint32 VertexCountPerInstance
Definition RHI.h:573
Definition RHI.h:543
bool bValid
Definition RHI.h:548
FVRamAllocation VRamAllocation
Definition RHI.h:546
FName Name
Definition RHI.h:544
ERHIResourceType Type
Definition RHI.h:545
bool bResident
Definition RHI.h:549
bool IsTransient
Definition RHI.h:547
Definition RHI.h:92
uint64 SizeInBytes
Definition RHI.h:97
FName OwnerName
Definition RHI.h:94
bool bResident
Definition RHI.h:98
bool bUnorderedAccessView
Definition RHI.h:104
bool bTransient
Definition RHI.h:100
bool bMarkedForDelete
Definition RHI.h:99
bool bDepthStencil
Definition RHI.h:103
FRHIResourceStats(const FName &InName, const FName &InOwnerName, const FString &InType, const FString &InFlags, const uint64 &InSizeInBytes, bool bInResident, bool bInMarkedForDelete, bool bInTransient, bool bInStreaming, bool bInRT, bool bInDS, bool bInUAV, bool bInRTAS, bool bInHasFlags)
Definition RHI.h:108
bool bRenderTarget
Definition RHI.h:102
FString Flags
Definition RHI.h:96
FName Name
Definition RHI.h:93
bool bStreaming
Definition RHI.h:101
FString Type
Definition RHI.h:95
bool bRayTracingAccelerationStructure
Definition RHI.h:105
bool bHasFlags
Definition RHI.h:106
Definition RHI.h:278
PRAGMA_DISABLE_DEPRECATION_WARNINGS FRasterizerStateInitializerRHI()=default
ERasterizerDepthClipMode DepthClipMode
Definition RHI.h:283
float DepthBias
Definition RHI.h:281
FRasterizerStateInitializerRHI & operator=(const FRasterizerStateInitializerRHI &)=default
friend FArchive & operator<<(FArchive &Ar, FRasterizerStateInitializerRHI &RasterizerStateInitializer)
Definition RHI.h:310
bool bAllowMSAA
Definition RHI.h:284
FRasterizerStateInitializerRHI(FRasterizerStateInitializerRHI &&)=default
FRasterizerStateInitializerRHI(ERasterizerFillMode InFillMode, ERasterizerCullMode InCullMode, float InDepthBias, float InSlopeScaleDepthBias, ERasterizerDepthClipMode InDepthClipMode, bool bInAllowMSAA)
Definition RHI.h:300
RHI_API friend uint32 GetTypeHash(const FRasterizerStateInitializerRHI &Initializer)
Definition RHI.cpp:247
RHI_API friend bool operator==(const FRasterizerStateInitializerRHI &A, const FRasterizerStateInitializerRHI &B)
Definition RHI.cpp:258
TEnumAsByte< ERasterizerCullMode > CullMode
Definition RHI.h:280
PRAGMA_ENABLE_DEPRECATION_WARNINGS FRasterizerStateInitializerRHI(ERasterizerFillMode InFillMode, ERasterizerCullMode InCullMode, bool bInAllowMSAA)
Definition RHI.h:293
FRasterizerStateInitializerRHI(const FRasterizerStateInitializerRHI &)=default
float SlopeScaleDepthBias
Definition RHI.h:282
TEnumAsByte< ERasterizerFillMode > FillMode
Definition RHI.h:279
Definition RHI.h:232
TEnumAsByte< ESamplerAddressMode > AddressW
Definition RHI.h:262
float MaxMipLevel
Definition RHI.h:267
float MipBias
Definition RHI.h:263
RHI_API friend bool operator==(const FSamplerStateInitializerRHI &A, const FSamplerStateInitializerRHI &B)
Definition RHI.cpp:231
FSamplerStateInitializerRHI()
Definition RHI.h:233
int32 MaxAnisotropy
Definition RHI.h:268
TEnumAsByte< ESamplerAddressMode > AddressV
Definition RHI.h:261
TEnumAsByte< ESamplerCompareFunction > SamplerComparisonFunction
Definition RHI.h:270
RHI_API friend uint32 GetTypeHash(const FSamplerStateInitializerRHI &Initializer)
Definition RHI.cpp:216
TEnumAsByte< ESamplerAddressMode > AddressU
Definition RHI.h:260
uint32 BorderColor
Definition RHI.h:269
TEnumAsByte< ESamplerFilter > Filter
Definition RHI.h:259
FSamplerStateInitializerRHI(ESamplerFilter InFilter, ESamplerAddressMode InAddressU=AM_Wrap, ESamplerAddressMode InAddressV=AM_Wrap, ESamplerAddressMode InAddressW=AM_Wrap, float InMipBias=0, int32 InMaxAnisotropy=0, float InMinMipLevel=0, float InMaxMipLevel=FLT_MAX, uint32 InBorderColor=0, ESamplerCompareFunction InSamplerComparisonFunction=SCF_Never)
Definition RHI.h:234
float MinMipLevel
Definition RHI.h:265
Definition AndroidStaticFeatureLevel.inl:12
Definition AndroidStaticShaderPlatform.inl:18
Definition RHI.h:526
uint64 AllocationStart
Definition RHI.h:537
bool IsValid() const
Definition RHI.h:534
FVRamAllocation(uint64 InAllocationStart, uint64 InAllocationSize)
Definition RHI.h:528
FVRamAllocation()=default
uint64 AllocationSize
Definition RHI.h:539
Definition RHI.h:182
uint8 AttributeIndex
Definition RHI.h:186
FVertexElement()
Definition RHI.h:194
TEnumAsByte< EVertexElementType > Type
Definition RHI.h:185
RHI_API FString ToString() const
Definition RHI.cpp:180
bool operator==(const FVertexElement &Other) const
Definition RHI.h:204
FVertexElement(uint8 InStreamIndex, uint8 InOffset, EVertexElementType InType, uint8 InAttributeIndex, uint16 InStride, bool bInUseInstanceIndex=false)
Definition RHI.h:195
uint16 Stride
Definition RHI.h:187
uint8 StreamIndex
Definition RHI.h:183
uint16 bUseInstanceIndex
Definition RHI.h:192
friend FArchive & operator<<(FArchive &Ar, FVertexElement &Element)
Definition RHI.h:214
uint8 Offset
Definition RHI.h:184
RHI_API void FromString(const FString &Src)
Definition RHI.cpp:192
Definition RHI.h:507
float TopLeftY
Definition RHI.h:509
float Height
Definition RHI.h:511
float MinDepth
Definition RHI.h:512
float Width
Definition RHI.h:510
FViewportBounds()
Definition RHI.h:515
FViewportBounds(float InTopLeftX, float InTopLeftY, float InWidth, float InHeight, float InMinDepth=0.0f, float InMaxDepth=1.0f)
Definition RHI.h:517
float TopLeftX
Definition RHI.h:508
float MaxDepth
Definition RHI.h:513
Definition Optional.h:131