UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NullRHI.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "RHI.h"
8#include "RHITypes.h"
10#include "RHITextureUtils.h"
11
12struct Rect;
13
16{
17public:
18
20
21 // FDynamicRHI interface.
22 virtual void Init();
23 virtual void Shutdown();
24 virtual const TCHAR* GetName() override { return TEXT("Null"); }
25 virtual ERHIInterfaceType GetInterfaceType() const override { return ERHIInterfaceType::Null; }
26
40 {
41 return new FRHIBlendState();
42 }
44 {
45 return new FRHIVertexDeclaration();
46 }
47
49 {
50 return new FRHIPixelShader();
51 }
52
54 {
55 return new FRHIVertexShader();
56 }
57
59 {
60 return new FRHIGeometryShader();
61 }
62
64 {
65 return new FRHIComputeShader();
66 }
67
68
73
74#if PLATFORM_SUPPORTS_MESH_SHADERS && PLATFORM_USE_FALLBACK_PSO
76 {
77 return new FRHIBoundShaderState();
78 }
79#endif
80
82 {
83
84 }
85
86 virtual void RHIDispatchComputeShader(uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ) final override
87 {
88
89 }
90
91 virtual void RHIDispatchIndirectComputeShader(FRHIBuffer* ArgumentBuffer, uint32 ArgumentOffset) final override
92 {
93
94 }
95
96 virtual void RHICreateTransition(FRHITransition* Transition, const FRHITransitionCreateInfo& CreateInfo) final override
97 {
98 }
99
100 virtual void RHIReleaseTransition(FRHITransition* Transition) final override
101 {
102 }
103
104 virtual void RHIBeginTransitions(TArrayView<const FRHITransition*> Transitions) final override
105 {
106 }
107
108 virtual void RHIEndTransitions(TArrayView<const FRHITransition*> Transitions) final override
109 {
110 }
111
112 virtual void RHISetMultipleViewports(uint32 Count, const FViewportBounds* Data) final override
113 {
114
115 }
116
121
122 virtual void RHIUpdateUniformBuffer(FRHICommandListBase& RHICmdList, FRHIUniformBuffer* UniformBufferRHI, const void* Contents) final override
123 {
124
125 }
126
127 class FNullBuffer : public FRHIBuffer
128 {
129 public:
131 : FRHIBuffer(CreateDesc)
132 {
133 }
134 };
135
148
149 [[nodiscard]]
151 {
152 if (CreateDesc.InitAction == ERHIBufferInitAction::ResourceArray && CreateDesc.InitialData)
153 {
154 CreateDesc.InitialData->Discard();
155 }
156
157 void* WritableData = nullptr;
159
160 if (CreateDesc.InitAction == ERHIBufferInitAction::Initializer)
161 {
162 WritableData = GetStaticBuffer(CreateDesc.Size);
163 WritableDataSize = CreateDesc.Size;
164 }
165
166 FNullBuffer* Buffer = new FNullBuffer(CreateDesc);
167
168 return FNullBufferInitializer(RHICmdList, Buffer, WritableData, WritableDataSize);
169 }
170
172 {
173 return GetStaticBuffer(Buffer->GetSize());
174 }
175
176 virtual void UnlockBuffer_BottomOfPipe(FRHICommandListBase& RHICmdList, FRHIBuffer* Buffer) final override
177 {
178
179 }
180
182 {
183
184 }
185
186 virtual void RHIClearUAVFloat(FRHIUnorderedAccessView* UnorderedAccessViewRHI, const FVector4f& Values) final override
187 {
188
189 }
190
191 virtual void RHIClearUAVUint(FRHIUnorderedAccessView* UnorderedAccessViewRHI, const FUintVector4& Values) final override
192 {
193
194 }
195
196 virtual FRHICalcTextureSizeResult RHICalcTexturePlatformSize(FRHITextureDesc const& Desc, uint32 FirstMipIndex) override final
197 {
198 return {};
199 }
200
202 {
203
204 }
205
206 virtual bool RHIGetTextureMemoryVisualizeData(FColor* TextureData,int32 SizeX,int32 SizeY,int32 Pitch,int32 PixelSize) final override
207 {
208 return false;
209 }
210
212 {
213 public:
217 };
218
220 {
224 {
225 return MoveTemp(Texture);
226 },
228 {
229 const FRHITextureDesc& TextureDesc = Texture->GetDesc();
230
233 const uint64 Offset = UE::RHITextureUtils::CalculateSubresourceOffset(TextureDesc, SubresourceIndex.FaceIndex, SubresourceIndex.ArrayIndex, SubresourceIndex.MipIndex, SubresourceStride, SubresourceSize);
234
236 Result.Data = reinterpret_cast<uint8*>(WritableData) + Offset;
237 Result.Stride = SubresourceStride;
238 Result.Size = SubresourceSize;
239
240 return Result;
241 }
242 )
243 {
244 }
245 };
246
247 [[nodiscard]]
249 {
250 if (CreateDesc.InitAction == ERHITextureInitAction::BulkData && CreateDesc.BulkData)
251 {
252 CreateDesc.BulkData->Discard();
253 }
254
255 void* WritableData = nullptr;
257
259 {
260 WritableDataSize = UE::RHITextureUtils::CalculateTextureSize(CreateDesc);
261 WritableData = GetStaticBuffer(WritableDataSize);
262 }
263
264 FRHITexture* Texture = new FNullTexture(CreateDesc);
265
266 return FNullTextureInitializer(RHICmdList, Texture, WritableData, WritableDataSize);
267 }
268
280
282 {
283 return new FRHIShaderResourceView(Resource, ViewDesc);
284 }
285
287 {
288 return new FRHIUnorderedAccessView(Resource, ViewDesc);
289 }
290
291 virtual uint32 RHIComputeMemorySize(FRHITexture* TextureRHI) final override
292 {
293 return 0;
294 }
296 {
297 const FRHITextureCreateDesc Desc =
298 FRHITextureCreateDesc::Create2D(TEXT("FNullDynamicRHI::RHIAsyncReallocateTexture2D"), NewSizeX, NewSizeY, Texture2D->GetFormat())
299 .SetClearValue(Texture2D->GetClearBinding())
300 .SetFlags(Texture2D->GetFlags())
302 .SetNumSamples(Texture2D->GetNumSamples());
303
304 return new FNullTexture(Desc);
305 }
306
307 virtual FRHILockTextureResult RHILockTexture(FRHICommandListImmediate& RHICmdList, const FRHILockTextureArgs& Arguments) final override
308 {
309 FRHITexture* Texture = Arguments.Texture;
310
311 FRHILockTextureResult Result{};
312 Result.Data = GetStaticTextureBuffer(Texture->GetSizeX(), Texture->GetSizeY(), Texture->GetFormat(), Result.Stride, &Result.ByteCount);
313
314 return Result;
315 }
316 virtual void RHIUnlockTexture(FRHICommandListImmediate& RHICmdList, const FRHILockTextureArgs& Arguments) final override
317 {
318 }
319
320#if ENABLE_LOW_LEVEL_MEM_TRACKER || UE_MEMORY_TRACE_ENABLED
321 virtual void RHIUpdateAllocationTags(FRHICommandListBase& RHICmdList, FRHIBuffer* Buffer) final override
322 {
323 }
324#endif
325
326 virtual void RHIUpdateTexture2D(FRHICommandListBase&, FRHITexture* Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D& UpdateRegion, uint32 SourcePitch, const uint8* SourceData) final override
327 {
328
329 }
330 virtual void RHIUpdateTexture3D(FRHICommandListBase&, FRHITexture* Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D& UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8* SourceData) final override
331 {
332
333 }
334
335 virtual void RHICopyTexture(FRHITexture* SourceTexture, FRHITexture* DestTexture, const FRHICopyTextureInfo& CopyInfo) final override
336 {
337
338 }
339
340 virtual void RHICopyBufferRegion(FRHIBuffer* DestBuffer, uint64 DstOffset, FRHIBuffer* SourceBuffer, uint64 SrcOffset, uint64 NumBytes) final override
341 {
342 }
343
344 virtual void RHIBindDebugLabelName(FRHICommandListBase& RHICmdList, FRHITexture* Texture, const TCHAR* Name) final override
345 {
346
347 }
348
350 {
351 OutData.AddZeroed(Rect.Width() * Rect.Height());
352 }
353
354
356 {
357 class FNullGPUFence final : public FRHIGPUFence
358 {
359 public:
360 FNullGPUFence(const FName& Name)
362 {}
363
364 virtual void Clear() override
365 {
366 }
367
368 virtual bool Poll() const override
369 {
370 return true;
371 }
372
373 virtual void Wait(FRHICommandListImmediate& RHICmdList, FRHIGPUMask GPUMask) const override
374 {
375 }
376 };
377 return new FNullGPUFence(Name);
378 }
379
380 virtual void RHIMapStagingSurface(FRHITexture* Texture, FRHIGPUFence* Fence, void*& OutData, int32& OutWidth, int32& OutHeight, uint32 GPUIndex) final override
381 {
382
383 }
384
385
386 virtual void RHIUnmapStagingSurface(FRHITexture* Texture, uint32 GPUIndex) final override
387 {
388
389 }
390
391 virtual void RHIReadSurfaceFloatData(FRHITexture* Texture,FIntRect Rect,TArray<FFloat16Color>& OutData,ECubeFace CubeFace,int32 ArrayIndex,int32 MipIndex) final override
392 {
393
394 }
395
397 {
398
399 }
400
401
402
404 {
405 return new FRHIRenderQuery();
406 }
407
408 virtual void RHIBeginRenderQuery(FRHIRenderQuery* RenderQuery) final override
409 {
410
411 }
412 virtual void RHIEndRenderQuery(FRHIRenderQuery* RenderQuery) final override
413 {
414
415 }
416
417
418 virtual bool RHIGetRenderQueryResult(FRHIRenderQuery* RenderQuery, uint64& OutResult, bool bWait, uint32 GPUIndex = INDEX_NONE) final override
419 {
420 return true;
421 }
422
423 virtual void RHIEndDrawingViewport(FRHIViewport* Viewport, bool bPresent, bool bLockToVsync) final override
424 {
425 }
426
427 virtual FTextureRHIRef RHIGetViewportBackBuffer(FRHIViewport* Viewport) final override
428 {
429 const FRHITextureCreateDesc Desc =
430 FRHITextureCreateDesc::Create2D(TEXT("FNullDynamicRHI::RHIGetViewportBackBuffer"), 1, 1, PF_B8G8R8A8)
432
433 return new FNullTexture(Desc);
434 }
435
436 virtual void RHIEndFrame(const FRHIEndFrameArgs& Args) final override;
437
438 virtual void RHIAliasTextureResources(FTextureRHIRef& DestTexture, FTextureRHIRef& SrcTexture) final override
439 {
440
441 }
442 virtual void RHIAdvanceFrameForGetViewportBackBuffer(FRHIViewport* Viewport, bool bPresent) final override
443 {
444
445 }
446
447 virtual void RHIFlushResources() final override
448 {
449
450 }
451
452 virtual FViewportRHIRef RHICreateViewport(void* WindowHandle, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat) final override
453 {
454 return new FRHIViewport();
455 }
456 virtual void RHIResizeViewport(FRHIViewport* Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen) final override
457 {
458
459 }
460
461 virtual void RHICheckViewportHDRStatus(FRHIViewport* Viewport) final override
462 {
463 }
464
465 virtual void RHITick(float DeltaTime) final override
466 {
467
468 }
469
470 virtual void RHISetStreamSource(uint32 StreamIndex, FRHIBuffer* VertexBuffer, uint32 Offset) final override
471 {
472 }
473
474 virtual void RHISetRasterizerState(FRHIRasterizerState* NewState) final override
475 {
476
477 }
478
479 virtual void RHISetViewport(float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ) final override
480 {
481
482 }
483
484 virtual void RHISetScissorRect(bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY) final override
485 {
486 }
487
488 virtual void RHISetBoundShaderState(FRHIBoundShaderState* BoundShaderState) final override
489 {
490 }
491
495
499
500 virtual void RHISetDepthStencilState(FRHIDepthStencilState* NewState, uint32 StencilRef) final override
501 {
502
503 }
504
505 virtual void RHISetBlendState(FRHIBlendState* NewState, const FLinearColor& BlendFactor) final override
506 {
507
508 }
509
510 virtual void RHIBeginRenderPass(const FRHIRenderPassInfo& InInfo, const TCHAR* InName)
511 {
512 }
513
514 virtual void RHIEndRenderPass()
515 {
516 }
517
518 virtual void RHIDrawPrimitive(uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances) final override
519 {
520
521 }
522 virtual void RHIDrawPrimitiveIndirect(FRHIBuffer* ArgumentBuffer, uint32 ArgumentOffset) final override
523 {
524
525 }
526
527 virtual void RHIDrawIndexedIndirect(FRHIBuffer* IndexBufferRHI, FRHIBuffer* ArgumentsBufferRHI, int32 DrawArgumentsIndex, uint32 NumInstances) final override
528 {
529
530 }
531
532
533 virtual void RHIDrawIndexedPrimitive(FRHIBuffer* IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances) final override
534 {
535
536 }
537
538 virtual void RHIDrawIndexedPrimitiveIndirect(FRHIBuffer* IndexBuffer, FRHIBuffer* ArgumentBuffer, uint32 ArgumentOffset) final override
539 {
540
541 }
542
547
548 virtual void RHIBlockUntilGPUIdle() final override
549 {
550 }
552 {
553 return false;
554 }
555 virtual void RHIGetSupportedResolution(uint32& Width, uint32& Height) final override
556 {
557
558 }
559 virtual void RHIEnableDepthBoundsTest(bool bEnable) final override
560 {
561 }
562 virtual void RHISetDepthBounds(float MinDepth, float MaxDepth) final override
563 {
564 }
565 virtual void RHISetShadingRate(EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner) final override
566 {
567 }
568 virtual void* RHIGetNativeDevice() final override
569 {
570 return 0;
571 }
572 virtual void* RHIGetNativeInstance() final override
573 {
574 return 0;
575 }
576
578 {
579 }
580
584
585#if WITH_RHI_BREADCRUMBS
586 virtual void RHIBeginBreadcrumbGPU(FRHIBreadcrumbNode* Breadcrumb) final override
587 {
588 }
589 virtual void RHIEndBreadcrumbGPU(FRHIBreadcrumbNode* Breadcrumb) final override
590 {
591 }
592#endif
593
594 virtual class IRHICommandContext* RHIGetDefaultContext() final override
595 {
596 return this;
597 }
598
600 {
601 return nullptr;
602 }
603
605 {
606 return nullptr;
607 }
608
612
614 {
615 // TODO: Implement and test this
616 return nullptr;
617 }
618
619 virtual void RHISubmitCommandLists(FRHISubmitCommandListsArgs&& Args) final override
620 {
621 }
622
623private:
624 FLargeMemoryData MemoryBuffer;
625
627 void* GetStaticBuffer(size_t Size);
628 void* GetStaticTextureBuffer(int32 SizeX, int32 SizeY, EPixelFormat Format, uint32& DestStride, uint64* OutLockedByteCount = nullptr);
629};
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#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
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
EPixelFormat
Definition PixelFormat.h:16
@ PF_B8G8R8A8
Definition PixelFormat.h:19
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
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RHI.h:403
Definition DynamicRHI.h:1063
Definition LargeMemoryData.h:17
Definition NameTypes.h:617
Definition NullRHI.h:128
FNullBuffer(const FRHIBufferCreateDesc &CreateDesc)
Definition NullRHI.h:130
Definition NullRHI.h:212
FNullTexture(const FRHITextureCreateDesc &InDesc)
Definition NullRHI.h:214
Definition NullRHI.h:16
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 RHICommandList.h:4626
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:1232
Definition RHIResources.h:3294
Definition RHIResources.h:725
Definition RHIResources.h:954
Definition RHIResources.h:1265
Definition RHIResources.h:2515
Definition RHITypes.h:16
virtual void Discard()=0
Definition SecureHash.h:226
Definition ThreadSafeCounter.h:14
Definition RHIContext.h:49
Definition RHIContext.h:903
Definition RHIContext.h:693
Definition RHIContext.h:257
Definition RHIContext.h:234
Definition ArrayView.h:139
Definition RHIPipeline.h:55
static RHI_API const FClearValueBinding None
Definition RHIResources.h:358
Definition Color.h:486
Definition DynamicRHI.h:896
Definition DynamicRHI.h:937
Definition Color.h:48
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 MultiGPU.h:33
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:1150
Definition RHIResources.h:2648
Definition RHI.h:278
Definition RHI.h:232
Definition RHIStats.h:12
Definition RHITypes.h:127
Definition RHITypes.h:155
Definition RHI.h:507
Definition LinuxPlatformSplash.cpp:43
Definition IntPoint.h:25