Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Металлическая ссылка платформы ссылка на протокол MTLComputeCommandEncoder

Опции
Развертывание Target:

На этой странице
Язык:

MTLComputeCommandEncoder

Наследование


Не применимый

Оператор импорта


Swift

import Metal

Objective C

@import Metal;

Доступность


Доступный в iOS 8.0 и позже.

MTLComputeCommandEncoder протокол определяет интерфейс для кодирования команд, указывающих, что параллель данных вычисляет обработку, утверждают и выполняют вычислить функцию. Создать a MTLComputeCommandEncoder объект, вызовите computeCommandEncoder метод MTLCommandBuffer объект, в котором Вы хотите закодировать, вычисляет команды. (Не используйте стандартное выделение и методы инициализации для создания a MTLComputeCommandEncoder объект.)

После создания a MTLComputeCommandEncoder объект, используйте, он для кодирования следующей параллели данных вычисляет команды обработки:

  1. Вызовите setComputePipelineState: метод с MTLComputePipelineState объект, содержащий вычислить функцию, которая будет выполняться.

  2. Укажите ресурсы, содержащие входные данные (или выведите место назначения) для вычислить функции. Установите расположение (индекс) каждого ресурса в его соответствующей таблице параметра.

  3. Вызовите dispatchThreadgroups:threadsPerThreadgroup: метод для кодирования вычислить функции с конкретным количеством threadgroups для сетки и числа потоков на threadgroup.

  4. Вызвать endEncoding закончить кодировать вычислить команды на буфер команд.

  • Наборы вычислить функция, которая будет выполняться. (требуемый)

    Объявление

    Swift

    func setComputePipelineState(_ state: MTLComputePipelineState)

    Objective C

    - (void)setComputePipelineState:(id<MTLComputePipelineState>)state

    Параметры

    state

    MTLComputePipelineState объект с вычислить функцией, которая будет выполняться.

    Обсуждение

    Вызов этого метода заставляет все параметры становиться неопределенными. Поэтому необходимо вызвать этот метод перед установкой буферов, текстур, сэмплеров и threadgroup емкости памяти.

    Если state nil, ошибка происходит.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает буфер для вычислить функции в индексе в буферной таблице параметра со смещением, указывающим запуск данных. (требуемый)

    Объявление

    Swift

    func setBuffer(_ buffer: MTLBuffer?, offset offset: Int, atIndex index: Int)

    Objective C

    - (void)setBuffer:(id<MTLBuffer>)buffer offset:(NSUInteger)offset atIndex:(NSUInteger)index

    Параметры

    buffer

    MTLBuffer возразите для установки в таблице параметра.

    offset

    Как далеко данные от запуска буфера в байтах.

    index

    Индекс в буферной таблице параметра.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает массив буферов для вычислить функции в диапазоне индексов в буферной таблице параметра. Этот метод также указывает соответствующие смещения для запуска каждого набора данных. (требуемый)

    Объявление

    Swift

    func setBuffers(_ buffers: UnsafePointer<MTLBuffer?>, offsets offsets: UnsafePointer<Int>, withRange range: NSRange)

    Objective C

    - (void)setBuffers:(const id<MTLBuffer> [])buffers offsets:(const NSUInteger [])offsets withRange:(NSRange)range

    Параметры

    buffers

    Массив MTLBuffer объекты установить в таблице параметра.

    offsets

    Массив смещений, каждое из которых указывает, как далеко данные от запуска буфера в байтах.

    range

    Диапазон индексов в буферной таблице параметра.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает смещение, указывающее запуск данных для буфера, уже связанного с вычислить функцией. (требуемый)

    Объявление

    Swift

    func setBufferOffset(_ offset: Int, atIndex index: Int)

    Objective C

    - (void)setBufferOffset:(NSUInteger)offset atIndex:(NSUInteger)index

    Параметры

    offset

    Как далеко данные от запуска буфера в байтах.

    index

    Индекс в буферной таблице параметра.

    Обсуждение

    Вызовите этот метод для изменения смещения, которое Вы указали при привязке буфера с setBuffer:offset:atIndex: или setBuffers:offsets:withRange: метод, или указать смещение данных после обязательных данных непосредственно к вычислить функции с setBytes:length:atIndex: метод.

    Используя этот метод может привести к более быстрой производительности, чем привязка того же буфера снова с различным смещением.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.3 и позже.

  • Устанавливает блок данных для вычислить функции в индексе в буферной таблице параметра. (требуемый)

    Объявление

    Swift

    func setBytes(_ bytes: UnsafePointer<Void>, length length: Int, atIndex index: Int)

    Objective C

    - (void)setBytes:(const void *)bytes length:(NSUInteger)length atIndex:(NSUInteger)index

    Параметры

    bytes

    Адрес памяти, с которого можно скопировать исходные данные.

    length

    Размер, в байтах, данных, которые будут скопированы.

    index

    Индекс в буферной таблице параметра.

    Обсуждение

    Используя этот метод эквивалентно созданию нового MTLBuffer объект от указанных данных и затем привязки его к вычислить функции с setBuffer:offset:atIndex: или setBuffers:offsets:withRange: метод, но избегает возможной производительности наверху создания посредника MTLBuffer объект.

    Этот метод является подходящим только для небольших, буферов данных с одним разовым использованием. Создайте a MTLBuffer возразите вместо этого, если Ваш буфер превышает 4 КБ в длине или сохранится для многократного использования (например, чтобы быть связанным с другим кодером команды для рендеринга следующего кадра).

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.3 и позже.

  • Устанавливает текстуру для вычислить функции в индексе в таблице параметра текстуры. (требуемый)

    Объявление

    Swift

    func setTexture(_ texture: MTLTexture?, atIndex index: Int)

    Objective C

    - (void)setTexture:(id<MTLTexture>)texture atIndex:(NSUInteger)index

    Параметры

    texture

    MTLTexture возразите для установки в таблице параметра.

    index

    Индекс в таблице параметра текстуры.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает массив текстур для вычислить функции в диапазоне индексов в таблице параметра текстуры. (требуемый)

    Объявление

    Swift

    func setTextures(_ textures: UnsafePointer<MTLTexture?>, withRange range: NSRange)

    Objective C

    - (void)setTextures:(const id<MTLTexture> [])textures withRange:(NSRange)range

    Параметры

    textures

    Массив MTLTexture объекты установить в таблице параметра.

    range

    Диапазон индексов в таблице параметра текстуры.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает состояние сэмплера для вычислить функции в индексе в таблице параметра состояния сэмплера. (требуемый)

    Объявление

    Swift

    func setSamplerState(_ sampler: MTLSamplerState!, atIndex index: Int)

    Objective C

    - (void)setSamplerState:(id<MTLSamplerState>)sampler atIndex:(NSUInteger)index

    Параметры

    sampler

    MTLSamplerState возразите для установки в таблице параметра.

    index

    Индекс в таблице параметра состояния сэмплера.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает массив состояний сэмплера для вычислить функции в диапазоне индексов в таблице параметра состояния сэмплера. (требуемый)

    Объявление

    Swift

    func setSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, withRange range: NSRange)

    Objective C

    - (void)setSamplerStates:(const id<MTLSamplerState> [])samplers withRange:(NSRange)range

    Параметры

    samplers

    Массив MTLSamplerState объекты установить в таблице параметра.

    range

    Диапазон индексов в таблице параметра состояния сэмплера.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает состояние сэмплера для вычислить функции в индексе в таблице параметра состояния сэмплера. Этот метод также указывает значения зажима для минимального и максимального уровня подробности. (требуемый)

    Объявление

    Swift

    func setSamplerState(_ sampler: MTLSamplerState!, lodMinClamp lodMinClamp: Float, lodMaxClamp lodMaxClamp: Float, atIndex index: Int)

    Objective C

    - (void)setSamplerState:(id<MTLSamplerState>)sampler lodMinClamp:(float)lodMinClamp lodMaxClamp:(float)lodMaxClamp atIndex:(NSUInteger)index

    Параметры

    sampler

    MTLSamplerState возразите для установки в таблице параметра.

    lodMinClamp

    Минимальный уровень подробности, использующейся при выборке текстуры.

    lodMaxClamp

    Максимальный уровень подробности, использующейся при выборке текстуры.

    index

    Индекс в таблице параметра состояния сэмплера.

    Обсуждение

    Когда этот метод используется, значения зажима lodMinClamp и lodMaxClamp свойства сэмплера проигнорированы.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает массив состояний сэмплера для вычислить функции в диапазоне индексов в таблице параметра состояния сэмплера с указанными соответствующими значениями зажима для минимального и максимального уровня подробности. (требуемый)

    Объявление

    Swift

    func setSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, lodMinClamps lodMinClamps: UnsafePointer<Float>, lodMaxClamps lodMaxClamps: UnsafePointer<Float>, withRange range: NSRange)

    Objective C

    - (void)setSamplerStates:(const id<MTLSamplerState> [])samplers lodMinClamps:(const float [])lodMinClamps lodMaxClamps:(const float [])lodMaxClamps withRange:(NSRange)range

    Параметры

    samplers

    Массив MTLSamplerState объекты установить в таблице параметра.

    lodMinClamps

    Массив минимальных уровней подробности, соответствующих samplers выстройте и используются для выборки текстур.

    lodMaxClamps

    Массив максимальных уровней подробности, соответствующих samplers выстройте и используются для выборки текстур.

    range

    Диапазон индексов в таблице параметра состояния сэмплера.

    Обсуждение

    Когда этот метод используется, значения зажима lodMinClamp и lodMaxClamp свойства состояния сэмплера проигнорированы.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устанавливает длину байта threadgroup памяти в индексе в threadgroup таблице параметра памяти. (требуемый)

    Объявление

    Swift

    func setThreadgroupMemoryLength(_ length: Int, atIndex index: Int)

    Objective C

    - (void)setThreadgroupMemoryLength:(NSUInteger)length atIndex:(NSUInteger)index

    Параметры

    length

    Размер threadgroup памяти, в байтах.

    index

    Индекс в threadgroup таблице параметра памяти.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Кодирует выполнение threadgroup вычислить функции. (требуемый)

    Объявление

    Swift

    func dispatchThreadgroups(_ threadgroupsPerGrid: MTLSize, threadsPerThreadgroup threadsPerThreadgroup: MTLSize)

    Objective C

    - (void)dispatchThreadgroups:(MTLSize)threadgroupsPerGrid threadsPerThreadgroup:(MTLSize)threadsPerThreadgroup

    Параметры

    threadgroupsPerGrid

    Число threadgroups для сетки, в каждой размерности.

    threadsPerThreadgroup

    Число потоков в одном threadgroup, в каждой размерности.

    Обсуждение

    Этот метод кодирует команды, таким образом, потоки в threadgroup выполнят вычислить функцию в единственной инструкции, многократные данные (SIMD) вид на устройстве.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.