Instance Method

newLibraryWithSource:options:error:

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

Required.

Declaration

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

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

MTLCompileOptions

Compilation settings for a Metal shader library.

See Also

Creating Shader Libraries

- newDefaultLibrary

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

Required.

- newDefaultLibraryWithBundle:error:

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

Required.

- newLibraryWithFile:error:

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

Required.

- newLibraryWithURL:error:

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

Required.

- newLibraryWithData:error:

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

Required.

- newLibraryWithSource:options:completionHandler:

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

Required.