Package apple.metal

Class MTLCompileOptions

    • Constructor Detail

      • MTLCompileOptions

        protected MTLCompileOptions​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static MTLCompileOptions allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(@NotNull
                                                                   @NotNull java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(@NotNull
                                                                   @NotNull java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(@NotNull
                                                                                 @NotNull java.lang.Object aTarget,
                                                                                 @NotNull
                                                                                 @NotNull org.moe.natj.objc.SEL aSelector,
                                                                                 @Nullable
                                                                                 @Nullable java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        @NotNull
        public static @NotNull NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        @NotNull
        public static @NotNull org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        @NotNull
        public static @NotNull NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(@NotNull
                                                                                             @NotNull java.lang.String key)
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • copyWithZone

        @NotNull
        public @NotNull java.lang.Object copyWithZone​(@Nullable
                                                      @Nullable org.moe.natj.general.ptr.VoidPtr zone)
        Specified by:
        copyWithZone in interface NSCopying
      • fastMathEnabled

        public boolean fastMathEnabled()
        [@property] fastMathEnabled If YES, enables the compiler to perform optimizations for floating-point arithmetic that may violate the IEEE 754 standard. It also enables the high precision variant of math functions for single precision floating-point scalar and vector types. fastMathEnabled defaults to YES.
      • languageVersion

        public long languageVersion()
        [@property] languageVersion set the metal language version used to interpret the source. API-Since: 9.0
      • preprocessorMacros

        @Nullable
        public @Nullable NSDictionary<java.lang.String,​? extends NSObject> preprocessorMacros()
        [@property] preprocessorNames List of preprocessor macros to consider to when compiling this program. Specified as key value pairs, using a NSDictionary. The keys must be NSString objects and values can be either NSString or NSNumber objects. The default value is nil.
      • setFastMathEnabled

        public void setFastMathEnabled​(boolean value)
        [@property] fastMathEnabled If YES, enables the compiler to perform optimizations for floating-point arithmetic that may violate the IEEE 754 standard. It also enables the high precision variant of math functions for single precision floating-point scalar and vector types. fastMathEnabled defaults to YES.
      • setLanguageVersion

        public void setLanguageVersion​(long value)
        [@property] languageVersion set the metal language version used to interpret the source. API-Since: 9.0
      • setPreprocessorMacros

        public void setPreprocessorMacros​(@Nullable
                                          @Nullable NSDictionary<java.lang.String,​? extends NSObject> value)
        [@property] preprocessorNames List of preprocessor macros to consider to when compiling this program. Specified as key value pairs, using a NSDictionary. The keys must be NSString objects and values can be either NSString or NSNumber objects. The default value is nil.
      • installName

        @Nullable
        public @Nullable java.lang.String installName()
        [@property] installName The install name of this dynamic library. The install name is used when a pipeline state is created that depends, directly or indirectly, on a dynamic library. The installName is embedded into any other MTLLibrary that links against the compilation result. This property should be set such that the dynamic library can be found in the file system at the time a pipeline state is created. Specify one of: - an absolute path to a file from which the dynamic library can be loaded, or - a path relative to \@executable_path, where \@executable_path is substituted with the directory name from which the MTLLibrary containing the MTLFunction entrypoint used to create the pipeline state is loaded, or - a path relative to \@loader_path, where \@loader_path is substituted with the directory name from which the MTLLibrary with the reference to this installName embedded is loaded. The first is appropriate for MTLDynamicLibrary written to the file-system using its serializeToURL:error: method on the current device. The others are appropriate when the MTLDynamicLibrary is installed as part of a bundle or app, where the absolute path is not known. This property is ignored when the type property is not set to MTLLibraryTypeDynamic. This propery should not be null if the property type is set to MTLLibraryTypeDynamic: the compilation will fail in that scenario. API-Since: 14.0
      • libraries

        @Nullable
        public @Nullable NSArray<?> libraries()
        [@property] libraries A set of MTLDynamicLibrary instances to link against. The installName of the provided MTLDynamicLibrary is embedded into the compilation result. When a function from the resulting MTLLibrary is used (either as an MTLFunction, or as an to create a pipeline state, the embedded install names are used to automatically load the MTLDynamicLibrary instances. This property can be null if no libraries should be automatically loaded, either because the MTLLibrary has no external dependencies, or because you will use preloadedLibraries to specify the libraries to use at pipeline creation time. API-Since: 14.0
      • libraryType

        public long libraryType()
        [@property] type Which type the library should be compiled as. The default value is MTLLibraryTypeExecutable. MTLLibraryTypeExecutable is suitable to build a library of "kernel", "vertex" and "fragment" qualified functions. MTLLibraryType is suitable when the compilation result will instead be used to instantiate a MTLDynamicLibrary. MTLDynamicLibrary contains no qualified functions, but it's unqualified functions and variables can be used as an external dependency for compiling other libraries. API-Since: 14.0
      • preserveInvariance

        public boolean preserveInvariance()
        [@property] preserveInvariance If YES, set the compiler to compile shaders to preserve invariance. The default is false. API-Since: 14.0
      • setInstallName

        public void setInstallName​(@Nullable
                                   @Nullable java.lang.String value)
        [@property] installName The install name of this dynamic library. The install name is used when a pipeline state is created that depends, directly or indirectly, on a dynamic library. The installName is embedded into any other MTLLibrary that links against the compilation result. This property should be set such that the dynamic library can be found in the file system at the time a pipeline state is created. Specify one of: - an absolute path to a file from which the dynamic library can be loaded, or - a path relative to \@executable_path, where \@executable_path is substituted with the directory name from which the MTLLibrary containing the MTLFunction entrypoint used to create the pipeline state is loaded, or - a path relative to \@loader_path, where \@loader_path is substituted with the directory name from which the MTLLibrary with the reference to this installName embedded is loaded. The first is appropriate for MTLDynamicLibrary written to the file-system using its serializeToURL:error: method on the current device. The others are appropriate when the MTLDynamicLibrary is installed as part of a bundle or app, where the absolute path is not known. This property is ignored when the type property is not set to MTLLibraryTypeDynamic. This propery should not be null if the property type is set to MTLLibraryTypeDynamic: the compilation will fail in that scenario. API-Since: 14.0
      • setLibraries

        public void setLibraries​(@Nullable
                                 @Nullable NSArray<?> value)
        [@property] libraries A set of MTLDynamicLibrary instances to link against. The installName of the provided MTLDynamicLibrary is embedded into the compilation result. When a function from the resulting MTLLibrary is used (either as an MTLFunction, or as an to create a pipeline state, the embedded install names are used to automatically load the MTLDynamicLibrary instances. This property can be null if no libraries should be automatically loaded, either because the MTLLibrary has no external dependencies, or because you will use preloadedLibraries to specify the libraries to use at pipeline creation time. API-Since: 14.0
      • setLibraryType

        public void setLibraryType​(long value)
        [@property] type Which type the library should be compiled as. The default value is MTLLibraryTypeExecutable. MTLLibraryTypeExecutable is suitable to build a library of "kernel", "vertex" and "fragment" qualified functions. MTLLibraryType is suitable when the compilation result will instead be used to instantiate a MTLDynamicLibrary. MTLDynamicLibrary contains no qualified functions, but it's unqualified functions and variables can be used as an external dependency for compiling other libraries. API-Since: 14.0
      • setPreserveInvariance

        public void setPreserveInvariance​(boolean value)
        [@property] preserveInvariance If YES, set the compiler to compile shaders to preserve invariance. The default is false. API-Since: 14.0
      • optimizationLevel

        public long optimizationLevel()
        [@property] optimizationLevel Sets the compiler optimization level. API-Since: 16.0
      • setOptimizationLevel

        public void setOptimizationLevel​(long value)
        [@property] optimizationLevel Sets the compiler optimization level. API-Since: 16.0
      • allowReferencingUndefinedSymbols

        public boolean allowReferencingUndefinedSymbols()
        [@property] allowReferencingUndefinedSymbols Adds a compiler command to allow the reference of undefined symbols API-Since: 16.4
      • compileSymbolVisibility

        public long compileSymbolVisibility()
        [@property] Adds a compiler command to force the default visibility of symbols to be hidden API-Since: 16.4
      • maxTotalThreadsPerThreadgroup

        public long maxTotalThreadsPerThreadgroup()
        [@property] maxTotalThreadsPerThreadgroup Adds a compiler command to specify the total threads per threadgroup API-Since: 16.4
      • setAllowReferencingUndefinedSymbols

        public void setAllowReferencingUndefinedSymbols​(boolean value)
        [@property] allowReferencingUndefinedSymbols Adds a compiler command to allow the reference of undefined symbols API-Since: 16.4
      • setCompileSymbolVisibility

        public void setCompileSymbolVisibility​(long value)
        [@property] Adds a compiler command to force the default visibility of symbols to be hidden API-Since: 16.4
      • setMaxTotalThreadsPerThreadgroup

        public void setMaxTotalThreadsPerThreadgroup​(long value)
        [@property] maxTotalThreadsPerThreadgroup Adds a compiler command to specify the total threads per threadgroup API-Since: 16.4
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.