UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ID3D12DynamicRHI Struct Referenceabstract

#include <ID3D12DynamicRHI.h>

+ Inheritance diagram for ID3D12DynamicRHI:

Public Member Functions

virtual ERHIInterfaceType GetInterfaceType () const override final
 
virtual TArray< FD3D12MinimalAdapterDescRHIGetAdapterDescs () const =0
 
virtual bool RHIIsPixEnabled () const =0
 
virtual ID3D12CommandQueueRHIGetCommandQueue () const =0
 
virtual ID3D12DeviceRHIGetDevice (uint32 InIndex) const =0
 
virtual uint32 RHIGetDeviceNodeMask (uint32 InIndex) const =0
 
virtual ID3D12GraphicsCommandListRHIGetGraphicsCommandList (FRHICommandListBase &ExecutingCmdList, uint32 InDeviceIndex) const =0
 
virtual DXGI_FORMAT RHIGetSwapChainFormat (EPixelFormat InFormat) const =0
 
virtual FTextureRHIRef RHICreateTexture2DFromResource (EPixelFormat Format, ETextureCreateFlags TexCreateFlags, const FClearValueBinding &ClearValueBinding, ID3D12Resource *Resource)=0
 
virtual FTextureRHIRef RHICreateTexture2DArrayFromResource (EPixelFormat Format, ETextureCreateFlags TexCreateFlags, const FClearValueBinding &ClearValueBinding, ID3D12Resource *Resource)=0
 
virtual FTextureRHIRef RHICreateTextureCubeFromResource (EPixelFormat Format, ETextureCreateFlags TexCreateFlags, const FClearValueBinding &ClearValueBinding, ID3D12Resource *Resource)=0
 
virtual ID3D12ResourceRHIGetResource (FRHIBuffer *InBuffer) const =0
 
virtual uint32 RHIGetResourceDeviceIndex (FRHIBuffer *InBuffer) const =0
 
virtual int64 RHIGetResourceMemorySize (FRHIBuffer *InBuffer) const =0
 
virtual bool RHIIsResourcePlaced (FRHIBuffer *InBuffer) const =0
 
virtual ID3D12ResourceRHIGetResource (FRHITexture *InTexture) const =0
 
virtual uint32 RHIGetResourceDeviceIndex (FRHITexture *InTexture) const =0
 
virtual int64 RHIGetResourceMemorySize (FRHITexture *InTexture) const =0
 
virtual bool RHIIsResourcePlaced (FRHITexture *InTexture) const =0
 
virtual D3D12_CPU_DESCRIPTOR_HANDLE RHIGetRenderTargetView (FRHITexture *InTexture, int32 InMipIndex=0, int32 InArraySliceIndex=0) const =0
 
virtual void RHIFinishExternalComputeWork (FRHICommandListBase &ExecutingCmdList, uint32 InDeviceIndex, ID3D12GraphicsCommandList *InCommandList)=0
 
virtual void RHITransitionResource (FRHICommandList &RHICmdList, FRHITexture *InTexture, D3D12_RESOURCE_STATES InState, uint32 InSubResource)=0
 
virtual void RHISignalManualFence (FRHICommandList &RHICmdList, ID3D12Fence *Fence, uint64 Value)=0
 
virtual void RHIWaitManualFence (FRHICommandList &RHICmdList, ID3D12Fence *Fence, uint64 Value)=0
 
virtual void RHIVerifyResult (ID3D12Device *Device, HRESULT Result, const ANSICHAR *Code, const ANSICHAR *Filename, uint32 Line, FString Message=FString()) const =0
 
virtual void RHIRunOnQueue (ED3D12RHIRunOnQueueType QueueType, TFunction< void(ID3D12CommandQueue *)> &&CodeToRun, bool bWaitForSubmission)=0
 
virtual void RHIFlushResourceBarriers (FRHICommandListBase &RHICmdList, uint32 InGPUIndex)=0
 
