Instance Property

resourceOptions

The behavior of a new memory allocation.

Declaration

@property(readwrite, nonatomic) MTLResourceOptions resourceOptions;

Discussion

This property only has an effect when you are allocating a new texture. If you are creating a texture whose data comes from another MTLResource object, this property value is ignored, and the value of the original resource is used instead.

The value of this property aggregates the values of storageMode, cpuCacheMode, and hazardTrackingMode. If you modify this property, the other properties also change, and vice versa.

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.

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.

allowGPUOptimizedContents

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

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.