74#if PLATFORM_SUPPORTS_MESH_SHADERS && PLATFORM_USE_FALLBACK_PSO
154 CreateDesc.InitialData->Discard();
157 void* WritableData =
nullptr;
162 WritableData = GetStaticBuffer(CreateDesc.Size);
173 return GetStaticBuffer(
Buffer->GetSize());
255 void* WritableData =
nullptr;
312 Result.Data = GetStaticTextureBuffer(
Texture->GetSizeX(),
Texture->GetSizeY(),
Texture->GetFormat(), Result.Stride, &Result.ByteCount);
320#if ENABLE_LOW_LEVEL_MEM_TRACKER || UE_MEMORY_TRACE_ENABLED
351 OutData.AddZeroed(
Rect.Width() *
Rect.Height());
364 virtual void Clear()
override
368 virtual bool Poll()
const override
436 virtual void RHIEndFrame(
const FRHIEndFrameArgs& Args)
final override;
465 virtual void RHITick(
float DeltaTime)
final override
479 virtual void RHISetViewport(
float MinX,
float MinY,
float MinZ,
float MaxX,
float MaxY,
float MaxZ)
final override
585#if WITH_RHI_BREADCRUMBS
627 void* GetStaticBuffer(
size_t Size);
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ERHIAccess
Definition RHIAccess.h:11
EUniformBufferUsage
Definition RHIDefinitions.h:536
ECubeFace
Definition RHIDefinitions.h:525
EResourceLockMode
Definition RHIDefinitions.h:785
uint8 FUniformBufferStaticSlot
Definition RHIDefinitions.h:722
EVRSRateCombiner
Definition RHIDefinitions.h:873
EUniformBufferValidation
Definition RHIDefinitions.h:546
ERHIInterfaceType
Definition RHIDefinitions.h:157
ETextureCreateFlags
Definition RHIDefinitions.h:1091
ERenderQueryType
Definition RHIDefinitions.h:258
EVRSShadingRate
Definition RHIDefinitions.h:860
ERHIPipeline
Definition RHIPipeline.h:13
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
Definition DynamicRHI.h:1063
Definition LargeMemoryData.h:17
Definition NameTypes.h:617
FNullBuffer(const FRHIBufferCreateDesc &CreateDesc)
Definition NullRHI.h:130
FNullTexture(const FRHITextureCreateDesc &InDesc)
Definition NullRHI.h:214
virtual class IRHICommandContext * RHIGetDefaultContext() final override
Definition NullRHI.h:594
virtual FTextureRHIRef RHIGetViewportBackBuffer(FRHIViewport *Viewport) final override
Definition NullRHI.h:427
virtual uint32 RHIComputeMemorySize(FRHITexture *TextureRHI) final override
Definition NullRHI.h:291
virtual void RHIReadSurfaceData(FRHITexture *Texture, FIntRect Rect, TArray< FColor > &OutData, FReadSurfaceDataFlags InFlags) final override
Definition NullRHI.h:349
virtual FComputeShaderRHIRef RHICreateComputeShader(TArrayView< const uint8 > Code, const FSHAHash &Hash) final override
Definition NullRHI.h:63
virtual void RHIResizeViewport(FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen) final override
Definition NullRHI.h:456
virtual void RHIBeginRenderQuery(FRHIRenderQuery *RenderQuery) final override
Definition NullRHI.h:408
virtual void RHIRead3DSurfaceFloatData(FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData) final override
Definition NullRHI.h:396
virtual void RHIEndDrawingViewport(FRHIViewport *Viewport, bool bPresent, bool bLockToVsync) final override
Definition NullRHI.h:423
virtual void RHIUpdateTexture2D(FRHICommandListBase &, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, const uint8 *SourceData) final override
Definition NullRHI.h:326
virtual void RHIDrawIndexedIndirect(FRHIBuffer *IndexBufferRHI, FRHIBuffer *ArgumentsBufferRHI, int32 DrawArgumentsIndex, uint32 NumInstances) final override
Definition NullRHI.h:527
virtual bool RHIGetRenderQueryResult(FRHIRenderQuery *RenderQuery, uint64 &OutResult, bool bWait, uint32 GPUIndex=INDEX_NONE) final override
Definition NullRHI.h:418
virtual void RHIEndTransitions(TArrayView< const FRHITransition * > Transitions) final override
Definition NullRHI.h:108
virtual void RHIGetTextureMemoryStats(FTextureMemoryStats &OutStats) final override
Definition NullRHI.h:201
virtual void RHIReplaceResources(FRHICommandListBase &RHICmdList, TArray< FRHIResourceReplaceInfo > &&ReplaceInfos) final override
Definition NullRHI.h:181
virtual void RHIMultiDrawIndexedPrimitiveIndirect(FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset, FRHIBuffer *CountBuffer, uint32 CountBufferOffset, uint32 MaxDrawArguments) final override
Definition NullRHI.h:543
virtual void RHISetScissorRect(bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY) final override
Definition NullRHI.h:484
virtual void RHIAliasTextureResources(FTextureRHIRef &DestTexture, FTextureRHIRef &SrcTexture) final override
Definition NullRHI.h:438
virtual void RHIDrawPrimitive(uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances) final override
Definition NullRHI.h:518
virtual FViewportRHIRef RHICreateViewport(void *WindowHandle, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat) final override
Definition NullRHI.h:452
virtual void RHIEndFrame(const FRHIEndFrameArgs &Args) final override
Definition NullRHI.cpp:108
virtual const TCHAR * GetName() override
Definition NullRHI.h:24
virtual void RHISetRasterizerState(FRHIRasterizerState *NewState) final override
Definition NullRHI.h:474
virtual FRHILockTextureResult RHILockTexture(FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments) final override
Definition NullRHI.h:307
virtual void RHIDispatchIndirectComputeShader(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override
Definition NullRHI.h:91
virtual FShaderResourceViewRHIRef RHICreateShaderResourceView(class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)
Definition NullRHI.h:281
virtual void RHISetComputeShader(FRHIComputeShader *ComputeShader) final override
Definition NullRHI.h:81
virtual FGPUFenceRHIRef RHICreateGPUFence(const FName &Name)
Definition NullRHI.h:355
virtual void RHICreateTransition(FRHITransition *Transition, const FRHITransitionCreateInfo &CreateInfo) final override
Definition NullRHI.h:96
virtual FVertexDeclarationRHIRef RHICreateVertexDeclaration(const FVertexDeclarationElementList &Elements) final override
Definition NullRHI.h:43
virtual void * RHIGetNativeInstance() final override
Definition NullRHI.h:572
virtual void RHISetStaticUniformBuffer(FUniformBufferStaticSlot Slot, FRHIUniformBuffer *UniformBuffer) final override
Definition NullRHI.h:581
virtual void RHIUpdateUniformBuffer(FRHICommandListBase &RHICmdList, FRHIUniformBuffer *UniformBufferRHI, const void *Contents) final override
Definition NullRHI.h:122
IRHIPlatformCommandList * RHIFinalizeParallelContext(IRHIComputeContext *Context) override final
Definition NullRHI.h:613
FNullDynamicRHI()
Definition NullRHI.cpp:16
virtual IRHIComputeContext * RHIGetCommandContext(ERHIPipeline Pipeline, FRHIGPUMask GPUMask) final override
Definition NullRHI.h:599
virtual FRasterizerStateRHIRef RHICreateRasterizerState(const FRasterizerStateInitializerRHI &Initializer) final override
Definition NullRHI.h:31
virtual FBlendStateRHIRef RHICreateBlendState(const FBlendStateInitializerRHI &Initializer) final override
Definition NullRHI.h:39
virtual void RHISetViewport(float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ) final override
Definition NullRHI.h:479
virtual void RHIDrawIndexedPrimitiveIndirect(FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override
Definition NullRHI.h:538
virtual void RHISubmitCommandLists(FRHISubmitCommandListsArgs &&Args) final override
Definition NullRHI.h:619
virtual FUnorderedAccessViewRHIRef RHICreateUnorderedAccessView(class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)
Definition NullRHI.h:286
virtual void * RHIGetNativeDevice() final override
Definition NullRHI.h:568
virtual void RHISetShadingRate(EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner) final override
Definition NullRHI.h:565
virtual IRHIComputeContext * RHIGetParallelCommandContext(FRHIParallelRenderPassInfo const &ParallelRenderPass, FRHIGPUMask GPUMask) final override
Definition NullRHI.h:604
virtual ERHIInterfaceType GetInterfaceType() const override
Definition NullRHI.h:25
virtual FRenderQueryRHIRef RHICreateRenderQuery(ERenderQueryType QueryType) final override
Definition NullRHI.h:403
virtual void RHIReleaseTransition(FRHITransition *Transition) final override
Definition NullRHI.h:100
virtual void UnlockBuffer_BottomOfPipe(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer) final override
Definition NullRHI.h:176
virtual void RHISetBoundShaderState(FRHIBoundShaderState *BoundShaderState) final override
Definition NullRHI.h:488
virtual void RHISetStreamSource(uint32 StreamIndex, FRHIBuffer *VertexBuffer, uint32 Offset) final override
Definition NullRHI.h:470
virtual void RHIGetSupportedResolution(uint32 &Width, uint32 &Height) final override
Definition NullRHI.h:555
virtual void RHIUnlockTexture(FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments) final override
Definition NullRHI.h:316
virtual void RHIEnableDepthBoundsTest(bool bEnable) final override
Definition NullRHI.h:559
virtual FVertexShaderRHIRef RHICreateVertexShader(TArrayView< const uint8 > Code, const FSHAHash &Hash) final override
Definition NullRHI.h:53
virtual bool RHIGetTextureMemoryVisualizeData(FColor *TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize) final override
Definition NullRHI.h:206
virtual void RHIBeginTransitions(TArrayView< const FRHITransition * > Transitions) final override
Definition NullRHI.h:104
virtual void RHIDrawPrimitiveIndirect(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override
Definition NullRHI.h:522
virtual void RHISetStaticUniformBuffers(const FUniformBufferStaticBindings &InUniformBuffers) final override
Definition NullRHI.h:577
virtual FDepthStencilStateRHIRef RHICreateDepthStencilState(const FDepthStencilStateInitializerRHI &Initializer) final override
Definition NullRHI.h:35
virtual void RHIDispatchComputeShader(uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ) final override
Definition NullRHI.h:86
virtual void RHIReadSurfaceFloatData(FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex) final override
Definition NullRHI.h:391
virtual FPixelShaderRHIRef RHICreatePixelShader(TArrayView< const uint8 > Code, const FSHAHash &Hash) final override
Definition NullRHI.h:48
virtual void RHICopyTexture(FRHITexture *SourceTexture, FRHITexture *DestTexture, const FRHICopyTextureInfo &CopyInfo) final override
Definition NullRHI.h:335
virtual FRHITextureInitializer RHICreateTextureInitializer(FRHICommandListBase &RHICmdList, const FRHITextureCreateDesc &CreateDesc)
Definition NullRHI.h:248
virtual void RHISetMultipleViewports(uint32 Count, const FViewportBounds *Data) final override
Definition NullRHI.h:112
virtual void RHISetDepthBounds(float MinDepth, float MaxDepth) final override
Definition NullRHI.h:562
virtual void RHIMapStagingSurface(FRHITexture *Texture, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight, uint32 GPUIndex) final override
Definition NullRHI.h:380
virtual void RHISetShaderParameters(FRHIGraphicsShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters) final override
Definition NullRHI.h:492
virtual void RHIBeginRenderPass(const FRHIRenderPassInfo &InInfo, const TCHAR *InName)
Definition NullRHI.h:510
virtual void Shutdown()
Definition NullRHI.cpp:72
virtual void RHICheckViewportHDRStatus(FRHIViewport *Viewport) final override
Definition NullRHI.h:461
virtual void RHIUpdateTexture3D(FRHICommandListBase &, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 *SourceData) final override
Definition NullRHI.h:330
virtual void * LockBuffer_BottomOfPipe(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode) final override
Definition NullRHI.h:171
virtual bool RHIGetAvailableResolutions(FScreenResolutionArray &Resolutions, bool bIgnoreRefreshRate) final override
Definition NullRHI.h:551
virtual FTextureRHIRef RHIAsyncCreateTexture2D(uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ERHIAccess InResourceState, void **InitialMipData, uint32 NumInitialMips, const TCHAR *DebugName, FGraphEventRef &OutCompletionEvent) final override
Definition NullRHI.h:269
virtual void RHICopyBufferRegion(FRHIBuffer *DestBuffer, uint64 DstOffset, FRHIBuffer *SourceBuffer, uint64 SrcOffset, uint64 NumBytes) final override
Definition NullRHI.h:340
virtual void RHIUnmapStagingSurface(FRHITexture *Texture, uint32 GPUIndex) final override
Definition NullRHI.h:386
virtual void RHIEndRenderPass()
Definition NullRHI.h:514
virtual void RHIFlushResources() final override
Definition NullRHI.h:447
virtual void RHISetShaderParameters(FRHIComputeShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters) final override
Definition NullRHI.h:496
virtual void RHISetDepthStencilState(FRHIDepthStencilState *NewState, uint32 StencilRef) final override
Definition NullRHI.h:500
virtual FRHICalcTextureSizeResult RHICalcTexturePlatformSize(FRHITextureDesc const &Desc, uint32 FirstMipIndex) override final
Definition NullRHI.h:196
virtual void RHIBlockUntilGPUIdle() final override
Definition NullRHI.h:548
virtual void RHIClearUAVFloat(FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FVector4f &Values) final override
Definition NullRHI.h:186
virtual FRHIBufferInitializer RHICreateBufferInitializer(FRHICommandListBase &RHICmdList, const FRHIBufferCreateDesc &CreateDesc) final override
Definition NullRHI.h:150
virtual FSamplerStateRHIRef RHICreateSamplerState(const FSamplerStateInitializerRHI &Initializer) final override
Definition NullRHI.h:27
virtual void RHISetBlendState(FRHIBlendState *NewState, const FLinearColor &BlendFactor) final override
Definition NullRHI.h:505
virtual void RHIDrawIndexedPrimitive(FRHIBuffer *IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances) final override
Definition NullRHI.h:533
virtual FBoundShaderStateRHIRef RHICreateBoundShaderState(FRHIVertexDeclaration *VertexDeclaration, FRHIVertexShader *VertexShader, FRHIPixelShader *PixelShader, FRHIGeometryShader *GeometryShader) final override
Definition NullRHI.h:69
virtual void RHITick(float DeltaTime) final override
Definition NullRHI.h:465
virtual void RHIAdvanceFrameForGetViewportBackBuffer(FRHIViewport *Viewport, bool bPresent) final override
Definition NullRHI.h:442
virtual void RHIBindDebugLabelName(FRHICommandListBase &RHICmdList, FRHITexture *Texture, const TCHAR *Name) final override
Definition NullRHI.h:344
virtual FGeometryShaderRHIRef RHICreateGeometryShader(TArrayView< const uint8 > Code, const FSHAHash &Hash) final override
Definition NullRHI.h:58
virtual FUniformBufferRHIRef RHICreateUniformBuffer(const void *Contents, const FRHIUniformBufferLayout *Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation) final override
Definition NullRHI.h:117
virtual void RHIEndRenderQuery(FRHIRenderQuery *RenderQuery) final override
Definition NullRHI.h:412
virtual void RHIFinalizeContext(FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output) final override
Definition NullRHI.h:609
virtual void RHIClearUAVUint(FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FUintVector4 &Values) final override
Definition NullRHI.h:191
virtual FTextureRHIRef RHIAsyncReallocateTexture2D(FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus) final override
Definition NullRHI.h:295
virtual void Init()
Definition NullRHI.cpp:25
Definition RHIResources.h:966
Definition RHIResources.h:696
Definition RHIResources.h:733
Definition RHIResources.h:1581
Definition RHICommandList.h:455
Definition RHIResources.h:1018
Definition RHIResources.h:686
Definition RHIResources.h:2387
Definition RHIResources.h:978
Definition RHIResources.h:947
Definition RHIResources.h:960
Definition RHIResources.h:972
Definition RHIResources.h:679
Definition RHIResources.h:2444
Definition RHIResources.h:671
Definition RHIResources.h:3304
Definition RHIResources.h:2153
virtual const FRHITextureDesc & GetDesc() const
Definition RHIResources.h:2170
Definition RHIResources.h:3294
Definition RHIResources.h:725
Definition RHIResources.h:954
Definition RHIResources.h:1265
Definition RHIResources.h:2515
Definition SecureHash.h:226
Definition ThreadSafeCounter.h:14
Definition RHIContext.h:903
Definition RHIContext.h:693
Definition RHIContext.h:257
Definition ArrayView.h:139
Definition RHIPipeline.h:55
static RHI_API const FClearValueBinding None
Definition RHIResources.h:358
Definition DynamicRHI.h:896
Definition DynamicRHI.h:937
FNullBufferInitializer(FRHICommandListBase &RHICmdList, FNullBuffer *Buffer, void *InWritableData, uint64 InWritableDataSize)
Definition NullRHI.h:138
FNullTextureInitializer(FRHICommandListBase &RHICmdList, FRHITexture *Texture, void *InWritableData, uint64 InWritableDataSize)
Definition NullRHI.h:221
Definition RHIResources.h:1417
Definition RHIBufferInitializer.h:12
FRHIBuffer * Buffer
Definition RHIBufferInitializer.h:99
Definition DynamicRHI.h:120
Definition RHICommandList.h:183
Definition DynamicRHI.h:149
Definition DynamicRHI.h:198
Definition RHIResources.h:5548
Definition RHIResources.h:5248
Definition RHIResources.h:1938
FRHITextureCreateDesc & SetFlags(ETextureCreateFlags InFlags)
Definition RHIResources.h:2063
FResourceBulkDataInterface * BulkData
Definition RHIResources.h:2140
FRHITextureCreateDesc & SetNumSamples(uint8 InNumSamples)
Definition RHIResources.h:2073
FRHITextureCreateDesc & SetInitialState(ERHIAccess InInitialState)
Definition RHIResources.h:2078
FRHITextureCreateDesc & SetClearValue(FClearValueBinding InClearValue)
Definition RHIResources.h:2065
static FRHITextureCreateDesc Create2D(const TCHAR *InDebugName)
Definition RHIResources.h:1944
ERHITextureInitAction InitAction
Definition RHIResources.h:2137
FRHITextureCreateDesc & SetNumMips(uint8 InNumMips)
Definition RHIResources.h:2072
Definition RHIResources.h:1689
Definition RHITextureInitializer.h:77
Definition RHITextureInitializer.h:50
FRHITexture * Texture
Definition RHITextureInitializer.h:179
void * WritableData
Definition RHITextureInitializer.h:182
Definition RHITextureInitializer.h:29
Definition RHITransition.h:382
Definition RHITransition.h:475
Definition RHIResources.h:2648
Definition RHITypes.h:127
Definition RHITypes.h:155
Definition LinuxPlatformSplash.cpp:43