virtual void RHIUpdateResourceResidency (FRHICommandListBase &RHICmdList, uint32 InGPUIndex, FRHIResource *InResource)=0
 
- Public Member Functions inherited from FDynamicRHI
virtual RHI_API ~FDynamicRHI ()
 
virtual void Init ()=0
 
virtual void PostInit ()
 
virtual void Shutdown ()=0
 
virtual const TCHARGetName ()=0
 
virtual FDynamicRHIGetNonValidationRHI ()
 
void InitPixelFormatInfo (const TArray< uint32 > &PixelFormatBlockBytesIn)
 
virtual RHI_API void RHIEndFrame_RenderThread (FRHICommandListImmediate &RHICmdList)
 
virtual void RHIEndFrame (const FRHIEndFrameArgs &Args)=0
 
virtual FSamplerStateRHIRef RHICreateSamplerState (const FSamplerStateInitializerRHI &Initializer)=0
 
virtual FRasterizerStateRHIRef RHICreateRasterizerState (const FRasterizerStateInitializerRHI &Initializer)=0
 
virtual FDepthStencilStateRHIRef RHICreateDepthStencilState (const FDepthStencilStateInitializerRHI &Initializer)=0
 
virtual FBlendStateRHIRef RHICreateBlendState (const FBlendStateInitializerRHI &Initializer)=0
 
virtual FVertexDeclarationRHIRef RHICreateVertexDeclaration (const FVertexDeclarationElementList &Elements)=0
 
virtual FPixelShaderRHIRef RHICreatePixelShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)=0
 
virtual FVertexShaderRHIRef RHICreateVertexShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)=0
 
virtual FGeometryShaderRHIRef RHICreateGeometryShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)=0
 
virtual FMeshShaderRHIRef RHICreateMeshShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)
 
virtual FAmplificationShaderRHIRef RHICreateAmplificationShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)
 
virtual void FlushPendingLogs ()
 
virtual FComputeShaderRHIRef RHICreateComputeShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)=0
 
virtual FWorkGraphShaderRHIRef RHICreateWorkGraphShader (TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency)
 
virtual FRHIShaderLibraryRef RHICreateShaderLibrary (EShaderPlatform Platform, FString const &FilePath, FString const &Name)
 
virtual FGPUFenceRHIRef RHICreateGPUFence (const FName &Name)=0
 
virtual RHI_API void RHIWriteGPUFence_TopOfPipe (FRHICommandListBase &RHICmdList, FRHIGPUFence *FenceRHI)
 
virtual void RHICreateTransition (FRHITransition *Transition, const FRHITransitionCreateInfo &CreateInfo)
 
virtual void RHIReleaseTransition (FRHITransition *Transition)
 
virtual IRHITransientResourceAllocatorRHICreateTransientResourceAllocator ()
 
virtual FStagingBufferRHIRef RHICreateStagingBuffer ()
 
virtual RHI_API voidRHILockStagingBuffer (FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI)
 
virtual RHI_API void RHIUnlockStagingBuffer (FRHIStagingBuffer *StagingBuffer)
 
virtual RHI_API voidLockStagingBuffer_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI)
 
virtual RHI_API void UnlockStagingBuffer_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHIStagingBuffer *StagingBuffer)
 
virtual FBoundShaderStateRHIRef RHICreateBoundShaderState (FRHIVertexDeclaration *VertexDeclaration, FRHIVertexShader *VertexShader, FRHIPixelShader *PixelShader, FRHIGeometryShader *GeometryShader)=0
 
virtual FGraphicsPipelineStateRHIRef RHICreateGraphicsPipelineState (const FGraphicsPipelineStateInitializer &Initializer)=0
 
virtual FComputePipelineStateRHIRef RHICreateComputePipelineState (const FComputePipelineStateInitializer &Initializer)=0
 
