UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMetalExternalSurface Class Reference

#include <MetalResources.h>

+ Inheritance diagram for FMetalExternalSurface:

Public Member Functions

 FMetalExternalSurface (FMetalDevice &MetalDevice, MTLTexturePtr InTexture, FRHITextureCreateDesc const &CreateDesc, TUniqueFunction< void()> &&InOnDeleteFunction)
 
 ~FMetalExternalSurface ()
 
- Public Member Functions inherited from FMetalSurface
 FMetalSurface (FMetalDevice &Device, FMetalTextureCreateDesc const &CreateDesc)
 
virtual ~FMetalSurface ()
 
void Initialize (FRHICommandListBase &RHICmdList)
 
MTL::Buffer * AllocSurface (const FRHILockTextureArgs &Arguments, uint32 MipBytes, uint32 DestStride)
 
void UpdateSurfaceAndDestroySourceBuffer (FMetalRHICommandContext *Context, MTL::Buffer *SourceBuffer, uint32 MipIndex, uint32 ArrayIndex)
 
FRHILockTextureResult Lock (const FRHILockTextureArgs &Arguments, bool bSingleLayer)
 
void Unlock (const FRHILockTextureArgs &Arguments)
 
FRHILockTextureResult AsyncLock (FRHICommandListBase &RHICmdList, const FRHILockTextureArgs &Arguments)
 
uint32 GetMipSize (uint32 MipIndex, uint32 *Stride, bool bSingleLayer)
 
uint32 GetMemorySize ()
 
uint32 GetNumFaces ()
 
MTLTexturePtr GetDrawableTexture ()
 
void ReleaseDrawableTexture ()
 
MTLTexturePtr GetCurrentTexture ()
 
MTLTexturePtr Reallocate (MTLTexturePtr Texture, MTL::TextureUsage UsageModifier)
 
void MakeAliasable (void)
 
virtual voidGetTextureBaseRHI () override final
 
virtual voidGetNativeResource () const override final
 
- Public Member Functions inherited from FRHITexture
virtual const FRHITextureDescGetDesc () const
 
virtual class FRHITextureReferenceGetTextureReference ()
 
virtual FRHIDescriptorHandle GetDefaultBindlessHandle () const
 
virtual voidGetNativeShaderResourceView () const
 
virtual void GetWriteMaskProperties (void *&OutData, uint32 &OutSize)
 
FIntVector GetSizeXYZ () const
 
FIntVector GetMipDimensions (uint8 MipIndex) const
 
bool IsMultisampled () const
 
bool HasClearValue () const
 
FLinearColor GetClearColor () const
 
void GetDepthStencilClearValue (float &OutDepth, uint32 &OutStencil) const
 
float GetDepthClearValue () const
 
uint32 GetStencilClearValue () const
 
void SetLastRenderTime (float InLastRenderTime)
 
double GetLastRenderTime () const
 
RHI_API void SetName (FName InName)
 
FRHITextureGetTexture2D ()
 
FRHITextureGetTexture2DArray ()
 
FRHITextureGetTexture3D ()
 
FRHITextureGetTextureCube ()
 
uint32 GetSizeX () const
 
uint32 GetSizeY () const
 
FIntPoint GetSizeXY () const
 
uint32 GetSizeZ () const
 
uint32 GetNumMips () const
 
EPixelFormat GetFormat () const
 
ETextureCreateFlags GetFlags () const
 
uint32 GetNumSamples () const
 
const FClearValueBinding GetClearBinding () const
 
uint32 GetSize () const
 
- Public Member Functions inherited from FRHIViewableResource
ERHIAccess GetTrackedAccess_Unsafe () const
 
FName GetName () const
 
- Public Member Functions inherited from FRHIResource
RHI_API FRHIResource (ERHIResourceType InResourceType)
 
uint32 AddRef () const
 
uint32 Release () const
 
uint32 GetRefCount () const
 
bool IsValid () const
 
void DisableLifetimeExtension ()
 
ERHIResourceType GetType () const
 
FName GetOwnerName () const
 
void SetOwnerName (FName InOwnerName)
 
- Public Member Functions inherited from FMetalViewableResource
 ~FMetalViewableResource ()
 
bool HasLinkedViews () const
 
void UpdateLinkedViews (FMetalRHICommandContext *Context)
 

Additional Inherited Members

- Public Attributes inherited from FMetalSurface
FMetalDeviceDevice
 
uint8 FormatKey
 
MTLTexturePtr Texture
 
MTLTexturePtr MSAATexture
 
MTLTexturePtr MSAAResolveTexture
 
FMetalBufferPtr BackingBuffer
 
class FMetalViewportViewport
 
- Protected Member Functions inherited from FMetalSurface
 FMetalSurface (FMetalDevice &MetalDevice, MTLTexturePtr InTexture, FRHITextureCreateDesc const &CreateDesc)
 
- Protected Member Functions inherited from FRHITexture
 FRHITexture ()=delete
 
RHI_API FRHITexture (const FRHITextureCreateDesc &CreateDesc)
 
RHI_API FRHITexture (ERHIResourceType InResourceType)
 
- Protected Member Functions inherited from FRHIViewableResource
 FRHIViewableResource (ERHIResourceType InResourceType, ERHIAccess InAccess, const TCHAR *InName, FName InOwnerName)
 
virtual void SetTrackedAccessFromContext (FRHITrackedAccess InTrackedAccess)
 
void TakeOwnership (FRHIViewableResource &Other)
 
void ReleaseOwnership ()
 
- Protected Member Functions inherited from FRHIResource
virtual RHI_API ~FRHIResource ()
 
- Protected Attributes inherited from FMetalSurface
uint64 TotalTextureSize
 
- Protected Attributes inherited from FRHIViewableResource
FName Name
 

Detailed Description

Derived class that can be used for creating surfaces with external textures

Constructor & Destructor Documentation

◆ FMetalExternalSurface()

FMetalExternalSurface::FMetalExternalSurface ( FMetalDevice MetalDevice,
MTLTexturePtr  InTexture,
FRHITextureCreateDesc const &  CreateDesc,
TUniqueFunction< void()> &&  InOnDeleteFunction 
)

◆ ~FMetalExternalSurface()

FMetalExternalSurface::~FMetalExternalSurface ( )

The documentation for this class was generated from the following files: