Instance Method

makeLibrary(source:options:completionHandler:)

Creates a library object asynchronously by compiling the functions stored in the specified source string.

Required.

Declaration

func makeLibrary(source: String, options: MTLCompileOptions?, completionHandler: @escaping MTLNewLibraryCompletionHandler)

Parameters

source

A string containing source code for one or more Metal functions. See Metal Shading Language Guide.

options

A set of options to influence the compilation of this source code. See MTLCompileOptions.

completionHandler

A block of code that is invoked when the library has completed loading.

Discussion

The source may only import the Metal standard library. There is no search path to find other functions.

Topics

Compilation Options

class MTLCompileOptions

Compilation settings for a Metal shader library.

Completion Handler

typealias MTLNewLibraryCompletionHandler

A block of code that is invoked when a MTLLibrary object has completed loading.

See Also

Creating Shader Libraries

func makeDefaultLibrary() -> MTLLibrary?

Creates a library object containing the functions in the app’s default Metal library.

Required.

func makeDefaultLibrary(bundle: Bundle) -> MTLLibrary

Creates a library object containing the functions stored in the default Metal library in the specified bundle.

Required.

func makeLibrary(filepath: String) -> MTLLibrary

Creates a library object containing the functions in a Metal library file at a specified path.

Required.

func makeLibrary(URL: URL) -> MTLLibrary

Creates a library object containing the functions in a Metal library file at a specified URL.

Required.

func makeLibrary(data: __DispatchData) -> MTLLibrary

Creates a library object containing the functions stored in a binary data object created from a precompiled Metal library.

Required.

func makeLibrary(source: String, options: MTLCompileOptions?) -> MTLLibrary

Creates a library object synchronously by compiling the functions stored in the specified source string.

Required.