virtual FWorkGraphPipelineStateRHIRef RHICreateWorkGraphPipelineState (const FWorkGraphPipelineStateInitializer &Initializer)
 
virtual FUniformBufferRHIRef RHICreateUniformBuffer (const void *Contents, const FRHIUniformBufferLayout *Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation)=0
 
virtual void RHIUpdateUniformBuffer (FRHICommandListBase &RHICmdList, FRHIUniformBuffer *UniformBufferRHI, const void *Contents)=0
 
virtual void RHIReplaceResources (FRHICommandListBase &RHICmdList, TArray< FRHIResourceReplaceInfo > &&ReplaceInfos)=0
 
virtual FRHIBufferInitializer RHICreateBufferInitializer (FRHICommandListBase &RHICmdList, const FRHIBufferCreateDesc &CreateDesc)=0
 
virtual RHI_API voidRHILockBuffer (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 Size, EResourceLockMode LockMode)
 
virtual RHI_API voidRHILockBufferMGPU (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 GPUIndex, uint32 Offset, uint32 Size, EResourceLockMode LockMode)
 
virtual RHI_API void RHIUnlockBuffer (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer)
 
virtual RHI_API void RHIUnlockBufferMGPU (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 GPUIndex)
 
virtual RHI_API void RHIUpdateTextureReference (FRHICommandListBase &RHICmdList, FRHITextureReference *TextureRef, FRHITexture *NewTexture)
 
virtual FRHICalcTextureSizeResult RHICalcTexturePlatformSize (FRHITextureDesc const &Desc, uint32 FirstMipIndex)=0
 
virtual RHI_API uint64 RHIGetMinimumAlignmentForBufferBackedSRV (EPixelFormat Format)
 
virtual void RHIGetTextureMemoryStats (FTextureMemoryStats &OutStats)=0
 
virtual bool RHIGetTextureMemoryVisualizeData (FColor *TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize)=0
 
virtual FRHITextureInitializer RHICreateTextureInitializer (FRHICommandListBase &RHICmdList, const FRHITextureCreateDesc &CreateDesc)=0
 
virtual FTextureRHIRef RHIAsyncCreateTexture2D (uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ERHIAccess InResourceState, void **InitialMipData, uint32 NumInitialMips, const TCHAR *DebugName, FGraphEventRef &OutCompletionEvent)=0
 
virtual RHI_API FTextureReferenceRHIRef RHICreateTextureReference (FRHICommandListBase &RHICmdList, FRHITexture *InReferencedTexture)
 
virtual FShaderResourceViewRHIRef RHICreateShaderResourceView (class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)=0
 
virtual FUnorderedAccessViewRHIRef RHICreateUnorderedAccessView (class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)=0
 
virtual FRHIResourceCollectionRef RHICreateResourceCollection (FRHICommandListBase &RHICmdList, TConstArrayView< FRHIResourceCollectionMember > InMembers)
 
virtual void RHIUpdateResourceCollection (FRHICommandListBase &RHICmdList, FRHIResourceCollection *InResourceCollection, uint32 InStartIndex, TConstArrayView< FRHIResourceCollectionMember > InMemberUpdates)
 
virtual uint32 RHIComputeMemorySize (FRHITexture *TextureRHI)=0
 
virtual FTextureRHIRef RHIAsyncReallocateTexture2D (FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus)=0
 
virtual FRHILockTextureResult RHILockTexture (FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments)=0
 
virtual void RHIUnlockTexture (FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments)=0
 
virtual void RHIUpdateTexture2D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, const uint8 *SourceData)=0
 
virtual void RHIUpdateFromBufferTexture2D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, FRHIBuffer *Buffer, uint32 BufferOffset)
 
virtual void RHIUpdateTexture3D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 *SourceData)=0
 
virtual RHI_API void RHIBindDebugLabelName (FRHICommandListBase &RHICmdList, FRHITexture *Texture, const TCHAR *Name)
 
