UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
D3D12Texture.h File Reference
#include "D3D12CommandList.h"
#include "D3D12Resources.h"
#include "D3D12View.h"

Go to the source code of this file.

Classes

class  FD3D12Texture
 
struct  TD3D12ResourceTraits< FRHITexture >
 

Namespaces

namespace  FD3D12TextureStats
 
namespace  UE
 
namespace  UE::D3D12RHI
 
namespace  UE::D3D12RHI::TextureUtils
 

Macros

#define GUARDED_TEXTURE_CREATES   (PLATFORM_WINDOWS && !(UE_BUILD_SHIPPING || UE_BUILD_TEST || PLATFORM_COMPILER_CLANG))
 

Functions

void SafeCreateTexture2D (FD3D12Device *pDevice, FD3D12Adapter *Adapter, const FD3D12ResourceDesc &TextureDesc, const D3D12_CLEAR_VALUE *ClearValue, FD3D12ResourceLocation *OutTexture2D, FD3D12BaseShaderResource *Owner, EPixelFormat Format, ETextureCreateFlags Flags, ED3D12Access InInitialD3D12Access, ED3D12Access InDefaultD3D12Access, const TCHAR *Name)
 
FORCEINLINE FD3D12TextureGetD3D12TextureFromRHITexture (FRHITexture *Texture)
 
FORCEINLINE FD3D12TextureGetD3D12TextureFromRHITexture (FRHITexture *Texture, uint32 GPUIndex)
 
void FD3D12TextureStats::UpdateD3D12TextureStats (FD3D12Texture &Texture, const FD3D12ResourceDesc &ResourceDesc, const FRHITextureDesc &TextureDesc, uint64 TextureSize, bool bNewTexture, bool bAllocating)
 
void FD3D12TextureStats::D3D12TextureAllocated (FD3D12Texture &Texture)
 
void FD3D12TextureStats::D3D12TextureDeleted (FD3D12Texture &Texture)
 
D3D12_CLEAR_VALUEUE::D3D12RHI::TextureUtils::FillClearValue (D3D12_CLEAR_VALUE &ClearValue, const FD3D12ResourceDesc &ResourceDesc, const FRHITextureDesc &TextureDesc)
 
void UE::D3D12RHI::TextureUtils::ReconcileInitialState (FRHICommandListBase &RHICmdList, FD3D12Texture *Texture, ED3D12Access CurrentD3D12Access, ED3D12Access NeededD3D12Access)
 
uint64 UE::D3D12RHI::TextureUtils::CalculateResourceSize (FD3D12Texture *Texture)
 
void UE::D3D12RHI::TextureUtils::CopyBulkData (void *UploadMemory, uint64 UploadMemorySize, FD3D12Texture *Texture, FResourceBulkDataInterface *BulkData)
 
D3D12_PLACED_SUBRESOURCE_FOOTPRINT UE::D3D12RHI::TextureUtils::GetInitializerSubresourceFootprint (FD3D12Texture *Texture, uint32 Subresource, uint32 &NumRows)
 

Macro Definition Documentation

◆ GUARDED_TEXTURE_CREATES

#define GUARDED_TEXTURE_CREATES   (PLATFORM_WINDOWS && !(UE_BUILD_SHIPPING || UE_BUILD_TEST || PLATFORM_COMPILER_CLANG))

If true, guard texture creates with SEH to log more information about a driver crash we are seeing during texture streaming.

Function Documentation

◆ GetD3D12TextureFromRHITexture() [1/2]

FORCEINLINE FD3D12Texture * GetD3D12TextureFromRHITexture ( FRHITexture Texture)

Given a pointer to a RHI texture that was created by the D3D12 RHI, returns a pointer to the FD3D12Texture it encapsulates.

◆ GetD3D12TextureFromRHITexture() [2/2]

FORCEINLINE FD3D12Texture * GetD3D12TextureFromRHITexture ( FRHITexture Texture,
uint32  GPUIndex 
)

◆ SafeCreateTexture2D()

void SafeCreateTexture2D ( FD3D12Device pDevice,
FD3D12Adapter Adapter,
const FD3D12ResourceDesc TextureDesc,
const D3D12_CLEAR_VALUE ClearValue,
FD3D12ResourceLocation OutTexture2D,
FD3D12BaseShaderResource Owner,
EPixelFormat  Format,
ETextureCreateFlags  Flags,
ED3D12Access  InInitialD3D12Access,
ED3D12Access  InDefaultD3D12Access,
const TCHAR Name 
)

Creates a 2D texture optionally guarded by a structured exception handler.