Instance Property

allowGPUOptimizedContents

A Boolean value indicating whether the GPU is allowed to adjust the texture's contents to improve GPU performance.

Declaration

@property(readwrite, nonatomic) BOOL allowGPUOptimizedContents;

Discussion

The default value is true, which means that the Metal device is allowed to adjust the private layout of the texture in memory to improve GPU performance. For a shared or managed texture, this optimization can cause slower performance when accessing the texture from the CPU. Setting this property to false improves CPU performance at the cost of some GPU performance.

See Also

Specifying Texture Attributes

textureType

The dimension and arrangement of texture image data.

pixelFormat

The size and bit layout of all pixels in the texture.

width

The width of the texture image for the base level mipmap, in pixels.

height

The height of the texture image for the base level mipmap, in pixels.

depth

The depth of the texture image for the base level mipmap, in pixels.

mipmapLevelCount

The number of mipmap levels for this texture.

sampleCount

The number of samples in each fragment.

arrayLength

The number of array elements for this texture.

resourceOptions

The behavior of a new memory allocation.

cpuCacheMode

The CPU cache mode used for the CPU mapping of the texture.

storageMode

The location and access permissions of the texture.

hazardTrackingMode

The texture's hazard tracking mode.

usage

Options that determine how you can use the texture.

swizzle

The pattern you want the GPU to apply to pixels when you read or sample pixels from the texture.

MTLTextureSwizzleChannels

A pattern that modifies the data read or sampled from a texture by rearranging or duplicating the elements of a vector.

MTLTextureSwizzleChannelsMake

Creates a new swizzle pattern.

MTLTextureSwizzle

A set of options to choose from when creating a texture swizzle pattern.