virtual RHI_API void RHIBindDebugLabelName (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, const TCHAR *Name)
 
virtual RHI_API void RHIBindDebugLabelName (FRHICommandListBase &RHICmdList, FRHIUnorderedAccessView *UnorderedAccessViewRHI, const TCHAR *Name)
 
virtual void RHIReadSurfaceData (FRHITexture *Texture, FIntRect Rect, TArray< FColor > &OutData, FReadSurfaceDataFlags InFlags)=0
 
virtual RHI_API void RHIReadSurfaceData (FRHITexture *Texture, FIntRect Rect, TArray< FLinearColor > &OutData, FReadSurfaceDataFlags InFlags)
 
virtual void RHIMapStagingSurface (FRHITexture *Texture, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight, uint32 GPUIndex=0)=0
 
virtual void RHIUnmapStagingSurface (FRHITexture *Texture, uint32 GPUIndex=0)=0
 
virtual void RHIReadSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex)=0
 
virtual RHI_API void RHIReadSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags InFlags)
 
virtual void RHIRead3DSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData)=0
 
virtual RHI_API void RHIRead3DSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags InFlags)
 
virtual FRenderQueryRHIRef RHICreateRenderQuery (ERenderQueryType QueryType)=0
 
virtual void RHIBeginRenderQueryBatch_TopOfPipe (FRHICommandListBase &RHICmdList, ERenderQueryType QueryType)
 
virtual void RHIEndRenderQueryBatch_TopOfPipe (FRHICommandListBase &RHICmdList, ERenderQueryType QueryType)
 
virtual RHI_API void RHIBeginRenderQuery_TopOfPipe (FRHICommandListBase &RHICmdList, FRHIRenderQuery *RenderQuery)
 
virtual RHI_API void RHIEndRenderQuery_TopOfPipe (FRHICommandListBase &RHICmdList, FRHIRenderQuery *RenderQuery)
 
virtual bool RHIGetRenderQueryResult (FRHIRenderQuery *RenderQuery, uint64 &OutResult, bool bWait, uint32 GPUIndex=INDEX_NONE)=0
 
virtual uint32 RHIGetViewportNextPresentGPUIndex (FRHIViewport *Viewport)
 
virtual FTextureRHIRef RHIGetViewportBackBuffer (FRHIViewport *Viewport)=0
 
virtual FUnorderedAccessViewRHIRef RHIGetViewportBackBufferUAV (FRHIViewport *ViewportRHI)
 
virtual uint32 RHIGetHTilePlatformConfig (uint32 DepthWidth, uint32 DepthHeight) const
 
virtual uint32 RHIGetHTilePlatformConfig (const FRHITextureDesc &DepthDesc) const
 
virtual void RHIAliasTextureResources (FTextureRHIRef &DestTexture, FTextureRHIRef &SrcTexture)
 
virtual FTextureRHIRef RHICreateAliasedTexture (FTextureRHIRef &SourceTexture)
 
virtual void RHIGetDisplaysInformation (FDisplayInformationArray &OutDisplayInformation)
 
virtual RHI_API uint64 RHIComputeStatePrecachePSOHash (const FGraphicsPipelineStateInitializer &Initializer)
 
virtual RHI_API uint64 RHIComputePrecachePSOHash (const FGraphicsPipelineStateInitializer &Initializer)
 
virtual RHI_API bool RHIMatchPrecachePSOInitializers (const FGraphicsPipelineStateInitializer &LHS, const FGraphicsPipelineStateInitializer &RHS)
 
virtual void RHIAdvanceFrameForGetViewportBackBuffer (FRHIViewport *Viewport, bool bPresent)=0
 
virtual void RHIAcquireThreadOwnership ()
 
virtual void RHIReleaseThreadOwnership ()
 
virtual void RHIFlushResources ()=0
 
virtual FViewportRHIRef RHICreateViewport (void *WindowHandle, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat)=0
 
virtual void RHIResizeViewport (FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen)=0
 
