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

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

Разработчик

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

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

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

MTLDevice

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


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

Соответствует


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


Swift

import Metal

Objective C

@import Metal;

Доступность


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

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

Ваше приложение не определяет классы, реализующие этот протокол; это используется Металлом для обеспечения объекта устройства для приложения. Для получения предпочтительного системного устройства системы вызовите MTLCreateSystemDefaultDevice функция.

Большинство объектов в Металле, выполняющих рендеринг графики и вычислительную работу, связано непосредственно с определенным устройством. Например, объекты текстуры создаются объектом устройства и могут использоваться только с тем устройством. Большинство методов на a MTLDevice объект создает невременные объекты, включая очереди команды, ресурсы (такие как буферы и текстуры), и конвейерно обрабатывает состояния. Эти объекты могут быть дорогими для создания, и Вы призваны создать их вскоре после своих запусков приложения и снова использовать их всюду по времени жизни Вашего приложения. Избегите создавать эти объекты в производительности чувствительный код.

  • name Свойство

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

    Объявление

    Swift

    var name: String { get }

    Objective C

    @property(readonly) NSString *name

    Обсуждение

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func supportsFeatureSet(_ featureSet: MTLFeatureSet) -> Bool

    Objective C

    - (BOOL)supportsFeatureSet:(MTLFeatureSet)featureSet

    Параметры

    featureSet

    Значение, указывающее набор функций, которым Вы интересуетесь.

    Возвращаемое значение

    YEStrue если набор функций поддерживается устройством; иначе NOfalse.

    Обсуждение

    Для получения дополнительной информации об определенных возможностях каждого набора функций см. Металлическое Руководство по программированию.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newDefaultLibrary() -> MTLLibrary?

    Objective C

    - (id<MTLLibrary>)newDefaultLibrary

    Возвращаемое значение

    Новый объект библиотеки, содержащий функции от библиотеки по умолчанию. Этот метод возвраты nil если не может быть найдена библиотека по умолчанию.

    Обсуждение

    Все .metal файлы в проекте XCode, создающем приложение, скомпилированы и встроены в единственную библиотеку по умолчанию.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Создает новую библиотеку, содержащую функции, сохраненные в указанной библиотеке Metal. (требуемый)

    Объявление

    Swift

    func newLibraryWithFile(_ filepath: String, error error: NSErrorPointer) -> MTLLibrary?

    Objective C

    - (id<MTLLibrary>)newLibraryWithFile:(NSString *)filepath error:(NSError **)error

    Параметры

    filepath

    Полный путь к файлу к a .metallib файл.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа. Например, если код не может быть успешно скомпилирован, объект мог бы включать ошибки компилятора.

    Возвращаемое значение

    Новый объект библиотеки, содержащий функции, скомпилированные в .metallib файл.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newLibraryWithSource(_ source: String, options options: MTLCompileOptions?, completionHandler completionHandler: ((MTLLibrary!, NSError!) -> Void)!)

    Objective C

    - (void)newLibraryWithSource:(NSString *)source options:(MTLCompileOptions *)options completionHandler:(void (^)(id<MTLLibrary> library, NSError *error))completionHandler

    Параметры

    source

    Строка, содержащая исходный код для одной или более Металлических функций. Посмотрите Металлическое Руководство по Языку Штриховки.

    options

    Ряд опций влиять на компиляцию этого источника. Посмотрите Ссылку класса MTLCompileOptions.

    completionHandler

    Блок кода, вызывающийся, когда результат загрузки библиотеки доступен. Обработчик завершения берет следующие параметры:

    library

    Новый объект библиотеки, содержащий скомпилированный код или nil если произошла ошибка.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа. Например, если код не может быть успешно скомпилирован, объект мог бы включать ошибки компилятора. Если компилятор только генерировал предупреждения, для параметра ошибок возможно быть не -nil и также получите допустимый объект библиотеки.

    Обсуждение

    Источник может только импортировать Металлическую стандартную библиотеку. Нет никакого пути поиска для нахождения других функций.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newLibraryWithSource(_ source: String, options options: MTLCompileOptions?, error error: NSErrorPointer) -> MTLLibrary?

    Objective C

    - (id<MTLLibrary>)newLibraryWithSource:(NSString *)source options:(MTLCompileOptions *)options error:(NSError **)error

    Параметры

    source

    Строка, содержащая исходный код для одной или более Металлических функций. Посмотрите Металлическое Руководство по Языку Штриховки.

    options

    Ряд опций влиять на компиляцию этого источника. Посмотрите Ссылку класса MTLCompileOptions.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа. Например, если код не может быть успешно скомпилирован, объект мог бы включать ошибки компилятора. Если компилятор только генерировал предупреждения, для параметра ошибок возможно быть не -nil и также получите допустимый объект библиотеки.

    Возвращаемое значение

    Новый объект библиотеки, содержащий функции из источника.

    Обсуждение

    Источник может только импортировать Металлическую стандартную библиотеку. Нет никакого пути поиска для нахождения других функций.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newLibraryWithData(_ data: dispatch_data_t, error error: NSErrorPointer) -> MTLLibrary?

    Objective C

    - (id<MTLLibrary>)newLibraryWithData:(dispatch_data_t)data error:(NSError **)error

    Параметры

    data

    Данные от предварительно скомпилированной библиотеки Metal. Для получения дополнительной информации посмотрите Библиотеки Создания Во время Процесса сборки Приложения

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа. Например, если код не может быть успешно скомпилирован, объект мог бы включать ошибки компилятора.

    Возвращаемое значение

    Новый объект библиотеки, содержащий функции от metallib файл..

    Обсуждение

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newCommandQueue() -> MTLCommandQueue

    Objective C

    - (id<MTLCommandQueue>)newCommandQueue

    Возвращаемое значение

    Новый объект очереди команды.

    Обсуждение

    Объекты очереди команды всегда связываются с исходным устройством.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newCommandQueueWithMaxCommandBufferCount(_ maxCommandBufferCount: Int) -> MTLCommandQueue

    Objective C

    - (id<MTLCommandQueue>)newCommandQueueWithMaxCommandBufferCount:(NSUInteger)maxCommandBufferCount

    Параметры

    maxCommandBufferCount

    Максимальное количество незаконченных буферов команд, которые могут ставиться в очередь.

    Возвращаемое значение

    Новый объект очереди команды.

    Обсуждение

    Объекты очереди команды всегда связываются с исходным устройством.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newBufferWithLength(_ length: Int, options options: MTLResourceOptions) -> MTLBuffer!

    Objective C

    - (id<MTLBuffer>)newBufferWithLength:(NSUInteger)length options:(MTLResourceOptions)options

    Параметры

    length

    Размер, в байтах, нового выделения памяти.

    options

    Указывает поведение нового буферного объекта.

    Возвращаемое значение

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newBufferWithBytes(_ pointer: UnsafePointer<Void>, length length: Int, options options: MTLResourceOptions) -> MTLBuffer!

    Objective C

    - (id<MTLBuffer>)newBufferWithBytes:(const void *)pointer length:(NSUInteger)length options:(MTLResourceOptions)options

    Параметры

    pointer

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

    length

    Размер, в байтах, нового выделения памяти. Это - также число байтов, копирующихся с pointer.

    options

    Указывает поведение нового буферного объекта.

    Возвращаемое значение

    Новый буферный объект, содержащий данные, скопированные с pointer.

    Обсуждение

    Выделение ресурсов хранения возвращенного нового буферного объекта не является тем же как pointer входное значение.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Создает буфер путем обертывания существующего непрерывного выделения памяти. (требуемый)

    Объявление

    Swift

    func newBufferWithBytesNoCopy(_ pointer: UnsafeMutablePointer<Void>, length length: Int, options options: MTLResourceOptions, deallocator deallocator: ((UnsafeMutablePointer<Void>, Int) -> Void)?) -> MTLBuffer!

    Objective C

    - (id<MTLBuffer>)newBufferWithBytesNoCopy:(void *)pointer length:(NSUInteger)length options:(MTLResourceOptions)options deallocator:(void (^)(void *pointer, NSUInteger length))deallocator

    Параметры

    pointer

    Адрес памяти, с которого запускаются данные. Выделение памяти в pointer должна уже быть выровненная страница.

    length

    Число байтов существующего выделения памяти для покрытия. Значение length должен привести к выровненной страницей области памяти.

    options

    Указывает поведение нового буферного объекта.

    deallocator

    Блок кода, вызывающийся, когда освобожден этот буферный объект. Передача nil если Вы не должны выполнять действие.

    Возвращаемое значение

    Новый буферный объект, ссылающийся на существующее выделение памяти.

    Обсуждение

    Выделение ресурсов хранения возвращенного нового буферного объекта совпадает с pointer входное значение. Существующее выделение памяти должно быть покрыто единственной областью VM, обычно выделенной с vm_allocate или mmap. Память, выделенная malloc в частности запрещен.

    deallocator блок может использоваться для освобождения обернутого выделения памяти любым желаемым способом.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Создает объект текстуры с частным хранением, содержащим состояние текстуры. (требуемый)

    Объявление

    Swift

    func newTextureWithDescriptor(_ descriptor: MTLTextureDescriptor) -> MTLTexture!

    Objective C

    - (id<MTLTexture>)newTextureWithDescriptor:(MTLTextureDescriptor *)descriptor

    Параметры

    descriptor

    Объект дескриптора, описывающий текстуру, которая будет создаваться.

    Возвращаемое значение

    Новый объект скомпилированная текстура.

    Обсуждение

    Возвращенный объект текстуры выделил хранение для данных изображения текстуры.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Создает объект состояния сэмплера, содержащий состояние сэмплера. (требуемый)

    Объявление

    Swift

    func newSamplerStateWithDescriptor(_ descriptor: MTLSamplerDescriptor) -> MTLSamplerState

    Objective C

    - (id<MTLSamplerState>)newSamplerStateWithDescriptor:(MTLSamplerDescriptor *)descriptor

    Параметры

    descriptor

    Объект дескриптора, описывающий сэмплер для создания.

    Возвращаемое значение

    Новый объект с состоянием сэмплера.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Создает новый объект, содержащий глубину и тестовое состояние шаблона. (требуемый)

    Объявление

    Swift

    func newDepthStencilStateWithDescriptor(_ descriptor: MTLDepthStencilDescriptor) -> MTLDepthStencilState

    Objective C

    - (id<MTLDepthStencilState>)newDepthStencilStateWithDescriptor:(MTLDepthStencilDescriptor *)descriptor

    Параметры

    descriptor

    Объект дескриптора, содержащий глубину и шаблон, тестирует государственную собственность.

    Возвращаемое значение

    Новый объект, содержащий состояние для тестов шаблона и глубины.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Асинхронно создает и возвращает конвейерный объект состояния рендеринга. (требуемый)

    Объявление

    Swift

    func newRenderPipelineStateWithDescriptor(_ descriptor: MTLRenderPipelineDescriptor, completionHandler completionHandler: ((MTLRenderPipelineState!, NSError!) -> Void)!)

    Objective C

    - (void)newRenderPipelineStateWithDescriptor:(MTLRenderPipelineDescriptor *)descriptor completionHandler:(void (^)(id<MTLRenderPipelineState> renderPipelineState, NSError *error))completionHandler

    Параметры

    descriptor

    Объект дескриптора, содержащий графику, представляющую государственную собственность, включая растеризацию, видимость, функцию и состояние смешения.

    completionHandler

    Завершается блок, который вызовут после логики для создания конвейерного объекта состояния рендеринга. Блок берет следующие параметры:

    renderPipelineState

    Новый рендеринг конвейерно обрабатывает объект состояния, содержащий скомпилированное состояние рендеринга графики, или nil если произошла ошибка.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа.

    Обсуждение

    Для использования графики, представляющей конвейерное состояние для передачи рендеринга, вызовите setRenderPipelineState: метод a MTLRenderCommandEncoder объект с MTLRenderPipelineState объект.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newRenderPipelineStateWithDescriptor(_ descriptor: MTLRenderPipelineDescriptor, options options: MTLPipelineOption, completionHandler completionHandler: ((MTLRenderPipelineState!, MTLRenderPipelineReflection!, NSError!) -> Void)!)

    Objective C

    - (void)newRenderPipelineStateWithDescriptor:(MTLRenderPipelineDescriptor *)descriptor options:(MTLPipelineOption)options completionHandler:(void (^)(id<MTLRenderPipelineState> renderPipelineState, MTLRenderPipelineReflection *reflection, NSError *error))completionHandler

    Параметры

    descriptor

    Объект дескриптора, содержащий графику, представляющую государственную собственность, включая растеризацию, видимость, функцию и состояние смешения.

    options

    Тип отражательной информации, которая должна быть возвращена.

    completionHandler

    Завершается блок, который вызовут после логики для создания конвейерного объекта состояния рендеринга. Блок берет следующие параметры:

    renderPipelineState

    Новый рендеринг конвейерно обрабатывает объект состояния, содержащий скомпилированное состояние рендеринга графики, или nil если произошла ошибка.

    reflection

    Новый отражательный объект, содержащий отражательные данные о вершине и функциях фрагмента, включая подробные данные об аргументах функции. Если конвейерное состояние не могло бы быть скомпилировано, этот параметр nil.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа.

    Обсуждение

    Для использования графики, представляющей конвейерное состояние для передачи рендеринга, вызовите setRenderPipelineState: метод a MTLRenderCommandEncoder объект с MTLRenderPipelineState объект.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Синхронно создает и возвращает конвейерный объект состояния рендеринга. (требуемый)

    Объявление

    Swift

    func newRenderPipelineStateWithDescriptor(_ descriptor: MTLRenderPipelineDescriptor, error error: NSErrorPointer) -> MTLRenderPipelineState?

    Objective C

    - (id<MTLRenderPipelineState>)newRenderPipelineStateWithDescriptor:(MTLRenderPipelineDescriptor *)descriptor error:(NSError **)error

    Параметры

    descriptor

    Объект дескриптора, содержащий графику, представляющую государственную собственность, включая растеризацию, видимость, программируемую программу построения теней и состояние смешения.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа.

    Возвращаемое значение

    Новый объект со скомпилированной графикой, представляющей конвейерное состояние.

    Обсуждение

    Для использования графики, представляющей конвейерное состояние для передачи рендеринга, вызовите setRenderPipelineState: метод a MTLRenderCommandEncoder объект с MTLRenderPipelineState объект.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newRenderPipelineStateWithDescriptor(_ descriptor: MTLRenderPipelineDescriptor, options options: MTLPipelineOption, reflection reflection: AutoreleasingUnsafeMutablePointer<MTLRenderPipelineReflection?>, error error: NSErrorPointer) -> MTLRenderPipelineState?

    Objective C

    - (id<MTLRenderPipelineState>)newRenderPipelineStateWithDescriptor:(MTLRenderPipelineDescriptor *)descriptor options:(MTLPipelineOption)options reflection:(MTLRenderPipelineReflection **)reflection error:(NSError **)error

    Параметры

    descriptor

    Объект дескриптора, содержащий графику, представляющую государственную собственность, включая растеризацию, видимость, программируемую программу построения теней и состояние смешения.

    options

    Тип отражательной информации, которая должна быть возвращена.

    reflection

    По возврату расположение, на которое указывает этот параметр, заполнено новым объектом, содержащим отражательные данные о вершине и функциях фрагмента, включая подробные данные об аргументах функции. Если конвейерное состояние не могло бы быть скомпилировано, то nil возвращается.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа.

    Возвращаемое значение

    Новый объект со скомпилированной графикой, представляющей конвейерное состояние.

    Обсуждение

    Для использования графики, представляющей конвейерное состояние для передачи рендеринга, вызовите setRenderPipelineState: метод a MTLRenderCommandEncoder объект с MTLRenderPipelineState объект.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newComputePipelineStateWithFunction(_ function: MTLFunction, completionHandler completionHandler: ((MTLComputePipelineState!, NSError!) -> Void)!)

    Objective C

    - (void)newComputePipelineStateWithFunction:(id<MTLFunction>)function completionHandler:(void (^)(id<MTLComputePipelineState> computePipelineState, NSError *error))completionHandler

    Параметры

    function

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

    completionHandler

    Блок, который вызовут после задачи, завершается. Блок берет следующие параметры:

    computePipelineState

    Новое вычисляет конвейерный объект состояния, содержащий скомпилированный, вычисляют конвейерное состояние или nil если произошла ошибка.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа.

    Обсуждение

    Для использования вычислить конвейерного состояния для вычислить передачи вызовите setComputePipelineState: метод a MTLComputeCommandEncoder объект с MTLComputePipelineState объект.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newComputePipelineStateWithFunction(_ function: MTLFunction, options options: MTLPipelineOption, completionHandler completionHandler: ((MTLComputePipelineState!, MTLComputePipelineReflection!, NSError!) -> Void)!)

    Objective C

    - (void)newComputePipelineStateWithFunction:(id<MTLFunction>)function options:(MTLPipelineOption)options completionHandler:(void (^)(id<MTLComputePipelineState> computePipelineState, MTLComputePipelineReflection *reflection, NSError *error))completionHandler

    Параметры

    function

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

    options

    Тип отражательной информации, которая должна быть возвращена.

    completionHandler

    Блок, который вызовут после задачи, завершается. Блок берет следующие параметры:

    computePipelineState

    Новое вычисляет конвейерный объект состояния, содержащий скомпилированный, вычисляют конвейерное состояние, или nil если произошла ошибка.

    reflection

    Новый отражательный объект, содержащий отражательные данные о вычислить функции, включая подробные данные об аргументах функции. Если конвейерное состояние не могло бы быть скомпилировано, этот параметр nil.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа.

    Обсуждение

    Для использования вычислить конвейерного состояния для вычислить передачи вызовите setComputePipelineState: метод a MTLComputeCommandEncoder объект с MTLComputePipelineState объект.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newComputePipelineStateWithFunction(_ function: MTLFunction, error error: NSErrorPointer) -> MTLComputePipelineState?

    Objective C

    - (id<MTLComputePipelineState>)newComputePipelineStateWithFunction:(id<MTLFunction>)function error:(NSError **)error

    Параметры

    function

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

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа.

    Возвращаемое значение

    Новый объект, который может использоваться в качестве вычислить конвейерного состояния.

    Обсуждение

    Для использования вычислить конвейерного состояния для вычислить передачи вызовите setComputePipelineState: метод a MTLComputeCommandEncoder объект с MTLComputePipelineState объект.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    func newComputePipelineStateWithFunction(_ function: MTLFunction, options options: MTLPipelineOption, reflection reflection: AutoreleasingUnsafeMutablePointer<MTLComputePipelineReflection?>, error error: NSErrorPointer) -> MTLComputePipelineState?

    Objective C

    - (id<MTLComputePipelineState>)newComputePipelineStateWithFunction:(id<MTLFunction>)function options:(MTLPipelineOption)options reflection:(MTLComputePipelineReflection **)reflection error:(NSError **)error

    Параметры

    function

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

    options

    Тип отражательной информации, которая должна быть возвращена.

    reflection

    Отражательные данные о вычислить функции, включая подробные данные об аргументах функции.

    error

    Ошибочный объект, описывающий проблему, или nil если успешно выполнилась работа.

    Возвращаемое значение

    Новый объект, который может использоваться в качестве вычислить конвейерного состояния.

    Обсуждение

    Для использования вычислить конвейерного состояния для вычислить передачи вызовите setComputePipelineState: метод a MTLComputeCommandEncoder объект с MTLComputePipelineState объект.

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

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

    Объявление

    Swift

    enum MTLFeatureSet : UInt { case _iOS_GPUFamily1_v1 case _iOS_GPUFamily2_v1 }

    Objective C

    typedef enum : NSUInteger { MTLFeatureSet_iOS_GPUFamily1_v1 = 0, MTLFeatureSet_iOS_GPUFamily2_v1 = 1, } MTLFeatureSet;

    Константы

    • MTLFeatureSet_iOS_GPUFamily1_v1

      Набор функций, поддерживаемый первым поколением iOS GPUs тот Металл поддержки. Этот набор функций поддерживается A7 GPU.

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

    • MTLFeatureSet_iOS_GPUFamily2_v1

      Набор функций, поддерживаемый вторым поколением iOS GPUs тот Металл поддержки. Этот набор функций поддерживается A8 GPU.

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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

  • Средства управления, какая информация о параметре сделана доступной для отражения созданием конвейера.

    Объявление

    Swift

    struct MTLPipelineOption : RawOptionSetType { init(_ rawValue: UInt) init(rawValue rawValue: UInt) static var None: MTLPipelineOption { get } static var ArgumentInfo: MTLPipelineOption { get } static var BufferTypeInfo: MTLPipelineOption { get } }

    Objective C

    typedef enum : NSUInteger { MTLPipelineOptionNone = 0, MTLPipelineOptionArgumentInfo = 1, MTLPipelineOptionBufferTypeInfo = 2 } MTLPipelineOption;

    Константы

    • None

      MTLPipelineOptionNone

      Никакая информация о параметре не сделала доступным.

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

    • ArgumentInfo

      MTLPipelineOptionArgumentInfo

      Информация о параметре сделала доступным.

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

    • BufferTypeInfo

      MTLPipelineOptionBufferTypeInfo

      Буфер и информация о параметре сделали доступным.

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

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

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

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