33#if (RHI_NEW_GPU_PROFILER == 0)
216 Ar << Element.StreamIndex;
217 Ar << Element.Offset;
219 Ar << Element.AttributeIndex;
220 Ar << Element.Stride;
221 Ar << Element.bUseInstanceIndex;
464 template<u
int32 NumRenderTargets>
561#if PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE == 64
563#elif PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE == 128
565#elif PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE != 0
566 #error FRHIDispatchIndirectParameters does not account for PLATFORM_DISPATCH_INDIRECT_ARGUMENT_BOUNDARY_SIZE.
624UE_DEPRECATED(5.7,
"RHIGetRuntimeBindlessConfiguration should be used")
630UE_DEPRECATED(5.7,
"RHIGetRuntimeBindlessConfiguration should be used")
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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 FVector
Definition IOSSystemIncludes.h:8
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
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
Definition Archive.h:1208
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 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
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
@ NUM_STRING_FIELDS
Definition RHI.h:410
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
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
uint32 StartVertexLocation
Definition RHI.h:575
uint32 InstanceCount
Definition RHI.h:574
uint32 StartInstanceLocation
Definition RHI.h:576
uint32 VertexCountPerInstance
Definition RHI.h:573
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
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
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
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
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
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
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