Class MetalNative
- Namespace
- DotCompute.Backends.Metal.Native
- Assembly
- DotCompute.Backends.Metal.dll
Native interop for Metal API.
public static class MetalNative
- Inheritance
-
MetalNative
- Inherited Members
Methods
CommitCommandBuffer(nint)
public static extern void CommitCommandBuffer(nint commandBuffer)
Parameters
commandBuffernint
CompileLibrary(nint, string, nint, ref nint)
public static nint CompileLibrary(nint device, string source, nint options, ref nint error)
Parameters
Returns
CopyBuffer(nint, long, nint, long, long)
public static extern void CopyBuffer(nint source, long sourceOffset, nint destination, long destOffset, long size)
Parameters
CreateBuffer(nint, nuint, MetalStorageMode)
public static extern nint CreateBuffer(nint device, nuint length, MetalStorageMode storageMode)
Parameters
devicenintlengthnuintstorageModeMetalStorageMode
Returns
CreateBufferWithBytes(nint, nint, nuint, MetalStorageMode)
public static extern nint CreateBufferWithBytes(nint device, nint bytes, nuint length, MetalStorageMode storageMode)
Parameters
devicenintbytesnintlengthnuintstorageModeMetalStorageMode
Returns
CreateCommandBuffer(nint)
public static extern nint CreateCommandBuffer(nint commandQueue)
Parameters
commandQueuenint
Returns
CreateCommandQueue(nint)
public static extern nint CreateCommandQueue(nint device)
Parameters
devicenint
Returns
CreateCompileOptions()
public static extern nint CreateCompileOptions()
Returns
CreateComputeCommandEncoder(nint)
public static extern nint CreateComputeCommandEncoder(nint commandBuffer)
Parameters
commandBuffernint
Returns
CreateComputePipelineState(nint, nint)
public static extern nint CreateComputePipelineState(nint device, nint function)
Parameters
Returns
CreateComputePipelineState(nint, nint, ref nint)
public static nint CreateComputePipelineState(nint device, nint function, ref nint error)
Parameters
Returns
CreateDeviceAtIndex(int)
public static extern nint CreateDeviceAtIndex(int index)
Parameters
indexint
Returns
CreateLibraryWithSource(nint, string)
public static nint CreateLibraryWithSource(nint device, string source)
Parameters
Returns
CreateSystemDefaultDevice()
public static extern nint CreateSystemDefaultDevice()
Returns
DidModifyRange(nint, long, long)
public static extern void DidModifyRange(nint buffer, long offset, long length)
Parameters
DispatchThreadgroups(nint, MetalSize, MetalSize)
public static extern void DispatchThreadgroups(nint encoder, MetalSize gridSize, MetalSize threadgroupSize)
Parameters
EndEncoding(nint)
public static extern void EndEncoding(nint encoder)
Parameters
encodernint
GetBufferContents(nint)
public static extern nint GetBufferContents(nint buffer)
Parameters
buffernint
Returns
GetBufferLength(nint)
public static extern nuint GetBufferLength(nint buffer)
Parameters
buffernint
Returns
GetDeviceCount()
public static extern int GetDeviceCount()
Returns
GetDeviceInfo(nint)
public static extern MetalDeviceInfo GetDeviceInfo(nint device)
Parameters
devicenint
Returns
GetErrorLocalizedDescription(nint)
public static extern nint GetErrorLocalizedDescription(nint error)
Parameters
errornint
Returns
GetFunction(nint, string)
public static nint GetFunction(nint library, string functionName)
Parameters
Returns
GetLibraryData(nint, nint, int)
public static bool GetLibraryData(nint library, nint buffer, int bufferSize)
Parameters
Returns
GetLibraryDataSize(nint)
public static extern int GetLibraryDataSize(nint library)
Parameters
librarynint
Returns
GetMaxTotalThreadsPerThreadgroup(nint)
public static extern int GetMaxTotalThreadsPerThreadgroup(nint pipelineState)
Parameters
pipelineStatenint
Returns
GetThreadExecutionWidth(nint, out int, out int, out int)
public static void GetThreadExecutionWidth(nint pipelineState, out int x, out int y, out int z)
Parameters
GetThreadExecutionWidthTuple(nint)
public static (int x, int y, int z) GetThreadExecutionWidthTuple(nint pipelineState)
Parameters
pipelineStatenint
Returns
IsMetalSupported()
public static bool IsMetalSupported()
Returns
ReleaseBuffer(nint)
public static extern void ReleaseBuffer(nint buffer)
Parameters
buffernint
ReleaseCommandBuffer(nint)
public static extern void ReleaseCommandBuffer(nint commandBuffer)
Parameters
commandBuffernint
ReleaseCommandQueue(nint)
public static extern void ReleaseCommandQueue(nint commandQueue)
Parameters
commandQueuenint
ReleaseCompileOptions(nint)
public static extern void ReleaseCompileOptions(nint options)
Parameters
optionsnint
ReleaseComputePipelineState(nint)
public static extern void ReleaseComputePipelineState(nint pipelineState)
Parameters
pipelineStatenint
ReleaseDevice(nint)
public static extern void ReleaseDevice(nint device)
Parameters
devicenint
ReleaseEncoder(nint)
public static extern void ReleaseEncoder(nint encoder)
Parameters
encodernint
ReleaseError(nint)
public static extern void ReleaseError(nint error)
Parameters
errornint
ReleaseFunction(nint)
public static extern void ReleaseFunction(nint function)
Parameters
functionnint
ReleaseLibrary(nint)
public static extern void ReleaseLibrary(nint library)
Parameters
librarynint
ReleasePipelineState(nint)
public static extern void ReleasePipelineState(nint pipelineState)
Parameters
pipelineStatenint
SetBuffer(nint, nint, nuint, int)
public static extern void SetBuffer(nint encoder, nint buffer, nuint offset, int index)
Parameters
SetBytes(nint, nint, nuint, int)
public static extern void SetBytes(nint encoder, nint bytes, nuint length, int index)
Parameters
SetCommandBufferCompletionHandler(nint, CommandBufferCompletionHandler)
public static void SetCommandBufferCompletionHandler(nint commandBuffer, CommandBufferCompletionHandler handler)
Parameters
commandBufferninthandlerCommandBufferCompletionHandler
SetCompileOptionsFastMath(nint, bool)
public static void SetCompileOptionsFastMath(nint options, bool enable)
Parameters
SetCompileOptionsLanguageVersion(nint, MetalLanguageVersion)
public static extern void SetCompileOptionsLanguageVersion(nint options, MetalLanguageVersion version)
Parameters
optionsnintversionMetalLanguageVersion
SetComputePipelineState(nint, nint)
public static extern void SetComputePipelineState(nint encoder, nint pipelineState)
Parameters
WaitUntilCompleted(nint)
public static extern void WaitUntilCompleted(nint commandBuffer)
Parameters
commandBuffernint