A texture handle that can be shared across process address space boundaries.


@interface MTLSharedTextureHandle : NSObject


MTLSharedTextureHandle objects may be passed between processes using XPC connections and then used to create a reference to the texture in another process. The texture in the other process must be created using the same MTLDevice on which the shared texture was originally created. To identify which device it was created on, you can use the device property of the MTLSharedTextureHandle object.


Identifying the Shared Texture Handle


The device object that created the texture.


A string that identifies the texture.


Inherits From

Conforms To

See Also

Working with Textures

Creating and Sampling Textures

Load image data into a texture and apply it to a quadrangle.

Understanding Color-Renderable Pixel Format Sizes

Know the size limits of pixel formats used by color render targets in iOS and tvOS GPUs.

Optimizing Texture Data

Optimize a texture’s data to improve GPU or CPU access.

Improving Filtering Quality and Sampling Performance

Provide multiple levels of detail for your textures by using mipmaps.

Managing Texture Memory

Take direct control of memory allocation for texture data by using sparse textures.


A resource that holds formatted image data.


An object that you use to configure new Metal texture objects.


An object that decodes common image formats into Metal textures for use in your app.


The data formats that describe the organization and characteristics of individual pixels in a texture.