MTLDevice
Наследование
Не применимый
Оператор импорта
Swift
import Metal
Objective C
@import Metal;
Доступность
Доступный в iOS 8.0 и позже.
MTLDevice протокол определяет интерфейс к единственному графическому процессору (GPU). Вы используете объект, соответствующий этому протоколу для запросов возможностей процессора, и выделить объекты раньше получало доступ к тем возможностям.
Ваше приложение не определяет классы, реализующие этот протокол; это используется Металлом для обеспечения объекта устройства для приложения. Для получения предпочтительного системного устройства системы вызовите MTLCreateSystemDefaultDevice функция.
Большинство объектов в Металле, выполняющих рендеринг графики и вычислительную работу, связано непосредственно с определенным устройством. Например, объекты текстуры создаются объектом устройства и могут использоваться только с тем устройством. Большинство методов на a MTLDevice объект создает невременные объекты, включая очереди команды, ресурсы (такие как буферы и текстуры), и конвейерно обрабатывает состояния. Эти объекты могут быть дорогими для создания, и Вы призваны создать их вскоре после своих запусков приложения и снова использовать их всюду по времени жизни Вашего приложения. Избегите создавать эти объекты в производительности чувствительный код.
-
nameСвойствоСтрока, идентифицирующая устройство. (требуемый) (только для чтения)
Обсуждение
Когда этот объект просматривается в отладчике XCode, его имя используется для маркировки устройства. Имя должно только использоваться для информационных целей.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
supportsFeatureSet (_:) - supportsFeatureSet:ТребуемыйПроверки, чтобы видеть, реализует ли устройство определенный набор функций. (требуемый)
Объявление
Swift
func supportsFeatureSet(_featureSet: MTLFeatureSet) -> BoolObjective C
- (BOOL)supportsFeatureSet:(MTLFeatureSet)featureSetПараметры
featureSetЗначение, указывающее набор функций, которым Вы интересуетесь.
Возвращаемое значение
YEStrueесли набор функций поддерживается устройством; иначеNOfalse.Обсуждение
Для получения дополнительной информации об определенных возможностях каждого набора функций см. Металлическое Руководство по программированию.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newDefaultLibrary () - newDefaultLibraryТребуемыйСоздает новую библиотеку, содержащую функции, сохраненные в библиотеке 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, errorerror: NSErrorPointer) -> MTLLibrary?Параметры
filepathПолный путь к файлу к a
.metallibфайл.errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа. Например, если код не может быть успешно скомпилирован, объект мог бы включать ошибки компилятора.Возвращаемое значение
Новый объект библиотеки, содержащий функции, скомпилированные в
.metallibфайл.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newLibraryWithSource (_: options:completionHandler:) - newLibraryWithSource:options:completionHandler:ТребуемыйАсинхронно создает новую библиотеку путем компиляции функций, сохраненных в указанной исходной строке. (требуемый)
Объявление
Swift
func newLibraryWithSource(_source: String, optionsoptions: MTLCompileOptions?, completionHandlercompletionHandler: ((MTLLibrary!, NSError!) -> Void)!)Objective C
- (void)newLibraryWithSource:(NSString *)sourceoptions:(MTLCompileOptions *)optionscompletionHandler:(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, optionsoptions: MTLCompileOptions?, errorerror: NSErrorPointer) -> MTLLibrary?Objective C
- (id<MTLLibrary>)newLibraryWithSource:(NSString *)sourceoptions:(MTLCompileOptions *)optionserror:(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, errorerror: NSErrorPointer) -> MTLLibrary?Objective C
- (id<MTLLibrary>)newLibraryWithData:(dispatch_data_t)dataerror:(NSError **)errorПараметры
dataДанные от предварительно скомпилированной библиотеки Metal. Для получения дополнительной информации посмотрите Библиотеки Создания Во время Процесса сборки Приложения
errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа. Например, если код не может быть успешно скомпилирован, объект мог бы включать ошибки компилятора.Возвращаемое значение
Новый объект библиотеки, содержащий функции от
metallibфайл..Обсуждение
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
См. также
-
newCommandQueue () - newCommandQueueТребуемыйСоздает и возвратите последовательную очередь представления команды. (требуемый)
Объявление
Swift
func newCommandQueue() -> MTLCommandQueueObjective C
- (id<MTLCommandQueue>)newCommandQueueВозвращаемое значение
Новый объект очереди команды.
Обсуждение
Объекты очереди команды всегда связываются с исходным устройством.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
Создает и возвращает последовательную очередь представления команды с максимальным количеством незаконченных буферов команд. (требуемый)
Объявление
Swift
func newCommandQueueWithMaxCommandBufferCount(_maxCommandBufferCount: Int) -> MTLCommandQueueObjective C
- (id<MTLCommandQueue>)newCommandQueueWithMaxCommandBufferCount:(NSUInteger)maxCommandBufferCountПараметры
maxCommandBufferCountМаксимальное количество незаконченных буферов команд, которые могут ставиться в очередь.
Возвращаемое значение
Новый объект очереди команды.
Обсуждение
Объекты очереди команды всегда связываются с исходным устройством.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
Выделяет новый буфер, к которому может получить доступ устройство. (требуемый)
Объявление
Swift
func newBufferWithLength(_length: Int, optionsoptions: MTLResourceOptions) -> MTLBuffer!Objective C
- (id<MTLBuffer>)newBufferWithLength:(NSUInteger)lengthoptions:(MTLResourceOptions)optionsПараметры
lengthРазмер, в байтах, нового выделения памяти.
optionsУказывает поведение нового буферного объекта.
Возвращаемое значение
Новый буферный объект с новым выделением памяти. Данные буфера первоначально заполнены, обнуляет.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
Выделяет новый буфер, и инициализируйте его содержание путем копирования данных в него. (требуемый)
Объявление
Swift
func newBufferWithBytes(_pointer: UnsafePointer<Void>, lengthlength: Int, optionsoptions: MTLResourceOptions) -> MTLBuffer!Objective C
- (id<MTLBuffer>)newBufferWithBytes:(const void *)pointerlength:(NSUInteger)lengthoptions:(MTLResourceOptions)optionsПараметры
pointerАдрес памяти, с которого можно скопировать исходные данные.
lengthРазмер, в байтах, нового выделения памяти. Это - также число байтов, копирующихся с
pointer.optionsУказывает поведение нового буферного объекта.
Возвращаемое значение
Новый буферный объект, содержащий данные, скопированные с
pointer.Обсуждение
Выделение ресурсов хранения возвращенного нового буферного объекта не является тем же как
pointerвходное значение.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newBufferWithBytesNoCopy (_: length:options:deallocator:) - newBufferWithBytesNoCopy:length:options:deallocator:ТребуемыйСоздает буфер путем обертывания существующего непрерывного выделения памяти. (требуемый)
Объявление
Swift
func newBufferWithBytesNoCopy(_pointer: UnsafeMutablePointer<Void>, lengthlength: Int, optionsoptions: MTLResourceOptions, deallocatordeallocator: ((UnsafeMutablePointer<Void>, Int) -> Void)?) -> MTLBuffer!Objective C
- (id<MTLBuffer>)newBufferWithBytesNoCopy:(void *)pointerlength:(NSUInteger)lengthoptions:(MTLResourceOptions)optionsdeallocator:(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) -> MTLSamplerStateObjective C
- (id<MTLSamplerState>)newSamplerStateWithDescriptor:(MTLSamplerDescriptor *)descriptorПараметры
descriptorОбъект дескриптора, описывающий сэмплер для создания.
Возвращаемое значение
Новый объект с состоянием сэмплера.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
Создает новый объект, содержащий глубину и тестовое состояние шаблона. (требуемый)
Объявление
Swift
func newDepthStencilStateWithDescriptor(_descriptor: MTLDepthStencilDescriptor) -> MTLDepthStencilStateObjective C
- (id<MTLDepthStencilState>)newDepthStencilStateWithDescriptor:(MTLDepthStencilDescriptor *)descriptorПараметры
descriptorОбъект дескриптора, содержащий глубину и шаблон, тестирует государственную собственность.
Возвращаемое значение
Новый объект, содержащий состояние для тестов шаблона и глубины.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newRenderPipelineStateWithDescriptor (_: completionHandler:) - newRenderPipelineStateWithDescriptor:completionHandler:ТребуемыйАсинхронно создает и возвращает конвейерный объект состояния рендеринга. (требуемый)
Объявление
Swift
func newRenderPipelineStateWithDescriptor(_descriptor: MTLRenderPipelineDescriptor, completionHandlercompletionHandler: ((MTLRenderPipelineState!, NSError!) -> Void)!)Objective C
- (void)newRenderPipelineStateWithDescriptor:(MTLRenderPipelineDescriptor *)descriptorcompletionHandler:(void (^)(id<MTLRenderPipelineState> renderPipelineState, NSError *error))completionHandlerПараметры
descriptorОбъект дескриптора, содержащий графику, представляющую государственную собственность, включая растеризацию, видимость, функцию и состояние смешения.
completionHandlerЗавершается блок, который вызовут после логики для создания конвейерного объекта состояния рендеринга. Блок берет следующие параметры:
renderPipelineStateНовый рендеринг конвейерно обрабатывает объект состояния, содержащий скомпилированное состояние рендеринга графики, или
nilесли произошла ошибка.errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа.Обсуждение
Для использования графики, представляющей конвейерное состояние для передачи рендеринга, вызовите
setRenderPipelineState:метод aMTLRenderCommandEncoderобъект сMTLRenderPipelineStateобъект.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newRenderPipelineStateWithDescriptor (_: options:completionHandler:) - newRenderPipelineStateWithDescriptor:options:completionHandler:ТребуемыйАсинхронно создает и возвращает конвейерный объект состояния рендеринга и связанную отражательную информацию. (требуемый)
Объявление
Swift
func newRenderPipelineStateWithDescriptor(_descriptor: MTLRenderPipelineDescriptor, optionsoptions: MTLPipelineOption, completionHandlercompletionHandler: ((MTLRenderPipelineState!, MTLRenderPipelineReflection!, NSError!) -> Void)!)Objective C
- (void)newRenderPipelineStateWithDescriptor:(MTLRenderPipelineDescriptor *)descriptoroptions:(MTLPipelineOption)optionscompletionHandler:(void (^)(id<MTLRenderPipelineState> renderPipelineState, MTLRenderPipelineReflection *reflection, NSError *error))completionHandlerПараметры
descriptorОбъект дескриптора, содержащий графику, представляющую государственную собственность, включая растеризацию, видимость, функцию и состояние смешения.
optionsТип отражательной информации, которая должна быть возвращена.
completionHandlerЗавершается блок, который вызовут после логики для создания конвейерного объекта состояния рендеринга. Блок берет следующие параметры:
renderPipelineStateНовый рендеринг конвейерно обрабатывает объект состояния, содержащий скомпилированное состояние рендеринга графики, или
nilесли произошла ошибка.reflectionНовый отражательный объект, содержащий отражательные данные о вершине и функциях фрагмента, включая подробные данные об аргументах функции. Если конвейерное состояние не могло бы быть скомпилировано, этот параметр
nil.errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа.Обсуждение
Для использования графики, представляющей конвейерное состояние для передачи рендеринга, вызовите
setRenderPipelineState:метод aMTLRenderCommandEncoderобъект сMTLRenderPipelineStateобъект.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newRenderPipelineStateWithDescriptor (_: ошибка:) - newRenderPipelineStateWithDescriptor:error:ТребуемыйСинхронно создает и возвращает конвейерный объект состояния рендеринга. (требуемый)
Объявление
Swift
func newRenderPipelineStateWithDescriptor(_descriptor: MTLRenderPipelineDescriptor, errorerror: NSErrorPointer) -> MTLRenderPipelineState?Objective C
- (id<MTLRenderPipelineState>)newRenderPipelineStateWithDescriptor:(MTLRenderPipelineDescriptor *)descriptorerror:(NSError **)errorПараметры
descriptorОбъект дескриптора, содержащий графику, представляющую государственную собственность, включая растеризацию, видимость, программируемую программу построения теней и состояние смешения.
errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа.Возвращаемое значение
Новый объект со скомпилированной графикой, представляющей конвейерное состояние.
Обсуждение
Для использования графики, представляющей конвейерное состояние для передачи рендеринга, вызовите
setRenderPipelineState:метод aMTLRenderCommandEncoderобъект сMTLRenderPipelineStateобъект.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newRenderPipelineStateWithDescriptor (_: options:reflection:error:) - newRenderPipelineStateWithDescriptor:options:reflection:error:ТребуемыйСинхронно создает конвейерный объект состояния рендеринга, содержащий скомпилированную графику, представляющую конвейерное состояние, и возвращающий дополнительную отражательную информацию. (требуемый)
Объявление
Swift
func newRenderPipelineStateWithDescriptor(_descriptor: MTLRenderPipelineDescriptor, optionsoptions: MTLPipelineOption, reflectionreflection: AutoreleasingUnsafeMutablePointer<MTLRenderPipelineReflection?>, errorerror: NSErrorPointer) -> MTLRenderPipelineState?Objective C
- (id<MTLRenderPipelineState>)newRenderPipelineStateWithDescriptor:(MTLRenderPipelineDescriptor *)descriptoroptions:(MTLPipelineOption)optionsreflection:(MTLRenderPipelineReflection **)reflectionerror:(NSError **)errorПараметры
descriptorОбъект дескриптора, содержащий графику, представляющую государственную собственность, включая растеризацию, видимость, программируемую программу построения теней и состояние смешения.
optionsТип отражательной информации, которая должна быть возвращена.
reflectionПо возврату расположение, на которое указывает этот параметр, заполнено новым объектом, содержащим отражательные данные о вершине и функциях фрагмента, включая подробные данные об аргументах функции. Если конвейерное состояние не могло бы быть скомпилировано, то
nilвозвращается.errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа.Возвращаемое значение
Новый объект со скомпилированной графикой, представляющей конвейерное состояние.
Обсуждение
Для использования графики, представляющей конвейерное состояние для передачи рендеринга, вызовите
setRenderPipelineState:метод aMTLRenderCommandEncoderобъект сMTLRenderPipelineStateобъект.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newComputePipelineStateWithFunction (_: completionHandler:) - newComputePipelineStateWithFunction:completionHandler:ТребуемыйАсинхронно создает новое, вычисляют конвейерный объект состояния, представляющий скомпилированный, вычисляют функцию. (требуемый)
Объявление
Swift
func newComputePipelineStateWithFunction(_function: MTLFunction, completionHandlercompletionHandler: ((MTLComputePipelineState!, NSError!) -> Void)!)Objective C
- (void)newComputePipelineStateWithFunction:(id<MTLFunction>)functioncompletionHandler:(void (^)(id<MTLComputePipelineState> computePipelineState, NSError *error))completionHandlerПараметры
functionФункциональный объект, который должен быть скомпилирован в вычислить конвейерный объект состояния.
completionHandlerБлок, который вызовут после задачи, завершается. Блок берет следующие параметры:
computePipelineStateНовое вычисляет конвейерный объект состояния, содержащий скомпилированный, вычисляют конвейерное состояние или
nilесли произошла ошибка.errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа.Обсуждение
Для использования вычислить конвейерного состояния для вычислить передачи вызовите
setComputePipelineState:метод aMTLComputeCommandEncoderобъект сMTLComputePipelineStateобъект.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newComputePipelineStateWithFunction (_: options:completionHandler:) - newComputePipelineStateWithFunction:options:completionHandler:ТребуемыйАсинхронно создает новое, вычисляют конвейерный объект состояния, представляющий скомпилированный, вычисляют функцию, и возвращает дополнительную отражательную информацию. (требуемый)
Объявление
Swift
func newComputePipelineStateWithFunction(_function: MTLFunction, optionsoptions: MTLPipelineOption, completionHandlercompletionHandler: ((MTLComputePipelineState!, MTLComputePipelineReflection!, NSError!) -> Void)!)Objective C
- (void)newComputePipelineStateWithFunction:(id<MTLFunction>)functionoptions:(MTLPipelineOption)optionscompletionHandler:(void (^)(id<MTLComputePipelineState> computePipelineState, MTLComputePipelineReflection *reflection, NSError *error))completionHandlerПараметры
functionФункциональный объект, который должен быть скомпилирован в вычислить конвейерный объект состояния.
optionsТип отражательной информации, которая должна быть возвращена.
completionHandlerБлок, который вызовут после задачи, завершается. Блок берет следующие параметры:
computePipelineStateНовое вычисляет конвейерный объект состояния, содержащий скомпилированный, вычисляют конвейерное состояние, или
nilесли произошла ошибка.reflectionНовый отражательный объект, содержащий отражательные данные о вычислить функции, включая подробные данные об аргументах функции. Если конвейерное состояние не могло бы быть скомпилировано, этот параметр
nil.errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа.Обсуждение
Для использования вычислить конвейерного состояния для вычислить передачи вызовите
setComputePipelineState:метод aMTLComputeCommandEncoderобъект сMTLComputePipelineStateобъект.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newComputePipelineStateWithFunction (_: ошибка:) - newComputePipelineStateWithFunction:error:ТребуемыйСинхронно создает новое, вычисляют конвейерный объект состояния, представляющий скомпилированный, вычисляют функцию. (требуемый)
Объявление
Swift
func newComputePipelineStateWithFunction(_function: MTLFunction, errorerror: NSErrorPointer) -> MTLComputePipelineState?Objective C
- (id<MTLComputePipelineState>)newComputePipelineStateWithFunction:(id<MTLFunction>)functionerror:(NSError **)errorПараметры
functionФункциональный объект, который должен быть скомпилирован в вычислить конвейерный объект состояния.
errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа.Возвращаемое значение
Новый объект, который может использоваться в качестве вычислить конвейерного состояния.
Обсуждение
Для использования вычислить конвейерного состояния для вычислить передачи вызовите
setComputePipelineState:метод aMTLComputeCommandEncoderобъект сMTLComputePipelineStateобъект.Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
newComputePipelineStateWithFunction (_: options:reflection:error:) - newComputePipelineStateWithFunction:options:reflection:error:ТребуемыйСинхронно создает новое, вычисляют конвейерный объект состояния, представляющий скомпилированный, вычисляют функцию, и возвращает дополнительную отражательную информацию. (требуемый)
Объявление
Swift
func newComputePipelineStateWithFunction(_function: MTLFunction, optionsoptions: MTLPipelineOption, reflectionreflection: AutoreleasingUnsafeMutablePointer<MTLComputePipelineReflection?>, errorerror: NSErrorPointer) -> MTLComputePipelineState?Objective C
- (id<MTLComputePipelineState>)newComputePipelineStateWithFunction:(id<MTLFunction>)functionoptions:(MTLPipelineOption)optionsreflection:(MTLComputePipelineReflection **)reflectionerror:(NSError **)errorПараметры
functionФункциональный объект, который должен быть скомпилирован в вычислить конвейерный объект состояния.
optionsТип отражательной информации, которая должна быть возвращена.
reflectionОтражательные данные о вычислить функции, включая подробные данные об аргументах функции.
errorОшибочный объект, описывающий проблему, или
nilесли успешно выполнилась работа.Возвращаемое значение
Новый объект, который может использоваться в качестве вычислить конвейерного состояния.
Обсуждение
Для использования вычислить конвейерного состояния для вычислить передачи вызовите
setComputePipelineState:метод aMTLComputeCommandEncoderобъект с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(rawValuerawValue: 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;Константы
-
NoneMTLPipelineOptionNoneНикакая информация о параметре не сделала доступным.
Доступный в iOS 8.0 и позже.
-
ArgumentInfoMTLPipelineOptionArgumentInfoИнформация о параметре сделала доступным.
Доступный в iOS 8.0 и позже.
-
BufferTypeInfoMTLPipelineOptionBufferTypeInfoБуфер и информация о параметре сделали доступным.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import Metal;Swift
import MetalДоступность
Доступный в iOS 8.0 и позже.
-
