MTLComputeCommandEncoder
Наследование
Не применимый
Оператор импорта
Swift
import Metal
Objective C
@import Metal;
Доступность
Доступный в iOS 8.0 и позже.
MTLComputeCommandEncoder
протокол определяет интерфейс для кодирования команд, указывающих, что параллель данных вычисляет обработку, утверждают и выполняют вычислить функцию. Создать a MTLComputeCommandEncoder
объект, вызовите computeCommandEncoder
метод MTLCommandBuffer
объект, в котором Вы хотите закодировать, вычисляет команды. (Не используйте стандартное выделение и методы инициализации для создания a MTLComputeCommandEncoder
объект.)
После создания a MTLComputeCommandEncoder
объект, используйте, он для кодирования следующей параллели данных вычисляет команды обработки:
Вызовите
setComputePipelineState:
метод сMTLComputePipelineState
объект, содержащий вычислить функцию, которая будет выполняться.Укажите ресурсы, содержащие входные данные (или выведите место назначения) для вычислить функции. Установите расположение (индекс) каждого ресурса в его соответствующей таблице параметра.
Вызовите
dispatchThreadgroups:threadsPerThreadgroup:
метод для кодирования вычислить функции с конкретным количеством threadgroups для сетки и числа потоков на threadgroup.Вызвать
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 и позже.
-
Устанавливает буфер для вычислить функции в индексе в буферной таблице параметра со смещением, указывающим запуск данных. (требуемый)
Объявление
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?>, offsetsoffsets
: UnsafePointer<Int>, withRangerange
: 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 и позже.
-
Устанавливает смещение, указывающее запуск данных для буфера, уже связанного с вычислить функцией. (требуемый)
Объявление
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 и позже.
-
Устанавливает блок данных для вычислить функции в индексе в буферной таблице параметра. (требуемый)
Объявление
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?, atIndexindex
: 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?>, withRangerange
: 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!, atIndexindex
: 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?>, withRangerange
: 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 и позже.
-
setSamplerState (_: lodMinClamp:lodMaxClamp:atIndex:) - setSamplerState:lodMinClamp:lodMaxClamp:atIndex:
ТребуемыйУстанавливает состояние сэмплера для вычислить функции в индексе в таблице параметра состояния сэмплера. Этот метод также указывает значения зажима для минимального и максимального уровня подробности. (требуемый)
Объявление
Swift
func setSamplerState(_
sampler
: MTLSamplerState!, lodMinClamplodMinClamp
: Float, lodMaxClamplodMaxClamp
: Float, atIndexindex
: 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 и позже.
-
setSamplerStates (_: lodMinClamps:lodMaxClamps:withRange:) - setSamplerStates:lodMinClamps:lodMaxClamps:withRange:
ТребуемыйУстанавливает массив состояний сэмплера для вычислить функции в диапазоне индексов в таблице параметра состояния сэмплера с указанными соответствующими значениями зажима для минимального и максимального уровня подробности. (требуемый)
Объявление
Swift
func setSamplerStates(_
samplers
: UnsafePointer<MTLSamplerState?>, lodMinClampslodMinClamps
: UnsafePointer<Float>, lodMaxClampslodMaxClamps
: UnsafePointer<Float>, withRangerange
: 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 таблице параметра памяти. (требуемый)
Объявление
Objective C
- (void)setThreadgroupMemoryLength:(NSUInteger)
length
atIndex:(NSUInteger)index
Параметры
length
Размер threadgroup памяти, в байтах.
index
Индекс в threadgroup таблице параметра памяти.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.
-
dispatchThreadgroups (_: threadsPerThreadgroup:) - dispatchThreadgroups:threadsPerThreadgroup:
ТребуемыйКодирует выполнение threadgroup вычислить функции. (требуемый)
Объявление
Параметры
threadgroupsPerGrid
Число threadgroups для сетки, в каждой размерности.
threadsPerThreadgroup
Число потоков в одном threadgroup, в каждой размерности.
Обсуждение
Этот метод кодирует команды, таким образом, потоки в threadgroup выполнят вычислить функцию в единственной инструкции, многократные данные (SIMD) вид на устройстве.
Оператор импорта
Objective C
@import Metal;
Swift
import Metal
Доступность
Доступный в iOS 8.0 и позже.