UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MetalPipeline.h File Reference

Go to the source code of this file.

Classes

struct  FMetalShaderResourceMask
 
class  FMetalPipelineStateCacheManager
 
class  FMetalShaderPipeline
 

Macros

#define METAL_MAX_BUFFERS   31
 

Typedefs

typedef uint32 FMetalBufferMask
 
typedef uint16 FMetalSamplerMask
 
typedef TSharedPtr< FMetalShaderPipeline, ESPMode::ThreadSafeFMetalShaderPipelinePtr
 

Enumerations

enum  EMetalShaderFrequency {
  EMetalShaderVertex = 0 , EMetalShaderFragment = 1 , EMetalShaderCompute = 2 , EMetalShaderRenderNum = 2 ,
  EMetalShaderStagesNum = 3
}
 
enum  EMetalLimits { ML_MaxSamplers = 16 , ML_MaxBuffers = METAL_MAX_BUFFERS , ML_MaxTextures = METAL_MAX_TEXTURES , ML_MaxViewports = 16 }
 
enum  EMetalPipelineHashBits {
  NumBits_RenderTargetFormat = 6 , NumBits_DepthFormat = 3 , NumBits_SampleCount = 3 , NumBits_BlendState = 7 ,
  NumBits_PrimitiveTopology = 2 , NumBits_AlphaToCoverage = 1
}
 
enum  EMetalPipelineHashOffsets {
  Offset_BlendState0 = 0 , Offset_BlendState1 = Offset_BlendState0 + NumBits_BlendState , Offset_BlendState2 = Offset_BlendState1 + NumBits_BlendState , Offset_BlendState3 = Offset_BlendState2 + NumBits_BlendState ,
  Offset_BlendState4 = Offset_BlendState3 + NumBits_BlendState , Offset_BlendState5 = Offset_BlendState4 + NumBits_BlendState , Offset_BlendState6 = Offset_BlendState5 + NumBits_BlendState , Offset_BlendState7 = Offset_BlendState6 + NumBits_BlendState ,
  Offset_PrimitiveTopology = Offset_BlendState7 + NumBits_BlendState , Offset_RasterEnd = Offset_PrimitiveTopology + NumBits_PrimitiveTopology , Offset_RenderTargetFormat0 = 64 , Offset_RenderTargetFormat1 = Offset_RenderTargetFormat0 + NumBits_RenderTargetFormat ,
  Offset_RenderTargetFormat2 = Offset_RenderTargetFormat1 + NumBits_RenderTargetFormat , Offset_RenderTargetFormat3 = Offset_RenderTargetFormat2 + NumBits_RenderTargetFormat , Offset_RenderTargetFormat4 = Offset_RenderTargetFormat3 + NumBits_RenderTargetFormat , Offset_RenderTargetFormat5 = Offset_RenderTargetFormat4 + NumBits_RenderTargetFormat ,
  Offset_RenderTargetFormat6 = Offset_RenderTargetFormat5 + NumBits_RenderTargetFormat , Offset_RenderTargetFormat7 = Offset_RenderTargetFormat6 + NumBits_RenderTargetFormat , Offset_DepthFormat = Offset_RenderTargetFormat7 + NumBits_RenderTargetFormat , Offset_SampleCount = Offset_DepthFormat + NumBits_DepthFormat ,
  Offset_AlphaToCoverage = Offset_SampleCount + NumBits_SampleCount , Offset_End = Offset_AlphaToCoverage + NumBits_AlphaToCoverage
}
 

Functions

void ShutdownPipelineCache ()
 

Macro Definition Documentation

◆ METAL_MAX_BUFFERS

#define METAL_MAX_BUFFERS   31

Typedef Documentation

◆ FMetalBufferMask

◆ FMetalSamplerMask

◆ FMetalShaderPipelinePtr

Enumeration Type Documentation

◆ EMetalLimits

Enumerator
ML_MaxSamplers 
ML_MaxBuffers 

Maximum number of samplers

ML_MaxTextures 

Maximum number of buffers

ML_MaxViewports 

Maximum number of textures - there are more textures available on Mac than iOS

◆ EMetalPipelineHashBits

Enumerator
NumBits_RenderTargetFormat 
NumBits_DepthFormat 
NumBits_SampleCount 
NumBits_BlendState 
NumBits_PrimitiveTopology 
NumBits_AlphaToCoverage 

◆ EMetalPipelineHashOffsets

Enumerator
Offset_BlendState0 
Offset_BlendState1 
Offset_BlendState2 
Offset_BlendState3 
Offset_BlendState4 
Offset_BlendState5 
Offset_BlendState6 
Offset_BlendState7 
Offset_PrimitiveTopology 
Offset_RasterEnd 
Offset_RenderTargetFormat0 
Offset_RenderTargetFormat1 
Offset_RenderTargetFormat2 
Offset_RenderTargetFormat3 
Offset_RenderTargetFormat4 
Offset_RenderTargetFormat5 
Offset_RenderTargetFormat6 
Offset_RenderTargetFormat7 
Offset_DepthFormat 
Offset_SampleCount 
Offset_AlphaToCoverage 
Offset_End 

◆ EMetalShaderFrequency

Enumerator
EMetalShaderVertex 
EMetalShaderFragment 
EMetalShaderCompute 
EMetalShaderRenderNum 
EMetalShaderStagesNum 

Function Documentation

◆ ShutdownPipelineCache()

void ShutdownPipelineCache ( )