virtual void RHIResizeViewport (FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat)
 
virtual EPixelFormat RHIPreferredPixelFormatHint (EPixelFormat PreferredPixelFormat)
 
virtual RHI_API void RHICheckViewportHDRStatus (FRHIViewport *Viewport)
 
virtual void RHIHandleDisplayChange ()
 
virtual void RHITick (float DeltaTime)=0
 
virtual void RHIBlockUntilGPUIdle ()=0
 
virtual void RHIBeginSuspendRendering ()
 
virtual void RHISuspendRendering ()
 
virtual void RHIResumeRendering ()
 
virtual bool RHIIsRenderingSuspended ()
 
virtual bool RHIGetAvailableResolutions (FScreenResolutionArray &Resolutions, bool bIgnoreRefreshRate)=0
 
virtual void RHIGetSupportedResolution (uint32 &Width, uint32 &Height)=0
 
virtual RHI_API void RHIVirtualTextureSetFirstMipInMemory (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 FirstMip)
 
virtual RHI_API void RHIVirtualTextureSetFirstMipVisible (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 FirstMip)
 
virtual voidRHIGetNativeDevice ()=0
 
virtual voidRHIGetNativePhysicalDevice ()
 
virtual voidRHIGetNativeGraphicsQueue ()
 
virtual voidRHIGetNativeComputeQueue ()
 
virtual voidRHIGetNativeInstance ()=0
 
virtual voidRHIGetNativeCommandBuffer ()
 
virtual IRHICommandContextRHIGetDefaultContext ()=0
 
virtual IRHIComputeContextRHIGetCommandContext (ERHIPipeline Pipeline, FRHIGPUMask GPUMask)=0
 
virtual IRHIComputeContextRHIGetParallelCommandContext (FRHIParallelRenderPassInfo const &ParallelRenderPass, FRHIGPUMask GPUMask)
 
virtual IRHIUploadContextRHIGetUploadContext ()
 
void RHICloseTranslateChain (FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output, bool bShouldFinalize)
 
virtual void RHIFinalizeContext (FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output)=0
 
virtual IRHIPlatformCommandListRHIFinalizeParallelContext (IRHIComputeContext *Context)
 
virtual void RHISubmitCommandLists (FRHISubmitCommandListsArgs &&Args)=0
 
virtual void RHIProcessDeleteQueue ()
 
virtual RHI_API FTextureRHIRef AsyncReallocateTexture2D_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus)
 
virtual RHI_API FUpdateTexture3DData RHIBeginUpdateTexture3D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion)
 
virtual RHI_API void RHIEndUpdateTexture3D (FRHICommandListBase &RHICmdList, FUpdateTexture3DData &UpdateData)
 
virtual RHI_API void RHIEndMultiUpdateTexture3D (FRHICommandListBase &RHICmdList, TArray< FUpdateTexture3DData > &UpdateDataArray)
 
virtual RHI_API FRHIShaderLibraryRef RHICreateShaderLibrary_RenderThread (class FRHICommandListImmediate &RHICmdList, EShaderPlatform Platform, FString FilePath, FString Name)
 
virtual RHI_API void RHIMapStagingSurface_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 GPUIndex, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight)
 
virtual RHI_API void RHIUnmapStagingSurface_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 GPUIndex)
 
virtual RHI_API void RHIReadSurfaceFloatData_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex)
 
virtual RHI_API void RHIReadSurfaceFloatData_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags Flags)
 
virtual voidLockBuffer_BottomOfPipe (class FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode)
 
virtual void UnlockBuffer_BottomOfPipe (class FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer)
 
virtual FRHIFlipDetails RHIWaitForFlip (double TimeoutInSeconds)
 
virtual void RHISignalFlipEvent ()
 
virtual uint16 RHIGetPlatformTextureMaxSampleCount ()
 
