MTLArgument
Оператор импорта
Swift
import Metal
Objective C
@import Metal;
Доступность
Доступный в iOS 8.0 и позже.
A MTLArgument объект описывает отдельный аргумент к Металлической функции. Ваше приложение использует MTLArgument свойства для чтения подробных данных об аргументе функции, поскольку это было определено на Металлическом Языке Штриховки. Можно определить тип данных параметра, ограничения доступа и его связанный тип ресурса. Для буфера, текстуры и threadgroup параметров памяти, дополнительные свойства могут быть считаны для определения большего количества подробных данных о параметре.
Ваше приложение не создает a MTLArgument возразите непосредственно. Создание a MTLRenderPipelineState или MTLComputePipelineState объект может генерировать отражательный объект (MTLRenderPipelineReflection или MTLComputePipelineReflection) это содержит MTLArgument объекты.
-
nameСвойство -
accessСвойствоДоступ для чтения функции и/или доступ для записи к параметру. (только для чтения)
Объявление
Swift
var access: MTLArgumentAccess { get }Objective C
@property(readonly) MTLArgumentAccess accessОбсуждение
Это свойство указывает тип спецификаторов доступа (только для чтения, только для записи, или чтение-запись) используемый в Металлическом коде языка штриховки. Для получения информации о возможных значениях посмотрите
MTLArgumentAccess.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
activeСвойствоЕсли
YEStrue, этот параметр используется в Металлической функции языка штриховки и был установлен в индекс в таблице параметра. ЕслиNOfalse, этот параметр не используется в Металлической функции языка штриховки и может быть проигнорирован. (только для чтения)Объявление
Swift
var active: Bool { get }Objective C
@property(readonly, getter=isActive) BOOL activeОбсуждение
Для параметра, чтобы быть активным, код языка штриховки должен использовать параметр в функции и код платформы (
MTLComputeCommandEncoderилиMTLRenderCommandEncoder) должен указать индекс для аргумента функции в соответствующей таблице параметра. Например, для удовлетворения требования кода платформы приложение может вызватьsetVertexBuffer:offset:atIndex:методMTLRenderCommandEncoderуказать индекс в буферной таблице параметра для aMTLBufferобъект, использующийся в качестве параметра функции вершины.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
indexСвойствоИндекс в таблице параметра, соответствующей аргументу функции. (только для чтения)
Обсуждение
Кодер команды (
MTLComputeCommandEncoderилиMTLRenderCommandEncoder) указывает индекс в соответствующей таблице параметра. Например, приложение может вызватьsetTexture:atIndex:методMTLComputeCommandEncoderуказать индекс в таблице параметра текстуры для aMTLTextureобъект, использующийся в качестве параметра вычислить функции.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
typeСвойствоТип ресурса параметра. (только для чтения)
Объявление
Swift
var type: MTLArgumentType { get }Objective C
@property(readonly) MTLArgumentType typeОбсуждение
Это свойство указывает, какой тип ресурса используется (буфер, текстура, сэмплер или threadgroup память) в коде языка штриховки. Для получения информации о возможных значениях посмотрите
MTLArgumentType.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
bufferAlignmentСвойствоТребуемое выравнивание байта в памяти для буферных данных в аргументе функции. (только для чтения)
Объявление
Swift
var bufferAlignment: Int { get }Objective C
@property(readonly) NSUInteger bufferAlignmentОбсуждение
Если параметром не является буфер, запрашивать это свойство является фатальной ошибкой.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
bufferDataSizeСвойствоРазмер, в байтах, буферных данных в аргументе функции. (только для чтения)
Объявление
Swift
var bufferDataSize: Int { get }Objective C
@property(readonly) NSUInteger bufferDataSizeОбсуждение
Если параметром не является буфер, запрашивать это свойство является фатальной ошибкой.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
bufferDataTypeСвойствоТип данных буферных данных в аргументе функции. (только для чтения)
Объявление
Swift
var bufferDataType: MTLDataType { get }Objective C
@property(readonly) MTLDataType bufferDataTypeОбсуждение
Если параметром не является буфер, запрашивать это свойство является фатальной ошибкой.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
bufferStructTypeСвойствоВозвращает описание данных структуры, содержавшихся в буферном параметре. (только для чтения)
Объявление
Swift
var bufferStructType: MTLStructType? { get }Objective C
@property(readonly) MTLStructType *bufferStructTypeОбсуждение
Для получения информации о возможных возвращенных значениях посмотрите
MTLStructType. Если параметром не является буфер, запрашивать это свойство является фатальной ошибкой. Если параметром является буфер, но тип данных буфера не является структурой, значение этого свойстваnil.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
textureDataTypeСвойствоТип данных параметра текстуры. (только для чтения)
Объявление
Swift
var textureDataType: MTLDataType { get }Objective C
@property(readonly) MTLDataType textureDataTypeОбсуждение
Для получения информации о возможных значениях посмотрите
MTLDataType. Если параметром не является текстура, запрашивать это свойство является фатальной ошибкой.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
textureTypeСвойствоТип текстуры параметра текстуры. (только для чтения)
Объявление
Swift
var textureType: MTLTextureType { get }Objective C
@property(readonly) MTLTextureType textureTypeОбсуждение
Для получения информации о возможных значениях посмотрите
MTLTextureType. Если параметром не является текстура, запрашивать это свойство является фатальной ошибкой.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
threadgroupMemoryAlignmentСвойствоТребуемое выравнивание байта в памяти для threadgroup данных в параметре вычислить функции. (только для чтения)
Объявление
Swift
var threadgroupMemoryAlignment: Int { get }Objective C
@property(readonly) NSUInteger threadgroupMemoryAlignmentОбсуждение
Если параметром не является threadgroup, запрашивать это свойство является фатальной ошибкой. Металлическая реализация определяет это значение.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
threadgroupMemoryDataSizeСвойствоРазмер, в байтах, threadgroup данных в параметре вычислить функции. (только для чтения)
Объявление
Swift
var threadgroupMemoryDataSize: Int { get }Objective C
@property(readonly) NSUInteger threadgroupMemoryDataSizeОбсуждение
Если параметром не является threadgroup, запрашивать это свойство является фатальной ошибкой. Металлическая реализация определяет это значение.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
Функциональные ограничения доступа к данным параметра в коде языка штриховки.
Объявление
Swift
enum MTLArgumentAccess : UInt { case ReadOnly case ReadWrite case WriteOnly }Objective C
typedef enum : NSUInteger { MTLArgumentAccessReadOnly = 0, MTLArgumentAccessReadWrite = 1, MTLArgumentAccessWriteOnly = 2 } MTLArgumentAccess;Константы
-
ReadOnlyMTLArgumentAccessReadOnlyФункция может только считать свои данные параметра.
Доступный в iOS 8.0 и позже.
-
ReadWriteMTLArgumentAccessReadWriteФункция может или считать или записать свои данные параметра.
Доступный в iOS 8.0 и позже.
-
WriteOnlyMTLArgumentAccessWriteOnlyФункция может только записать свои данные параметра.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
-
Тип ресурса связался с параметром функции.
Объявление
Swift
enum MTLArgumentType : UInt { case Buffer case ThreadgroupMemory case Texture case Sampler }Objective C
typedef enum : NSUInteger { MTLArgumentTypeBuffer = 0, MTLArgumentTypeThreadgroupMemory = 1, MTLArgumentTypeTexture = 2, MTLArgumentTypeSampler = 3 } MTLArgumentType;Константы
-
BufferMTLArgumentTypeBufferЭтим параметром является буфер.
Доступный в iOS 8.0 и позже.
-
ThreadgroupMemoryMTLArgumentTypeThreadgroupMemoryЭтим параметром является указатель на threadgroup память.
Доступный в iOS 8.0 и позже.
-
TextureMTLArgumentTypeTextureЭтим параметром является текстура.
Доступный в iOS 8.0 и позже.
-
SamplerMTLArgumentTypeSamplerЭтим параметром является сэмплер.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
-
Тип данных аргумента функции, как это объявляется в коде языка штриховки.
Объявление
Swift
enum MTLDataType : UInt { case None case Struct case Array case Float case Float2 case Float3 case Float4 case Float2x2 case Float2x3 case Float2x4 case Float3x2 case Float3x3 case Float3x4 case Float4x2 case Float4x3 case Float4x4 case Half case Half2 case Half3 case Half4 case Half2x2 case Half2x3 case Half2x4 case Half3x2 case Half3x3 case Half3x4 case Half4x2 case Half4x3 case Half4x4 case Int case Int2 case Int3 case Int4 case UInt case UInt2 case UInt3 case UInt4 case Short case Short2 case Short3 case Short4 case UShort case UShort2 case UShort3 case UShort4 case Char case Char2 case Char3 case Char4 case UChar case UChar2 case UChar3 case UChar4 case Bool case Bool2 case Bool3 case Bool4 }Objective C
typedef enum : NSUInteger { MTLDataTypeNone = 0, MTLDataTypeStruct = 1, MTLDataTypeArray = 2, MTLDataTypeFloat = 3, MTLDataTypeFloat2 = 4, MTLDataTypeFloat3 = 5, MTLDataTypeFloat4 = 6, MTLDataTypeFloat2x2 = 7, MTLDataTypeFloat2x3 = 8, MTLDataTypeFloat2x4 = 9, MTLDataTypeFloat3x2 = 10, MTLDataTypeFloat3x3 = 11, MTLDataTypeFloat3x4 = 12, MTLDataTypeFloat4x2 = 13, MTLDataTypeFloat4x3 = 14, MTLDataTypeFloat4x4 = 15, MTLDataTypeHalf = 16, MTLDataTypeHalf2 = 17, MTLDataTypeHalf3 = 18, MTLDataTypeHalf4 = 19, MTLDataTypeHalf2x2 = 20, MTLDataTypeHalf2x3 = 21, MTLDataTypeHalf2x4 = 22, MTLDataTypeHalf3x2 = 23, MTLDataTypeHalf3x3 = 24, MTLDataTypeHalf3x4 = 25, MTLDataTypeHalf4x2 = 26, MTLDataTypeHalf4x3 = 27, MTLDataTypeHalf4x4 = 28, MTLDataTypeInt = 29, MTLDataTypeInt2 = 30, MTLDataTypeInt3 = 31, MTLDataTypeInt4 = 32, MTLDataTypeUInt = 33, MTLDataTypeUInt2 = 34, MTLDataTypeUInt3 = 35, MTLDataTypeUInt4 = 36, MTLDataTypeShort = 37, MTLDataTypeShort2 = 38, MTLDataTypeShort3 = 39, MTLDataTypeShort4 = 40, MTLDataTypeUShort = 41, MTLDataTypeUShort2 = 42, MTLDataTypeUShort3 = 43, MTLDataTypeUShort4 = 44, MTLDataTypeChar = 45, MTLDataTypeChar2 = 46, MTLDataTypeChar3 = 47, MTLDataTypeChar4 = 48, MTLDataTypeUChar = 49, MTLDataTypeUChar2 = 50, MTLDataTypeUChar3 = 51, MTLDataTypeUChar4 = 52, MTLDataTypeBool = 53, MTLDataTypeBool2 = 54, MTLDataTypeBool3 = 55, MTLDataTypeBool4 = 56 } MTLDataType;Константы
-
NoneMTLDataTypeNoneПараметр не соответствует никакому типу данных. Если параметр не имеет никакого допустимого типа данных, это только возвращается.
Доступный в iOS 8.0 и позже.
-
StructMTLDataTypeStructСтруктура.
Доступный в iOS 8.0 и позже.
-
ArrayMTLDataTypeArrayМассив.
Доступный в iOS 8.0 и позже.
-
FloatMTLDataTypeFloat32-разрядное значение с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float2MTLDataTypeFloat2Вектор с 2 компонентами с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float3MTLDataTypeFloat3Вектор с 3 компонентами с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float4MTLDataTypeFloat4Вектор с 4 компонентами с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float2x2MTLDataTypeFloat2x22x2 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float2x3MTLDataTypeFloat2x32x3 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float2x4MTLDataTypeFloat2x42x4 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float3x2MTLDataTypeFloat3x23x2 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float3x3MTLDataTypeFloat3x33x3 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float3x4MTLDataTypeFloat3x43x4 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float4x2MTLDataTypeFloat4x24x2 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float4x3MTLDataTypeFloat4x34x3 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Float4x4MTLDataTypeFloat4x44x4 матрица компонента с 32-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
HalfMTLDataTypeHalf16-разрядное значение с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half2MTLDataTypeHalf2Вектор с 2 компонентами с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half3MTLDataTypeHalf3Вектор с 3 компонентами с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half4MTLDataTypeHalf4Вектор с 4 компонентами с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half2x2MTLDataTypeHalf2x22x2 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half2x3MTLDataTypeHalf2x32x3 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half2x4MTLDataTypeHalf2x42x4 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half3x2MTLDataTypeHalf3x23x2 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half3x3MTLDataTypeHalf3x33x3 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half3x4MTLDataTypeHalf3x43x4 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half4x2MTLDataTypeHalf4x24x2 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half4x3MTLDataTypeHalf4x34x3 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
Half4x4MTLDataTypeHalf4x44x4 матрица компонента с 16-разрядными значениями с плавающей точкой.
Доступный в iOS 8.0 и позже.
-
IntMTLDataTypeInt32-разрядное целочисленное значение со знаком.
Доступный в iOS 8.0 и позже.
-
Int2MTLDataTypeInt2Вектор с 2 компонентами с 32-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
Int3MTLDataTypeInt3Вектор с 3 компонентами с 32-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
Int4MTLDataTypeInt4Вектор с 4 компонентами с 32-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
UIntMTLDataTypeUInt32-разрядное целочисленное значение без знака.
Доступный в iOS 8.0 и позже.
-
UInt2MTLDataTypeUInt2Вектор с 2 компонентами с 32-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
UInt3MTLDataTypeUInt3Вектор с 3 компонентами с 32-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
UInt4MTLDataTypeUInt4Вектор с 4 компонентами с 32-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
ShortMTLDataTypeShort16-разрядное целочисленное значение со знаком.
Доступный в iOS 8.0 и позже.
-
Short2MTLDataTypeShort2Вектор с 2 компонентами с 16-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
Short3MTLDataTypeShort3Вектор с 3 компонентами с 16-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
Short4MTLDataTypeShort4Вектор с 4 компонентами с 16-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
UShortMTLDataTypeUShort16-разрядное целочисленное значение без знака.
Доступный в iOS 8.0 и позже.
-
UShort2MTLDataTypeUShort2Вектор с 2 компонентами с 16-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
UShort3MTLDataTypeUShort3Вектор с 3 компонентами с 16-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
UShort4MTLDataTypeUShort4Вектор с 4 компонентами с 16-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
CharMTLDataTypeChar8-разрядное целочисленное значение со знаком.
Доступный в iOS 8.0 и позже.
-
Char2MTLDataTypeChar2Вектор с 2 компонентами с 8-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
Char3MTLDataTypeChar3Вектор с 3 компонентами с 8-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
Char4MTLDataTypeChar4Вектор с 4 компонентами с 8-разрядными целочисленными значениями со знаком.
Доступный в iOS 8.0 и позже.
-
UCharMTLDataTypeUChar8-разрядное целочисленное значение без знака.
Доступный в iOS 8.0 и позже.
-
UChar2MTLDataTypeUChar2Вектор с 2 компонентами с 8-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
UChar3MTLDataTypeUChar3Вектор с 3 компонентами с 8-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
UChar4MTLDataTypeUChar4Вектор с 4 компонентами с 8-разрядными целочисленными значениями без знака.
Доступный в iOS 8.0 и позже.
-
BoolMTLDataTypeBoolБулево значение.
Доступный в iOS 8.0 и позже.
-
Bool2MTLDataTypeBool2Вектор с 2 компонентами с булевыми значениями.
Доступный в iOS 8.0 и позже.
-
Bool3MTLDataTypeBool3Вектор с 3 компонентами с булевыми значениями.
Доступный в iOS 8.0 и позже.
-
Bool4MTLDataTypeBool4Вектор с 4 компонентами с булевыми значениями.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
