Instance Method

makeLibrary(source:options:)

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

Required.

Declaration

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

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. See MTLCompileOptions.

error

A pointer to an error object that describes source code compilation problems, if any. This object contains compiler errors if the returned library object is nil, and compiler warnings if the library was generated with warnings. If the library was generated successfully, without errors or warnings, this error object is nil.

Return Value

A new library object that contains the compiled source code or nil if an error occurred.

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.

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?, completionHandler: MTLNewLibraryCompletionHandler)

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

Required.