virtual FRayTracingAccelerationStructureSize RHICalcRayTracingSceneSize (const FRayTracingSceneInitializer &Initializer)
 
virtual FRayTracingAccelerationStructureSize RHICalcRayTracingGeometrySize (const FRayTracingGeometryInitializer &Initializer)
 
virtual FRayTracingClusterOperationSize RHICalcRayTracingClusterOperationSize (const FRayTracingClusterOperationInitializer &Initializer)
 
virtual FRayTracingAccelerationStructureOfflineMetadata RHIGetRayTracingGeometryOfflineMetadata (const FRayTracingGeometryOfflineDataHeader &OfflineDataHeader)
 
virtual FRayTracingGeometryRHIRef RHICreateRayTracingGeometry (FRHICommandListBase &RHICmdList, const FRayTracingGeometryInitializer &Initializer)
 
virtual FRayTracingSceneRHIRef RHICreateRayTracingScene (FRayTracingSceneInitializer Initializer)
 
virtual FRayTracingShaderRHIRef RHICreateRayTracingShader (TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency)
 
virtual FRayTracingPipelineStateRHIRef RHICreateRayTracingPipelineState (const FRayTracingPipelineStateInitializer &Initializer)
 
virtual FShaderBindingTableRHIRef RHICreateShaderBindingTable (FRHICommandListBase &RHICmdList, const FRayTracingShaderBindingTableInitializer &Initializer)
 
virtual void RHISerializeAccelerationStructure (FRHICommandListImmediate &RHICmdList, FRHIRayTracingScene *Scene, const TCHAR *Path)
 
virtual FShaderBundleRHIRef RHICreateShaderBundle (const FShaderBundleCreateInfo &CreateInfo)
 

Additional Inherited Members

- Public Types inherited from FDynamicRHI
using FRHICalcTextureSizeResult = ::FRHICalcTextureSizeResult
 
- Static Public Member Functions inherited from FDynamicRHI
static RHI_API void EnableIdealGPUCaptureOptions (bool bEnable)
 
- Protected Attributes inherited from FDynamicRHI
TArray< uint32PixelFormatBlockBytes
 

Member Function Documentation

◆ GetInterfaceType()

virtual ERHIInterfaceType ID3D12DynamicRHI::GetInterfaceType ( ) const
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHICreateTexture2DArrayFromResource()

virtual FTextureRHIRef ID3D12DynamicRHI::RHICreateTexture2DArrayFromResource ( EPixelFormat  Format,
ETextureCreateFlags  TexCreateFlags,
const FClearValueBinding ClearValueBinding,
ID3D12Resource Resource 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHICreateTexture2DFromResource()

virtual FTextureRHIRef ID3D12DynamicRHI::RHICreateTexture2DFromResource ( EPixelFormat  Format,
ETextureCreateFlags  TexCreateFlags,
const FClearValueBinding ClearValueBinding,
ID3D12Resource Resource 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHICreateTextureCubeFromResource()

virtual FTextureRHIRef ID3D12DynamicRHI::RHICreateTextureCubeFromResource ( EPixelFormat  Format,
ETextureCreateFlags  TexCreateFlags,
const FClearValueBinding ClearValueBinding,
ID3D12Resource Resource 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIFinishExternalComputeWork()

virtual void ID3D12DynamicRHI::RHIFinishExternalComputeWork ( FRHICommandListBase ExecutingCmdList,
uint32  InDeviceIndex,
ID3D12GraphicsCommandList InCommandList 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIFlushResourceBarriers()

virtual void ID3D12DynamicRHI::RHIFlushResourceBarriers ( FRHICommandListBase RHICmdList,
uint32  InGPUIndex 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetAdapterDescs()

virtual TArray< FD3D12MinimalAdapterDesc > ID3D12DynamicRHI::RHIGetAdapterDescs ( ) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetCommandQueue()

virtual ID3D12CommandQueue * ID3D12DynamicRHI::RHIGetCommandQueue ( ) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetDevice()

virtual ID3D12Device * ID3D12DynamicRHI::RHIGetDevice ( uint32  InIndex) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetDeviceNodeMask()

virtual uint32 ID3D12DynamicRHI::RHIGetDeviceNodeMask ( uint32  InIndex) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetGraphicsCommandList()

virtual ID3D12GraphicsCommandList * ID3D12DynamicRHI::RHIGetGraphicsCommandList ( FRHICommandListBase ExecutingCmdList,
uint32  InDeviceIndex 
) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetRenderTargetView()

virtual D3D12_CPU_DESCRIPTOR_HANDLE ID3D12DynamicRHI::RHIGetRenderTargetView ( FRHITexture InTexture,
int32  InMipIndex = 0,
int32  InArraySliceIndex = 0 
) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetResource() [1/2]

virtual ID3D12Resource * ID3D12DynamicRHI::RHIGetResource ( FRHIBuffer InBuffer) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetResource() [2/2]

virtual ID3D12Resource * ID3D12DynamicRHI::RHIGetResource ( FRHITexture InTexture) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetResourceDeviceIndex() [1/2]

virtual uint32 ID3D12DynamicRHI::RHIGetResourceDeviceIndex ( FRHIBuffer InBuffer) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetResourceDeviceIndex() [2/2]

virtual uint32 ID3D12DynamicRHI::RHIGetResourceDeviceIndex ( FRHITexture InTexture) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetResourceMemorySize() [1/2]

virtual int64 ID3D12DynamicRHI::RHIGetResourceMemorySize ( FRHIBuffer InBuffer) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetResourceMemorySize() [2/2]

virtual int64 ID3D12DynamicRHI::RHIGetResourceMemorySize ( FRHITexture InTexture) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIGetSwapChainFormat()

virtual DXGI_FORMAT ID3D12DynamicRHI::RHIGetSwapChainFormat ( EPixelFormat  InFormat) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIIsPixEnabled()

virtual bool ID3D12DynamicRHI::RHIIsPixEnabled ( ) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIIsResourcePlaced() [1/2]

virtual bool ID3D12DynamicRHI::RHIIsResourcePlaced ( FRHIBuffer InBuffer) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIIsResourcePlaced() [2/2]

virtual bool ID3D12DynamicRHI::RHIIsResourcePlaced ( FRHITexture InTexture) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIRunOnQueue()

virtual void ID3D12DynamicRHI::RHIRunOnQueue ( ED3D12RHIRunOnQueueType  QueueType,
TFunction< void(ID3D12CommandQueue *)> &&  CodeToRun,
bool  bWaitForSubmission 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHISignalManualFence()

virtual void ID3D12DynamicRHI::RHISignalManualFence ( FRHICommandList RHICmdList,
ID3D12Fence Fence,
uint64  Value 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHITransitionResource()

virtual void ID3D12DynamicRHI::RHITransitionResource ( FRHICommandList RHICmdList,
FRHITexture InTexture,
D3D12_RESOURCE_STATES  InState,
uint32  InSubResource 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIUpdateResourceResidency()

virtual void ID3D12DynamicRHI::RHIUpdateResourceResidency ( FRHICommandListBase RHICmdList,
uint32  InGPUIndex,
FRHIResource InResource 
)
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIVerifyResult()

virtual void ID3D12DynamicRHI::RHIVerifyResult ( ID3D12Device Device,
HRESULT  Result,
const ANSICHAR Code,
const ANSICHAR Filename,
uint32  Line,
FString  Message = FString() 
) const
pure virtual

Implemented in FD3D12DynamicRHI.

◆ RHIWaitManualFence()

virtual void ID3D12DynamicRHI::RHIWaitManualFence ( FRHICommandList RHICmdList,
ID3D12Fence Fence,
uint64  Value 
)
pure virtual

Implemented in FD3D12DynamicRHI.


The documentation for this struct was generated from the following file: