mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
2952 lines
63 KiB
TypeScript
2952 lines
63 KiB
TypeScript
|
|
declare class MTLArgument extends NSObject {
|
|
|
|
static alloc(): MTLArgument; // inherited from NSObject
|
|
|
|
static new(): MTLArgument; // inherited from NSObject
|
|
|
|
readonly access: MTLArgumentAccess;
|
|
|
|
readonly active: boolean;
|
|
|
|
readonly arrayLength: number;
|
|
|
|
readonly bufferAlignment: number;
|
|
|
|
readonly bufferDataSize: number;
|
|
|
|
readonly bufferDataType: MTLDataType;
|
|
|
|
readonly bufferPointerType: MTLPointerType;
|
|
|
|
readonly bufferStructType: MTLStructType;
|
|
|
|
readonly index: number;
|
|
|
|
readonly isDepthTexture: boolean;
|
|
|
|
readonly name: string;
|
|
|
|
readonly textureDataType: MTLDataType;
|
|
|
|
readonly textureType: MTLTextureType;
|
|
|
|
readonly threadgroupMemoryAlignment: number;
|
|
|
|
readonly threadgroupMemoryDataSize: number;
|
|
|
|
readonly type: MTLArgumentType;
|
|
}
|
|
|
|
declare const enum MTLArgumentAccess {
|
|
|
|
ReadOnly = 0,
|
|
|
|
ReadWrite = 1,
|
|
|
|
WriteOnly = 2
|
|
}
|
|
|
|
declare const enum MTLArgumentBuffersTier {
|
|
|
|
Tier1 = 0,
|
|
|
|
Tier2 = 1
|
|
}
|
|
|
|
declare class MTLArgumentDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLArgumentDescriptor; // inherited from NSObject
|
|
|
|
static argumentDescriptor(): MTLArgumentDescriptor;
|
|
|
|
static new(): MTLArgumentDescriptor; // inherited from NSObject
|
|
|
|
access: MTLArgumentAccess;
|
|
|
|
arrayLength: number;
|
|
|
|
constantBlockAlignment: number;
|
|
|
|
dataType: MTLDataType;
|
|
|
|
index: number;
|
|
|
|
textureType: MTLTextureType;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
interface MTLArgumentEncoder extends NSObjectProtocol {
|
|
|
|
alignment: number;
|
|
|
|
device: MTLDevice;
|
|
|
|
encodedLength: number;
|
|
|
|
label: string;
|
|
|
|
constantDataAtIndex(index: number): interop.Pointer | interop.Reference<any>;
|
|
|
|
setArgumentBufferOffset(argumentBuffer: MTLBuffer, offset: number): void;
|
|
|
|
setArgumentBufferStartOffsetArrayElement(argumentBuffer: MTLBuffer, startOffset: number, arrayElement: number): void;
|
|
|
|
setBufferOffsetAtIndex(buffer: MTLBuffer, offset: number, index: number): void;
|
|
|
|
setBuffersOffsetsWithRange(buffers: interop.Reference<MTLBuffer>, offsets: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setSamplerStateAtIndex(sampler: MTLSamplerState, index: number): void;
|
|
|
|
setSamplerStatesWithRange(samplers: interop.Reference<MTLSamplerState>, range: NSRange): void;
|
|
|
|
setTextureAtIndex(texture: MTLTexture, index: number): void;
|
|
|
|
setTexturesWithRange(textures: interop.Reference<MTLTexture>, range: NSRange): void;
|
|
}
|
|
declare var MTLArgumentEncoder: {
|
|
|
|
prototype: MTLArgumentEncoder;
|
|
};
|
|
|
|
declare const enum MTLArgumentType {
|
|
|
|
Buffer = 0,
|
|
|
|
ThreadgroupMemory = 1,
|
|
|
|
Texture = 2,
|
|
|
|
Sampler = 3,
|
|
|
|
ImageblockData = 16,
|
|
|
|
Imageblock = 17
|
|
}
|
|
|
|
declare class MTLArrayType extends MTLType {
|
|
|
|
static alloc(): MTLArrayType; // inherited from NSObject
|
|
|
|
static new(): MTLArrayType; // inherited from NSObject
|
|
|
|
readonly argumentIndexStride: number;
|
|
|
|
readonly arrayLength: number;
|
|
|
|
readonly elementType: MTLDataType;
|
|
|
|
readonly stride: number;
|
|
|
|
elementArrayType(): MTLArrayType;
|
|
|
|
elementPointerType(): MTLPointerType;
|
|
|
|
elementStructType(): MTLStructType;
|
|
|
|
elementTextureReferenceType(): MTLTextureReferenceType;
|
|
}
|
|
|
|
declare class MTLAttribute extends NSObject {
|
|
|
|
static alloc(): MTLAttribute; // inherited from NSObject
|
|
|
|
static new(): MTLAttribute; // inherited from NSObject
|
|
|
|
readonly active: boolean;
|
|
|
|
readonly attributeIndex: number;
|
|
|
|
readonly attributeType: MTLDataType;
|
|
|
|
readonly name: string;
|
|
|
|
readonly patchControlPointData: boolean;
|
|
|
|
readonly patchData: boolean;
|
|
}
|
|
|
|
declare class MTLAttributeDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLAttributeDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLAttributeDescriptor; // inherited from NSObject
|
|
|
|
bufferIndex: number;
|
|
|
|
format: MTLAttributeFormat;
|
|
|
|
offset: number;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLAttributeDescriptorArray extends NSObject {
|
|
|
|
static alloc(): MTLAttributeDescriptorArray; // inherited from NSObject
|
|
|
|
static new(): MTLAttributeDescriptorArray; // inherited from NSObject
|
|
[index: number]: MTLAttributeDescriptor;
|
|
|
|
objectAtIndexedSubscript(index: number): MTLAttributeDescriptor;
|
|
|
|
setObjectAtIndexedSubscript(attributeDesc: MTLAttributeDescriptor, index: number): void;
|
|
}
|
|
|
|
declare const enum MTLAttributeFormat {
|
|
|
|
Invalid = 0,
|
|
|
|
UChar2 = 1,
|
|
|
|
UChar3 = 2,
|
|
|
|
UChar4 = 3,
|
|
|
|
Char2 = 4,
|
|
|
|
Char3 = 5,
|
|
|
|
Char4 = 6,
|
|
|
|
UChar2Normalized = 7,
|
|
|
|
UChar3Normalized = 8,
|
|
|
|
UChar4Normalized = 9,
|
|
|
|
Char2Normalized = 10,
|
|
|
|
Char3Normalized = 11,
|
|
|
|
Char4Normalized = 12,
|
|
|
|
UShort2 = 13,
|
|
|
|
UShort3 = 14,
|
|
|
|
UShort4 = 15,
|
|
|
|
Short2 = 16,
|
|
|
|
Short3 = 17,
|
|
|
|
Short4 = 18,
|
|
|
|
UShort2Normalized = 19,
|
|
|
|
UShort3Normalized = 20,
|
|
|
|
UShort4Normalized = 21,
|
|
|
|
Short2Normalized = 22,
|
|
|
|
Short3Normalized = 23,
|
|
|
|
Short4Normalized = 24,
|
|
|
|
Half2 = 25,
|
|
|
|
Half3 = 26,
|
|
|
|
Half4 = 27,
|
|
|
|
Float = 28,
|
|
|
|
Float2 = 29,
|
|
|
|
Float3 = 30,
|
|
|
|
Float4 = 31,
|
|
|
|
Int = 32,
|
|
|
|
Int2 = 33,
|
|
|
|
Int3 = 34,
|
|
|
|
Int4 = 35,
|
|
|
|
UInt = 36,
|
|
|
|
UInt2 = 37,
|
|
|
|
UInt3 = 38,
|
|
|
|
UInt4 = 39,
|
|
|
|
Int1010102Normalized = 40,
|
|
|
|
UInt1010102Normalized = 41,
|
|
|
|
UChar4Normalized_BGRA = 42,
|
|
|
|
UChar = 45,
|
|
|
|
Char = 46,
|
|
|
|
UCharNormalized = 47,
|
|
|
|
CharNormalized = 48,
|
|
|
|
UShort = 49,
|
|
|
|
Short = 50,
|
|
|
|
UShortNormalized = 51,
|
|
|
|
ShortNormalized = 52,
|
|
|
|
Half = 53
|
|
}
|
|
|
|
declare const enum MTLBlendFactor {
|
|
|
|
Zero = 0,
|
|
|
|
One = 1,
|
|
|
|
SourceColor = 2,
|
|
|
|
OneMinusSourceColor = 3,
|
|
|
|
SourceAlpha = 4,
|
|
|
|
OneMinusSourceAlpha = 5,
|
|
|
|
DestinationColor = 6,
|
|
|
|
OneMinusDestinationColor = 7,
|
|
|
|
DestinationAlpha = 8,
|
|
|
|
OneMinusDestinationAlpha = 9,
|
|
|
|
SourceAlphaSaturated = 10,
|
|
|
|
BlendColor = 11,
|
|
|
|
OneMinusBlendColor = 12,
|
|
|
|
BlendAlpha = 13,
|
|
|
|
OneMinusBlendAlpha = 14,
|
|
|
|
Source1Color = 15,
|
|
|
|
OneMinusSource1Color = 16,
|
|
|
|
Source1Alpha = 17,
|
|
|
|
OneMinusSource1Alpha = 18
|
|
}
|
|
|
|
declare const enum MTLBlendOperation {
|
|
|
|
Add = 0,
|
|
|
|
Subtract = 1,
|
|
|
|
ReverseSubtract = 2,
|
|
|
|
Min = 3,
|
|
|
|
Max = 4
|
|
}
|
|
|
|
interface MTLBlitCommandEncoder extends MTLCommandEncoder {
|
|
|
|
copyFromBufferSourceOffsetSourceBytesPerRowSourceBytesPerImageSourceSizeToTextureDestinationSliceDestinationLevelDestinationOrigin(sourceBuffer: MTLBuffer, sourceOffset: number, sourceBytesPerRow: number, sourceBytesPerImage: number, sourceSize: MTLSize, destinationTexture: MTLTexture, destinationSlice: number, destinationLevel: number, destinationOrigin: MTLOrigin): void;
|
|
|
|
copyFromBufferSourceOffsetSourceBytesPerRowSourceBytesPerImageSourceSizeToTextureDestinationSliceDestinationLevelDestinationOriginOptions(sourceBuffer: MTLBuffer, sourceOffset: number, sourceBytesPerRow: number, sourceBytesPerImage: number, sourceSize: MTLSize, destinationTexture: MTLTexture, destinationSlice: number, destinationLevel: number, destinationOrigin: MTLOrigin, options: MTLBlitOption): void;
|
|
|
|
copyFromBufferSourceOffsetToBufferDestinationOffsetSize(sourceBuffer: MTLBuffer, sourceOffset: number, destinationBuffer: MTLBuffer, destinationOffset: number, size: number): void;
|
|
|
|
copyFromTextureSourceSliceSourceLevelSourceOriginSourceSizeToBufferDestinationOffsetDestinationBytesPerRowDestinationBytesPerImage(sourceTexture: MTLTexture, sourceSlice: number, sourceLevel: number, sourceOrigin: MTLOrigin, sourceSize: MTLSize, destinationBuffer: MTLBuffer, destinationOffset: number, destinationBytesPerRow: number, destinationBytesPerImage: number): void;
|
|
|
|
copyFromTextureSourceSliceSourceLevelSourceOriginSourceSizeToBufferDestinationOffsetDestinationBytesPerRowDestinationBytesPerImageOptions(sourceTexture: MTLTexture, sourceSlice: number, sourceLevel: number, sourceOrigin: MTLOrigin, sourceSize: MTLSize, destinationBuffer: MTLBuffer, destinationOffset: number, destinationBytesPerRow: number, destinationBytesPerImage: number, options: MTLBlitOption): void;
|
|
|
|
copyFromTextureSourceSliceSourceLevelSourceOriginSourceSizeToTextureDestinationSliceDestinationLevelDestinationOrigin(sourceTexture: MTLTexture, sourceSlice: number, sourceLevel: number, sourceOrigin: MTLOrigin, sourceSize: MTLSize, destinationTexture: MTLTexture, destinationSlice: number, destinationLevel: number, destinationOrigin: MTLOrigin): void;
|
|
|
|
fillBufferRangeValue(buffer: MTLBuffer, range: NSRange, value: number): void;
|
|
|
|
generateMipmapsForTexture(texture: MTLTexture): void;
|
|
|
|
updateFence(fence: MTLFence): void;
|
|
|
|
waitForFence(fence: MTLFence): void;
|
|
}
|
|
declare var MTLBlitCommandEncoder: {
|
|
|
|
prototype: MTLBlitCommandEncoder;
|
|
};
|
|
|
|
declare const enum MTLBlitOption {
|
|
|
|
None = 0,
|
|
|
|
DepthFromDepthStencil = 1,
|
|
|
|
StencilFromDepthStencil = 2,
|
|
|
|
RowLinearPVRTC = 4
|
|
}
|
|
|
|
interface MTLBuffer extends MTLResource {
|
|
|
|
length: number;
|
|
|
|
addDebugMarkerRange(marker: string, range: NSRange): void;
|
|
|
|
contents(): interop.Pointer | interop.Reference<any>;
|
|
|
|
newTextureWithDescriptorOffsetBytesPerRow(descriptor: MTLTextureDescriptor, offset: number, bytesPerRow: number): MTLTexture;
|
|
|
|
removeAllDebugMarkers(): void;
|
|
}
|
|
declare var MTLBuffer: {
|
|
|
|
prototype: MTLBuffer;
|
|
};
|
|
|
|
declare class MTLBufferLayoutDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLBufferLayoutDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLBufferLayoutDescriptor; // inherited from NSObject
|
|
|
|
stepFunction: MTLStepFunction;
|
|
|
|
stepRate: number;
|
|
|
|
stride: number;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLBufferLayoutDescriptorArray extends NSObject {
|
|
|
|
static alloc(): MTLBufferLayoutDescriptorArray; // inherited from NSObject
|
|
|
|
static new(): MTLBufferLayoutDescriptorArray; // inherited from NSObject
|
|
[index: number]: MTLBufferLayoutDescriptor;
|
|
|
|
objectAtIndexedSubscript(index: number): MTLBufferLayoutDescriptor;
|
|
|
|
setObjectAtIndexedSubscript(bufferDesc: MTLBufferLayoutDescriptor, index: number): void;
|
|
}
|
|
|
|
declare const enum MTLCPUCacheMode {
|
|
|
|
DefaultCache = 0,
|
|
|
|
WriteCombined = 1
|
|
}
|
|
|
|
declare class MTLCaptureManager extends NSObject {
|
|
|
|
static alloc(): MTLCaptureManager; // inherited from NSObject
|
|
|
|
static new(): MTLCaptureManager; // inherited from NSObject
|
|
|
|
static sharedCaptureManager(): MTLCaptureManager;
|
|
|
|
defaultCaptureScope: MTLCaptureScope;
|
|
|
|
readonly isCapturing: boolean;
|
|
|
|
newCaptureScopeWithCommandQueue(commandQueue: MTLCommandQueue): MTLCaptureScope;
|
|
|
|
newCaptureScopeWithDevice(device: MTLDevice): MTLCaptureScope;
|
|
|
|
startCaptureWithCommandQueue(commandQueue: MTLCommandQueue): void;
|
|
|
|
startCaptureWithDevice(device: MTLDevice): void;
|
|
|
|
startCaptureWithScope(captureScope: MTLCaptureScope): void;
|
|
|
|
stopCapture(): void;
|
|
}
|
|
|
|
interface MTLCaptureScope extends NSObjectProtocol {
|
|
|
|
commandQueue: MTLCommandQueue;
|
|
|
|
device: MTLDevice;
|
|
|
|
label: string;
|
|
|
|
beginScope(): void;
|
|
|
|
endScope(): void;
|
|
}
|
|
declare var MTLCaptureScope: {
|
|
|
|
prototype: MTLCaptureScope;
|
|
};
|
|
|
|
interface MTLClearColor {
|
|
red: number;
|
|
green: number;
|
|
blue: number;
|
|
alpha: number;
|
|
}
|
|
declare var MTLClearColor: interop.StructType<MTLClearColor>;
|
|
|
|
declare function MTLClearColorMake(red: number, green: number, blue: number, alpha: number): MTLClearColor;
|
|
|
|
declare const enum MTLColorWriteMask {
|
|
|
|
None = 0,
|
|
|
|
Red = 8,
|
|
|
|
Green = 4,
|
|
|
|
Blue = 2,
|
|
|
|
Alpha = 1,
|
|
|
|
All = 15
|
|
}
|
|
|
|
interface MTLCommandBuffer extends NSObjectProtocol {
|
|
|
|
GPUEndTime: number;
|
|
|
|
GPUStartTime: number;
|
|
|
|
commandQueue: MTLCommandQueue;
|
|
|
|
device: MTLDevice;
|
|
|
|
error: NSError;
|
|
|
|
kernelEndTime: number;
|
|
|
|
kernelStartTime: number;
|
|
|
|
label: string;
|
|
|
|
retainedReferences: boolean;
|
|
|
|
status: MTLCommandBufferStatus;
|
|
|
|
addCompletedHandler(block: (p1: MTLCommandBuffer) => void): void;
|
|
|
|
addScheduledHandler(block: (p1: MTLCommandBuffer) => void): void;
|
|
|
|
blitCommandEncoder(): MTLBlitCommandEncoder;
|
|
|
|
commit(): void;
|
|
|
|
computeCommandEncoder(): MTLComputeCommandEncoder;
|
|
|
|
enqueue(): void;
|
|
|
|
parallelRenderCommandEncoderWithDescriptor(renderPassDescriptor: MTLRenderPassDescriptor): MTLParallelRenderCommandEncoder;
|
|
|
|
popDebugGroup(): void;
|
|
|
|
presentDrawable(drawable: MTLDrawable): void;
|
|
|
|
presentDrawableAfterMinimumDuration(drawable: MTLDrawable, duration: number): void;
|
|
|
|
presentDrawableAtTime(drawable: MTLDrawable, presentationTime: number): void;
|
|
|
|
pushDebugGroup(string: string): void;
|
|
|
|
renderCommandEncoderWithDescriptor(renderPassDescriptor: MTLRenderPassDescriptor): MTLRenderCommandEncoder;
|
|
|
|
waitUntilCompleted(): void;
|
|
|
|
waitUntilScheduled(): void;
|
|
}
|
|
declare var MTLCommandBuffer: {
|
|
|
|
prototype: MTLCommandBuffer;
|
|
};
|
|
|
|
declare const enum MTLCommandBufferError {
|
|
|
|
None = 0,
|
|
|
|
Internal = 1,
|
|
|
|
Timeout = 2,
|
|
|
|
PageFault = 3,
|
|
|
|
Blacklisted = 4,
|
|
|
|
NotPermitted = 7,
|
|
|
|
OutOfMemory = 8,
|
|
|
|
InvalidResource = 9,
|
|
|
|
Memoryless = 10,
|
|
|
|
DeviceRemoved = 11
|
|
}
|
|
|
|
declare var MTLCommandBufferErrorDomain: string;
|
|
|
|
declare const enum MTLCommandBufferStatus {
|
|
|
|
NotEnqueued = 0,
|
|
|
|
Enqueued = 1,
|
|
|
|
Committed = 2,
|
|
|
|
Scheduled = 3,
|
|
|
|
Completed = 4,
|
|
|
|
Error = 5
|
|
}
|
|
|
|
interface MTLCommandEncoder extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
label: string;
|
|
|
|
endEncoding(): void;
|
|
|
|
insertDebugSignpost(string: string): void;
|
|
|
|
popDebugGroup(): void;
|
|
|
|
pushDebugGroup(string: string): void;
|
|
}
|
|
declare var MTLCommandEncoder: {
|
|
|
|
prototype: MTLCommandEncoder;
|
|
};
|
|
|
|
interface MTLCommandQueue extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
label: string;
|
|
|
|
commandBuffer(): MTLCommandBuffer;
|
|
|
|
commandBufferWithUnretainedReferences(): MTLCommandBuffer;
|
|
|
|
insertDebugCaptureBoundary(): void;
|
|
}
|
|
declare var MTLCommandQueue: {
|
|
|
|
prototype: MTLCommandQueue;
|
|
};
|
|
|
|
declare const enum MTLCompareFunction {
|
|
|
|
Never = 0,
|
|
|
|
Less = 1,
|
|
|
|
Equal = 2,
|
|
|
|
LessEqual = 3,
|
|
|
|
Greater = 4,
|
|
|
|
NotEqual = 5,
|
|
|
|
GreaterEqual = 6,
|
|
|
|
Always = 7
|
|
}
|
|
|
|
declare class MTLCompileOptions extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLCompileOptions; // inherited from NSObject
|
|
|
|
static new(): MTLCompileOptions; // inherited from NSObject
|
|
|
|
fastMathEnabled: boolean;
|
|
|
|
languageVersion: MTLLanguageVersion;
|
|
|
|
preprocessorMacros: NSDictionary<string, NSObject>;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
interface MTLComputeCommandEncoder extends MTLCommandEncoder {
|
|
|
|
dispatchThreadgroupsThreadsPerThreadgroup(threadgroupsPerGrid: MTLSize, threadsPerThreadgroup: MTLSize): void;
|
|
|
|
dispatchThreadgroupsWithIndirectBufferIndirectBufferOffsetThreadsPerThreadgroup(indirectBuffer: MTLBuffer, indirectBufferOffset: number, threadsPerThreadgroup: MTLSize): void;
|
|
|
|
dispatchThreadsThreadsPerThreadgroup(threadsPerGrid: MTLSize, threadsPerThreadgroup: MTLSize): void;
|
|
|
|
setBufferOffsetAtIndex(buffer: MTLBuffer, offset: number, index: number): void;
|
|
|
|
setBufferOffsetAtIndex(offset: number, index: number): void;
|
|
|
|
setBuffersOffsetsWithRange(buffers: interop.Reference<MTLBuffer>, offsets: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setBytesLengthAtIndex(bytes: interop.Pointer | interop.Reference<any>, length: number, index: number): void;
|
|
|
|
setComputePipelineState(state: MTLComputePipelineState): void;
|
|
|
|
setImageblockWidthHeight(width: number, height: number): void;
|
|
|
|
setSamplerStateAtIndex(sampler: MTLSamplerState, index: number): void;
|
|
|
|
setSamplerStateLodMinClampLodMaxClampAtIndex(sampler: MTLSamplerState, lodMinClamp: number, lodMaxClamp: number, index: number): void;
|
|
|
|
setSamplerStatesLodMinClampsLodMaxClampsWithRange(samplers: interop.Reference<MTLSamplerState>, lodMinClamps: interop.Reference<number>, lodMaxClamps: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setSamplerStatesWithRange(samplers: interop.Reference<MTLSamplerState>, range: NSRange): void;
|
|
|
|
setStageInRegion(region: MTLRegion): void;
|
|
|
|
setTextureAtIndex(texture: MTLTexture, index: number): void;
|
|
|
|
setTexturesWithRange(textures: interop.Reference<MTLTexture>, range: NSRange): void;
|
|
|
|
setThreadgroupMemoryLengthAtIndex(length: number, index: number): void;
|
|
|
|
updateFence(fence: MTLFence): void;
|
|
|
|
useHeap(heap: MTLHeap): void;
|
|
|
|
useHeapsCount(heaps: interop.Reference<MTLHeap>, count: number): void;
|
|
|
|
useResourceUsage(resource: MTLResource, usage: MTLResourceUsage): void;
|
|
|
|
useResourcesCountUsage(resources: interop.Reference<MTLResource>, count: number, usage: MTLResourceUsage): void;
|
|
|
|
waitForFence(fence: MTLFence): void;
|
|
}
|
|
declare var MTLComputeCommandEncoder: {
|
|
|
|
prototype: MTLComputeCommandEncoder;
|
|
};
|
|
|
|
declare class MTLComputePipelineDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLComputePipelineDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLComputePipelineDescriptor; // inherited from NSObject
|
|
|
|
readonly buffers: MTLPipelineBufferDescriptorArray;
|
|
|
|
computeFunction: MTLFunction;
|
|
|
|
label: string;
|
|
|
|
stageInputDescriptor: MTLStageInputOutputDescriptor;
|
|
|
|
threadGroupSizeIsMultipleOfThreadExecutionWidth: boolean;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
|
|
reset(): void;
|
|
}
|
|
|
|
declare class MTLComputePipelineReflection extends NSObject {
|
|
|
|
static alloc(): MTLComputePipelineReflection; // inherited from NSObject
|
|
|
|
static new(): MTLComputePipelineReflection; // inherited from NSObject
|
|
|
|
readonly arguments: NSArray<MTLArgument>;
|
|
}
|
|
|
|
interface MTLComputePipelineState extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
label: string;
|
|
|
|
maxTotalThreadsPerThreadgroup: number;
|
|
|
|
staticThreadgroupMemoryLength: number;
|
|
|
|
threadExecutionWidth: number;
|
|
|
|
imageblockMemoryLengthForDimensions(imageblockDimensions: MTLSize): number;
|
|
}
|
|
declare var MTLComputePipelineState: {
|
|
|
|
prototype: MTLComputePipelineState;
|
|
};
|
|
|
|
declare function MTLCreateSystemDefaultDevice(): MTLDevice;
|
|
|
|
declare const enum MTLCullMode {
|
|
|
|
None = 0,
|
|
|
|
Front = 1,
|
|
|
|
Back = 2
|
|
}
|
|
|
|
declare const enum MTLDataType {
|
|
|
|
None = 0,
|
|
|
|
Struct = 1,
|
|
|
|
Array = 2,
|
|
|
|
Float = 3,
|
|
|
|
Float2 = 4,
|
|
|
|
Float3 = 5,
|
|
|
|
Float4 = 6,
|
|
|
|
Float2x2 = 7,
|
|
|
|
Float2x3 = 8,
|
|
|
|
Float2x4 = 9,
|
|
|
|
Float3x2 = 10,
|
|
|
|
Float3x3 = 11,
|
|
|
|
Float3x4 = 12,
|
|
|
|
Float4x2 = 13,
|
|
|
|
Float4x3 = 14,
|
|
|
|
Float4x4 = 15,
|
|
|
|
Half = 16,
|
|
|
|
Half2 = 17,
|
|
|
|
Half3 = 18,
|
|
|
|
Half4 = 19,
|
|
|
|
Half2x2 = 20,
|
|
|
|
Half2x3 = 21,
|
|
|
|
Half2x4 = 22,
|
|
|
|
Half3x2 = 23,
|
|
|
|
Half3x3 = 24,
|
|
|
|
Half3x4 = 25,
|
|
|
|
Half4x2 = 26,
|
|
|
|
Half4x3 = 27,
|
|
|
|
Half4x4 = 28,
|
|
|
|
Int = 29,
|
|
|
|
Int2 = 30,
|
|
|
|
Int3 = 31,
|
|
|
|
Int4 = 32,
|
|
|
|
UInt = 33,
|
|
|
|
UInt2 = 34,
|
|
|
|
UInt3 = 35,
|
|
|
|
UInt4 = 36,
|
|
|
|
Short = 37,
|
|
|
|
Short2 = 38,
|
|
|
|
Short3 = 39,
|
|
|
|
Short4 = 40,
|
|
|
|
UShort = 41,
|
|
|
|
UShort2 = 42,
|
|
|
|
UShort3 = 43,
|
|
|
|
UShort4 = 44,
|
|
|
|
Char = 45,
|
|
|
|
Char2 = 46,
|
|
|
|
Char3 = 47,
|
|
|
|
Char4 = 48,
|
|
|
|
UChar = 49,
|
|
|
|
UChar2 = 50,
|
|
|
|
UChar3 = 51,
|
|
|
|
UChar4 = 52,
|
|
|
|
Bool = 53,
|
|
|
|
Bool2 = 54,
|
|
|
|
Bool3 = 55,
|
|
|
|
Bool4 = 56,
|
|
|
|
Texture = 58,
|
|
|
|
Sampler = 59,
|
|
|
|
Pointer = 60,
|
|
|
|
R8Unorm = 62,
|
|
|
|
R8Snorm = 63,
|
|
|
|
R16Unorm = 64,
|
|
|
|
R16Snorm = 65,
|
|
|
|
RG8Unorm = 66,
|
|
|
|
RG8Snorm = 67,
|
|
|
|
RG16Unorm = 68,
|
|
|
|
RG16Snorm = 69,
|
|
|
|
RGBA8Unorm = 70,
|
|
|
|
RGBA8Unorm_sRGB = 71,
|
|
|
|
RGBA8Snorm = 72,
|
|
|
|
RGBA16Unorm = 73,
|
|
|
|
RGBA16Snorm = 74,
|
|
|
|
RGB10A2Unorm = 75,
|
|
|
|
RG11B10Float = 76,
|
|
|
|
RGB9E5Float = 77
|
|
}
|
|
|
|
declare const enum MTLDepthClipMode {
|
|
|
|
Clip = 0,
|
|
|
|
Clamp = 1
|
|
}
|
|
|
|
declare class MTLDepthStencilDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLDepthStencilDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLDepthStencilDescriptor; // inherited from NSObject
|
|
|
|
backFaceStencil: MTLStencilDescriptor;
|
|
|
|
depthCompareFunction: MTLCompareFunction;
|
|
|
|
depthWriteEnabled: boolean;
|
|
|
|
frontFaceStencil: MTLStencilDescriptor;
|
|
|
|
label: string;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
interface MTLDepthStencilState extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
label: string;
|
|
}
|
|
declare var MTLDepthStencilState: {
|
|
|
|
prototype: MTLDepthStencilState;
|
|
};
|
|
|
|
interface MTLDevice extends NSObjectProtocol {
|
|
|
|
argumentBuffersSupport: MTLArgumentBuffersTier;
|
|
|
|
currentAllocatedSize: number;
|
|
|
|
maxThreadgroupMemoryLength: number;
|
|
|
|
maxThreadsPerThreadgroup: MTLSize;
|
|
|
|
name: string;
|
|
|
|
programmableSamplePositionsSupported: boolean;
|
|
|
|
rasterOrderGroupsSupported: boolean;
|
|
|
|
readWriteTextureSupport: MTLReadWriteTextureTier;
|
|
|
|
registryID: number;
|
|
|
|
getDefaultSamplePositionsCount(positions: interop.Pointer | interop.Reference<MTLSamplePosition>, count: number): void;
|
|
|
|
heapBufferSizeAndAlignWithLengthOptions(length: number, options: MTLResourceOptions): MTLSizeAndAlign;
|
|
|
|
heapTextureSizeAndAlignWithDescriptor(desc: MTLTextureDescriptor): MTLSizeAndAlign;
|
|
|
|
minimumLinearTextureAlignmentForPixelFormat(format: MTLPixelFormat): number;
|
|
|
|
newArgumentEncoderWithArguments(_arguments: NSArray<MTLArgumentDescriptor>): MTLArgumentEncoder;
|
|
|
|
newBufferWithBytesLengthOptions(pointer: interop.Pointer | interop.Reference<any>, length: number, options: MTLResourceOptions): MTLBuffer;
|
|
|
|
newBufferWithBytesNoCopyLengthOptionsDeallocator(pointer: interop.Pointer | interop.Reference<any>, length: number, options: MTLResourceOptions, deallocator: (p1: interop.Pointer | interop.Reference<any>, p2: number) => void): MTLBuffer;
|
|
|
|
newBufferWithLengthOptions(length: number, options: MTLResourceOptions): MTLBuffer;
|
|
|
|
newCommandQueue(): MTLCommandQueue;
|
|
|
|
newCommandQueueWithMaxCommandBufferCount(maxCommandBufferCount: number): MTLCommandQueue;
|
|
|
|
newComputePipelineStateWithDescriptorOptionsCompletionHandler(descriptor: MTLComputePipelineDescriptor, options: MTLPipelineOption, completionHandler: (p1: MTLComputePipelineState, p2: MTLComputePipelineReflection, p3: NSError) => void): void;
|
|
|
|
newComputePipelineStateWithDescriptorOptionsReflectionError(descriptor: MTLComputePipelineDescriptor, options: MTLPipelineOption, reflection: interop.Pointer | interop.Reference<MTLComputePipelineReflection>): MTLComputePipelineState;
|
|
|
|
newComputePipelineStateWithFunctionCompletionHandler(computeFunction: MTLFunction, completionHandler: (p1: MTLComputePipelineState, p2: NSError) => void): void;
|
|
|
|
newComputePipelineStateWithFunctionError(computeFunction: MTLFunction): MTLComputePipelineState;
|
|
|
|
newComputePipelineStateWithFunctionOptionsCompletionHandler(computeFunction: MTLFunction, options: MTLPipelineOption, completionHandler: (p1: MTLComputePipelineState, p2: MTLComputePipelineReflection, p3: NSError) => void): void;
|
|
|
|
newComputePipelineStateWithFunctionOptionsReflectionError(computeFunction: MTLFunction, options: MTLPipelineOption, reflection: interop.Pointer | interop.Reference<MTLComputePipelineReflection>): MTLComputePipelineState;
|
|
|
|
newDefaultLibrary(): MTLLibrary;
|
|
|
|
newDefaultLibraryWithBundleError(bundle: NSBundle): MTLLibrary;
|
|
|
|
newDepthStencilStateWithDescriptor(descriptor: MTLDepthStencilDescriptor): MTLDepthStencilState;
|
|
|
|
newFence(): MTLFence;
|
|
|
|
newHeapWithDescriptor(descriptor: MTLHeapDescriptor): MTLHeap;
|
|
|
|
newLibraryWithDataError(data: NSObject): MTLLibrary;
|
|
|
|
newLibraryWithFileError(filepath: string): MTLLibrary;
|
|
|
|
newLibraryWithSourceOptionsCompletionHandler(source: string, options: MTLCompileOptions, completionHandler: (p1: MTLLibrary, p2: NSError) => void): void;
|
|
|
|
newLibraryWithSourceOptionsError(source: string, options: MTLCompileOptions): MTLLibrary;
|
|
|
|
newLibraryWithURLError(url: NSURL): MTLLibrary;
|
|
|
|
newRenderPipelineStateWithDescriptorCompletionHandler(descriptor: MTLRenderPipelineDescriptor, completionHandler: (p1: MTLRenderPipelineState, p2: NSError) => void): void;
|
|
|
|
newRenderPipelineStateWithDescriptorError(descriptor: MTLRenderPipelineDescriptor): MTLRenderPipelineState;
|
|
|
|
newRenderPipelineStateWithDescriptorOptionsCompletionHandler(descriptor: MTLRenderPipelineDescriptor, options: MTLPipelineOption, completionHandler: (p1: MTLRenderPipelineState, p2: MTLRenderPipelineReflection, p3: NSError) => void): void;
|
|
|
|
newRenderPipelineStateWithDescriptorOptionsReflectionError(descriptor: MTLRenderPipelineDescriptor, options: MTLPipelineOption, reflection: interop.Pointer | interop.Reference<MTLRenderPipelineReflection>): MTLRenderPipelineState;
|
|
|
|
newRenderPipelineStateWithTileDescriptorOptionsCompletionHandler(descriptor: MTLTileRenderPipelineDescriptor, options: MTLPipelineOption, completionHandler: (p1: MTLRenderPipelineState, p2: MTLRenderPipelineReflection, p3: NSError) => void): void;
|
|
|
|
newRenderPipelineStateWithTileDescriptorOptionsReflectionError(descriptor: MTLTileRenderPipelineDescriptor, options: MTLPipelineOption, reflection: interop.Pointer | interop.Reference<MTLRenderPipelineReflection>): MTLRenderPipelineState;
|
|
|
|
newSamplerStateWithDescriptor(descriptor: MTLSamplerDescriptor): MTLSamplerState;
|
|
|
|
newTextureWithDescriptor(descriptor: MTLTextureDescriptor): MTLTexture;
|
|
|
|
supportsFeatureSet(featureSet: MTLFeatureSet): boolean;
|
|
|
|
supportsTextureSampleCount(sampleCount: number): boolean;
|
|
}
|
|
declare var MTLDevice: {
|
|
|
|
prototype: MTLDevice;
|
|
};
|
|
|
|
interface MTLDispatchThreadgroupsIndirectArguments {
|
|
threadgroupsPerGrid: interop.Reference<number>;
|
|
}
|
|
declare var MTLDispatchThreadgroupsIndirectArguments: interop.StructType<MTLDispatchThreadgroupsIndirectArguments>;
|
|
|
|
interface MTLDrawIndexedPrimitivesIndirectArguments {
|
|
indexCount: number;
|
|
instanceCount: number;
|
|
indexStart: number;
|
|
baseVertex: number;
|
|
baseInstance: number;
|
|
}
|
|
declare var MTLDrawIndexedPrimitivesIndirectArguments: interop.StructType<MTLDrawIndexedPrimitivesIndirectArguments>;
|
|
|
|
interface MTLDrawPatchIndirectArguments {
|
|
patchCount: number;
|
|
instanceCount: number;
|
|
patchStart: number;
|
|
baseInstance: number;
|
|
}
|
|
declare var MTLDrawPatchIndirectArguments: interop.StructType<MTLDrawPatchIndirectArguments>;
|
|
|
|
interface MTLDrawPrimitivesIndirectArguments {
|
|
vertexCount: number;
|
|
instanceCount: number;
|
|
vertexStart: number;
|
|
baseInstance: number;
|
|
}
|
|
declare var MTLDrawPrimitivesIndirectArguments: interop.StructType<MTLDrawPrimitivesIndirectArguments>;
|
|
|
|
interface MTLDrawable extends NSObjectProtocol {
|
|
|
|
drawableID: number;
|
|
|
|
presentedTime: number;
|
|
|
|
addPresentedHandler(block: (p1: MTLDrawable) => void): void;
|
|
|
|
present(): void;
|
|
|
|
presentAfterMinimumDuration(duration: number): void;
|
|
|
|
presentAtTime(presentationTime: number): void;
|
|
}
|
|
declare var MTLDrawable: {
|
|
|
|
prototype: MTLDrawable;
|
|
};
|
|
|
|
declare const enum MTLFeatureSet {
|
|
|
|
iOS_GPUFamily1_v1 = 0,
|
|
|
|
iOS_GPUFamily2_v1 = 1,
|
|
|
|
iOS_GPUFamily1_v2 = 2,
|
|
|
|
iOS_GPUFamily2_v2 = 3,
|
|
|
|
iOS_GPUFamily3_v1 = 4,
|
|
|
|
iOS_GPUFamily1_v3 = 5,
|
|
|
|
iOS_GPUFamily2_v3 = 6,
|
|
|
|
iOS_GPUFamily3_v2 = 7,
|
|
|
|
iOS_GPUFamily1_v4 = 8,
|
|
|
|
iOS_GPUFamily2_v4 = 9,
|
|
|
|
iOS_GPUFamily3_v3 = 10,
|
|
|
|
iOS_GPUFamily4_v1 = 11,
|
|
|
|
macOS_GPUFamily1_v1 = 10000,
|
|
|
|
OSX_GPUFamily1_v1 = 10000,
|
|
|
|
macOS_GPUFamily1_v2 = 10001,
|
|
|
|
OSX_GPUFamily1_v2 = 10001,
|
|
|
|
macOS_ReadWriteTextureTier2 = 10002,
|
|
|
|
OSX_ReadWriteTextureTier2 = 10002,
|
|
|
|
macOS_GPUFamily1_v3 = 10003,
|
|
|
|
tvOS_GPUFamily1_v1 = 30000,
|
|
|
|
TVOS_GPUFamily1_v1 = 30000,
|
|
|
|
tvOS_GPUFamily1_v2 = 30001,
|
|
|
|
tvOS_GPUFamily1_v3 = 30002
|
|
}
|
|
|
|
interface MTLFence extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
label: string;
|
|
}
|
|
declare var MTLFence: {
|
|
|
|
prototype: MTLFence;
|
|
};
|
|
|
|
interface MTLFunction extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
functionConstantsDictionary: NSDictionary<string, MTLFunctionConstant>;
|
|
|
|
functionType: MTLFunctionType;
|
|
|
|
label: string;
|
|
|
|
name: string;
|
|
|
|
patchControlPointCount: number;
|
|
|
|
patchType: MTLPatchType;
|
|
|
|
stageInputAttributes: NSArray<MTLAttribute>;
|
|
|
|
vertexAttributes: NSArray<MTLVertexAttribute>;
|
|
|
|
newArgumentEncoderWithBufferIndex(bufferIndex: number): MTLArgumentEncoder;
|
|
|
|
newArgumentEncoderWithBufferIndexReflection(bufferIndex: number, reflection: interop.Pointer | interop.Reference<MTLArgument>): MTLArgumentEncoder;
|
|
}
|
|
declare var MTLFunction: {
|
|
|
|
prototype: MTLFunction;
|
|
};
|
|
|
|
declare class MTLFunctionConstant extends NSObject {
|
|
|
|
static alloc(): MTLFunctionConstant; // inherited from NSObject
|
|
|
|
static new(): MTLFunctionConstant; // inherited from NSObject
|
|
|
|
readonly index: number;
|
|
|
|
readonly name: string;
|
|
|
|
readonly required: boolean;
|
|
|
|
readonly type: MTLDataType;
|
|
}
|
|
|
|
declare class MTLFunctionConstantValues extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLFunctionConstantValues; // inherited from NSObject
|
|
|
|
static new(): MTLFunctionConstantValues; // inherited from NSObject
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
|
|
reset(): void;
|
|
|
|
setConstantValueTypeAtIndex(value: interop.Pointer | interop.Reference<any>, type: MTLDataType, index: number): void;
|
|
|
|
setConstantValueTypeWithName(value: interop.Pointer | interop.Reference<any>, type: MTLDataType, name: string): void;
|
|
|
|
setConstantValuesTypeWithRange(values: interop.Pointer | interop.Reference<any>, type: MTLDataType, range: NSRange): void;
|
|
}
|
|
|
|
declare const enum MTLFunctionType {
|
|
|
|
Vertex = 1,
|
|
|
|
Fragment = 2,
|
|
|
|
Kernel = 3
|
|
}
|
|
|
|
interface MTLHeap extends NSObjectProtocol {
|
|
|
|
cpuCacheMode: MTLCPUCacheMode;
|
|
|
|
currentAllocatedSize: number;
|
|
|
|
device: MTLDevice;
|
|
|
|
label: string;
|
|
|
|
size: number;
|
|
|
|
storageMode: MTLStorageMode;
|
|
|
|
usedSize: number;
|
|
|
|
maxAvailableSizeWithAlignment(alignment: number): number;
|
|
|
|
newBufferWithLengthOptions(length: number, options: MTLResourceOptions): MTLBuffer;
|
|
|
|
newTextureWithDescriptor(desc: MTLTextureDescriptor): MTLTexture;
|
|
|
|
setPurgeableState(state: MTLPurgeableState): MTLPurgeableState;
|
|
}
|
|
declare var MTLHeap: {
|
|
|
|
prototype: MTLHeap;
|
|
};
|
|
|
|
declare class MTLHeapDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLHeapDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLHeapDescriptor; // inherited from NSObject
|
|
|
|
cpuCacheMode: MTLCPUCacheMode;
|
|
|
|
size: number;
|
|
|
|
storageMode: MTLStorageMode;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare const enum MTLIndexType {
|
|
|
|
UInt16 = 0,
|
|
|
|
UInt32 = 1
|
|
}
|
|
|
|
declare const enum MTLLanguageVersion {
|
|
|
|
Version1_0 = 65536,
|
|
|
|
Version1_1 = 65537,
|
|
|
|
Version1_2 = 65538,
|
|
|
|
Version2_0 = 131072
|
|
}
|
|
|
|
interface MTLLibrary extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
functionNames: NSArray<string>;
|
|
|
|
label: string;
|
|
|
|
newFunctionWithName(functionName: string): MTLFunction;
|
|
|
|
newFunctionWithNameConstantValuesCompletionHandler(name: string, constantValues: MTLFunctionConstantValues, completionHandler: (p1: MTLFunction, p2: NSError) => void): void;
|
|
|
|
newFunctionWithNameConstantValuesError(name: string, constantValues: MTLFunctionConstantValues): MTLFunction;
|
|
}
|
|
declare var MTLLibrary: {
|
|
|
|
prototype: MTLLibrary;
|
|
};
|
|
|
|
declare const enum MTLLibraryError {
|
|
|
|
Unsupported = 1,
|
|
|
|
Internal = 2,
|
|
|
|
CompileFailure = 3,
|
|
|
|
CompileWarning = 4,
|
|
|
|
FunctionNotFound = 5,
|
|
|
|
FileNotFound = 6
|
|
}
|
|
|
|
declare var MTLLibraryErrorDomain: string;
|
|
|
|
declare const enum MTLLoadAction {
|
|
|
|
DontCare = 0,
|
|
|
|
Load = 1,
|
|
|
|
Clear = 2
|
|
}
|
|
|
|
declare const enum MTLMultisampleDepthResolveFilter {
|
|
|
|
Sample0 = 0,
|
|
|
|
Min = 1,
|
|
|
|
Max = 2
|
|
}
|
|
|
|
declare const enum MTLMutability {
|
|
|
|
Default = 0,
|
|
|
|
Mutable = 1,
|
|
|
|
Immutable = 2
|
|
}
|
|
|
|
interface MTLOrigin {
|
|
x: number;
|
|
y: number;
|
|
z: number;
|
|
}
|
|
declare var MTLOrigin: interop.StructType<MTLOrigin>;
|
|
|
|
interface MTLParallelRenderCommandEncoder extends MTLCommandEncoder {
|
|
|
|
renderCommandEncoder(): MTLRenderCommandEncoder;
|
|
|
|
setColorStoreActionAtIndex(storeAction: MTLStoreAction, colorAttachmentIndex: number): void;
|
|
|
|
setColorStoreActionOptionsAtIndex(storeActionOptions: MTLStoreActionOptions, colorAttachmentIndex: number): void;
|
|
|
|
setDepthStoreAction(storeAction: MTLStoreAction): void;
|
|
|
|
setDepthStoreActionOptions(storeActionOptions: MTLStoreActionOptions): void;
|
|
|
|
setStencilStoreAction(storeAction: MTLStoreAction): void;
|
|
|
|
setStencilStoreActionOptions(storeActionOptions: MTLStoreActionOptions): void;
|
|
}
|
|
declare var MTLParallelRenderCommandEncoder: {
|
|
|
|
prototype: MTLParallelRenderCommandEncoder;
|
|
};
|
|
|
|
declare const enum MTLPatchType {
|
|
|
|
None = 0,
|
|
|
|
Triangle = 1,
|
|
|
|
Quad = 2
|
|
}
|
|
|
|
declare class MTLPipelineBufferDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLPipelineBufferDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLPipelineBufferDescriptor; // inherited from NSObject
|
|
|
|
mutability: MTLMutability;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLPipelineBufferDescriptorArray extends NSObject {
|
|
|
|
static alloc(): MTLPipelineBufferDescriptorArray; // inherited from NSObject
|
|
|
|
static new(): MTLPipelineBufferDescriptorArray; // inherited from NSObject
|
|
[index: number]: MTLPipelineBufferDescriptor;
|
|
|
|
objectAtIndexedSubscript(bufferIndex: number): MTLPipelineBufferDescriptor;
|
|
|
|
setObjectAtIndexedSubscript(buffer: MTLPipelineBufferDescriptor, bufferIndex: number): void;
|
|
}
|
|
|
|
declare const enum MTLPipelineOption {
|
|
|
|
None = 0,
|
|
|
|
ArgumentInfo = 1,
|
|
|
|
BufferTypeInfo = 2
|
|
}
|
|
|
|
declare const enum MTLPixelFormat {
|
|
|
|
Invalid = 0,
|
|
|
|
A8Unorm = 1,
|
|
|
|
R8Unorm = 10,
|
|
|
|
R8Unorm_sRGB = 11,
|
|
|
|
R8Snorm = 12,
|
|
|
|
R8Uint = 13,
|
|
|
|
R8Sint = 14,
|
|
|
|
R16Unorm = 20,
|
|
|
|
R16Snorm = 22,
|
|
|
|
R16Uint = 23,
|
|
|
|
R16Sint = 24,
|
|
|
|
R16Float = 25,
|
|
|
|
RG8Unorm = 30,
|
|
|
|
RG8Unorm_sRGB = 31,
|
|
|
|
RG8Snorm = 32,
|
|
|
|
RG8Uint = 33,
|
|
|
|
RG8Sint = 34,
|
|
|
|
B5G6R5Unorm = 40,
|
|
|
|
A1BGR5Unorm = 41,
|
|
|
|
ABGR4Unorm = 42,
|
|
|
|
BGR5A1Unorm = 43,
|
|
|
|
R32Uint = 53,
|
|
|
|
R32Sint = 54,
|
|
|
|
R32Float = 55,
|
|
|
|
RG16Unorm = 60,
|
|
|
|
RG16Snorm = 62,
|
|
|
|
RG16Uint = 63,
|
|
|
|
RG16Sint = 64,
|
|
|
|
RG16Float = 65,
|
|
|
|
RGBA8Unorm = 70,
|
|
|
|
RGBA8Unorm_sRGB = 71,
|
|
|
|
RGBA8Snorm = 72,
|
|
|
|
RGBA8Uint = 73,
|
|
|
|
RGBA8Sint = 74,
|
|
|
|
BGRA8Unorm = 80,
|
|
|
|
BGRA8Unorm_sRGB = 81,
|
|
|
|
RGB10A2Unorm = 90,
|
|
|
|
RGB10A2Uint = 91,
|
|
|
|
RG11B10Float = 92,
|
|
|
|
RGB9E5Float = 93,
|
|
|
|
BGR10A2Unorm = 94,
|
|
|
|
BGR10_XR = 554,
|
|
|
|
BGR10_XR_sRGB = 555,
|
|
|
|
RG32Uint = 103,
|
|
|
|
RG32Sint = 104,
|
|
|
|
RG32Float = 105,
|
|
|
|
RGBA16Unorm = 110,
|
|
|
|
RGBA16Snorm = 112,
|
|
|
|
RGBA16Uint = 113,
|
|
|
|
RGBA16Sint = 114,
|
|
|
|
RGBA16Float = 115,
|
|
|
|
BGRA10_XR = 552,
|
|
|
|
BGRA10_XR_sRGB = 553,
|
|
|
|
RGBA32Uint = 123,
|
|
|
|
RGBA32Sint = 124,
|
|
|
|
RGBA32Float = 125,
|
|
|
|
BC1_RGBA = 130,
|
|
|
|
BC1_RGBA_sRGB = 131,
|
|
|
|
BC2_RGBA = 132,
|
|
|
|
BC2_RGBA_sRGB = 133,
|
|
|
|
BC3_RGBA = 134,
|
|
|
|
BC3_RGBA_sRGB = 135,
|
|
|
|
BC4_RUnorm = 140,
|
|
|
|
BC4_RSnorm = 141,
|
|
|
|
BC5_RGUnorm = 142,
|
|
|
|
BC5_RGSnorm = 143,
|
|
|
|
BC6H_RGBFloat = 150,
|
|
|
|
BC6H_RGBUfloat = 151,
|
|
|
|
BC7_RGBAUnorm = 152,
|
|
|
|
BC7_RGBAUnorm_sRGB = 153,
|
|
|
|
PVRTC_RGB_2BPP = 160,
|
|
|
|
PVRTC_RGB_2BPP_sRGB = 161,
|
|
|
|
PVRTC_RGB_4BPP = 162,
|
|
|
|
PVRTC_RGB_4BPP_sRGB = 163,
|
|
|
|
PVRTC_RGBA_2BPP = 164,
|
|
|
|
PVRTC_RGBA_2BPP_sRGB = 165,
|
|
|
|
PVRTC_RGBA_4BPP = 166,
|
|
|
|
PVRTC_RGBA_4BPP_sRGB = 167,
|
|
|
|
EAC_R11Unorm = 170,
|
|
|
|
EAC_R11Snorm = 172,
|
|
|
|
EAC_RG11Unorm = 174,
|
|
|
|
EAC_RG11Snorm = 176,
|
|
|
|
EAC_RGBA8 = 178,
|
|
|
|
EAC_RGBA8_sRGB = 179,
|
|
|
|
ETC2_RGB8 = 180,
|
|
|
|
ETC2_RGB8_sRGB = 181,
|
|
|
|
ETC2_RGB8A1 = 182,
|
|
|
|
ETC2_RGB8A1_sRGB = 183,
|
|
|
|
ASTC_4x4_sRGB = 186,
|
|
|
|
ASTC_5x4_sRGB = 187,
|
|
|
|
ASTC_5x5_sRGB = 188,
|
|
|
|
ASTC_6x5_sRGB = 189,
|
|
|
|
ASTC_6x6_sRGB = 190,
|
|
|
|
ASTC_8x5_sRGB = 192,
|
|
|
|
ASTC_8x6_sRGB = 193,
|
|
|
|
ASTC_8x8_sRGB = 194,
|
|
|
|
ASTC_10x5_sRGB = 195,
|
|
|
|
ASTC_10x6_sRGB = 196,
|
|
|
|
ASTC_10x8_sRGB = 197,
|
|
|
|
ASTC_10x10_sRGB = 198,
|
|
|
|
ASTC_12x10_sRGB = 199,
|
|
|
|
ASTC_12x12_sRGB = 200,
|
|
|
|
ASTC_4x4_LDR = 204,
|
|
|
|
ASTC_5x4_LDR = 205,
|
|
|
|
ASTC_5x5_LDR = 206,
|
|
|
|
ASTC_6x5_LDR = 207,
|
|
|
|
ASTC_6x6_LDR = 208,
|
|
|
|
ASTC_8x5_LDR = 210,
|
|
|
|
ASTC_8x6_LDR = 211,
|
|
|
|
ASTC_8x8_LDR = 212,
|
|
|
|
ASTC_10x5_LDR = 213,
|
|
|
|
ASTC_10x6_LDR = 214,
|
|
|
|
ASTC_10x8_LDR = 215,
|
|
|
|
ASTC_10x10_LDR = 216,
|
|
|
|
ASTC_12x10_LDR = 217,
|
|
|
|
ASTC_12x12_LDR = 218,
|
|
|
|
GBGR422 = 240,
|
|
|
|
BGRG422 = 241,
|
|
|
|
Depth16Unorm = 250,
|
|
|
|
Depth32Float = 252,
|
|
|
|
Stencil8 = 253,
|
|
|
|
Depth24Unorm_Stencil8 = 255,
|
|
|
|
Depth32Float_Stencil8 = 260,
|
|
|
|
X32_Stencil8 = 261,
|
|
|
|
X24_Stencil8 = 262
|
|
}
|
|
|
|
declare class MTLPointerType extends MTLType {
|
|
|
|
static alloc(): MTLPointerType; // inherited from NSObject
|
|
|
|
static new(): MTLPointerType; // inherited from NSObject
|
|
|
|
readonly access: MTLArgumentAccess;
|
|
|
|
readonly alignment: number;
|
|
|
|
readonly dataSize: number;
|
|
|
|
readonly elementIsArgumentBuffer: boolean;
|
|
|
|
readonly elementType: MTLDataType;
|
|
|
|
elementArrayType(): MTLArrayType;
|
|
|
|
elementStructType(): MTLStructType;
|
|
}
|
|
|
|
declare const enum MTLPrimitiveType {
|
|
|
|
Point = 0,
|
|
|
|
Line = 1,
|
|
|
|
LineStrip = 2,
|
|
|
|
Triangle = 3,
|
|
|
|
TriangleStrip = 4
|
|
}
|
|
|
|
declare const enum MTLPurgeableState {
|
|
|
|
KeepCurrent = 1,
|
|
|
|
NonVolatile = 2,
|
|
|
|
Volatile = 3,
|
|
|
|
Empty = 4
|
|
}
|
|
|
|
interface MTLQuadTessellationFactorsHalf {
|
|
edgeTessellationFactor: interop.Reference<number>;
|
|
insideTessellationFactor: interop.Reference<number>;
|
|
}
|
|
declare var MTLQuadTessellationFactorsHalf: interop.StructType<MTLQuadTessellationFactorsHalf>;
|
|
|
|
declare const enum MTLReadWriteTextureTier {
|
|
|
|
TierNone = 0,
|
|
|
|
Tier1 = 1,
|
|
|
|
Tier2 = 2
|
|
}
|
|
|
|
interface MTLRegion {
|
|
origin: MTLOrigin;
|
|
size: MTLSize;
|
|
}
|
|
declare var MTLRegion: interop.StructType<MTLRegion>;
|
|
|
|
interface MTLRenderCommandEncoder extends MTLCommandEncoder {
|
|
|
|
tileHeight: number;
|
|
|
|
tileWidth: number;
|
|
|
|
dispatchThreadsPerTile(threadsPerTile: MTLSize): void;
|
|
|
|
drawIndexedPatchesPatchStartPatchCountPatchIndexBufferPatchIndexBufferOffsetControlPointIndexBufferControlPointIndexBufferOffsetInstanceCountBaseInstance(numberOfPatchControlPoints: number, patchStart: number, patchCount: number, patchIndexBuffer: MTLBuffer, patchIndexBufferOffset: number, controlPointIndexBuffer: MTLBuffer, controlPointIndexBufferOffset: number, instanceCount: number, baseInstance: number): void;
|
|
|
|
drawIndexedPrimitivesIndexCountIndexTypeIndexBufferIndexBufferOffset(primitiveType: MTLPrimitiveType, indexCount: number, indexType: MTLIndexType, indexBuffer: MTLBuffer, indexBufferOffset: number): void;
|
|
|
|
drawIndexedPrimitivesIndexCountIndexTypeIndexBufferIndexBufferOffsetInstanceCount(primitiveType: MTLPrimitiveType, indexCount: number, indexType: MTLIndexType, indexBuffer: MTLBuffer, indexBufferOffset: number, instanceCount: number): void;
|
|
|
|
drawIndexedPrimitivesIndexCountIndexTypeIndexBufferIndexBufferOffsetInstanceCountBaseVertexBaseInstance(primitiveType: MTLPrimitiveType, indexCount: number, indexType: MTLIndexType, indexBuffer: MTLBuffer, indexBufferOffset: number, instanceCount: number, baseVertex: number, baseInstance: number): void;
|
|
|
|
drawIndexedPrimitivesIndexTypeIndexBufferIndexBufferOffsetIndirectBufferIndirectBufferOffset(primitiveType: MTLPrimitiveType, indexType: MTLIndexType, indexBuffer: MTLBuffer, indexBufferOffset: number, indirectBuffer: MTLBuffer, indirectBufferOffset: number): void;
|
|
|
|
drawPatchesPatchStartPatchCountPatchIndexBufferPatchIndexBufferOffsetInstanceCountBaseInstance(numberOfPatchControlPoints: number, patchStart: number, patchCount: number, patchIndexBuffer: MTLBuffer, patchIndexBufferOffset: number, instanceCount: number, baseInstance: number): void;
|
|
|
|
drawPrimitivesIndirectBufferIndirectBufferOffset(primitiveType: MTLPrimitiveType, indirectBuffer: MTLBuffer, indirectBufferOffset: number): void;
|
|
|
|
drawPrimitivesVertexStartVertexCount(primitiveType: MTLPrimitiveType, vertexStart: number, vertexCount: number): void;
|
|
|
|
drawPrimitivesVertexStartVertexCountInstanceCount(primitiveType: MTLPrimitiveType, vertexStart: number, vertexCount: number, instanceCount: number): void;
|
|
|
|
drawPrimitivesVertexStartVertexCountInstanceCountBaseInstance(primitiveType: MTLPrimitiveType, vertexStart: number, vertexCount: number, instanceCount: number, baseInstance: number): void;
|
|
|
|
setBlendColorRedGreenBlueAlpha(red: number, green: number, blue: number, alpha: number): void;
|
|
|
|
setColorStoreActionAtIndex(storeAction: MTLStoreAction, colorAttachmentIndex: number): void;
|
|
|
|
setColorStoreActionOptionsAtIndex(storeActionOptions: MTLStoreActionOptions, colorAttachmentIndex: number): void;
|
|
|
|
setCullMode(cullMode: MTLCullMode): void;
|
|
|
|
setDepthBiasSlopeScaleClamp(depthBias: number, slopeScale: number, clamp: number): void;
|
|
|
|
setDepthClipMode(depthClipMode: MTLDepthClipMode): void;
|
|
|
|
setDepthStencilState(depthStencilState: MTLDepthStencilState): void;
|
|
|
|
setDepthStoreAction(storeAction: MTLStoreAction): void;
|
|
|
|
setDepthStoreActionOptions(storeActionOptions: MTLStoreActionOptions): void;
|
|
|
|
setFragmentBufferOffsetAtIndex(buffer: MTLBuffer, offset: number, index: number): void;
|
|
|
|
setFragmentBufferOffsetAtIndex(offset: number, index: number): void;
|
|
|
|
setFragmentBuffersOffsetsWithRange(buffers: interop.Reference<MTLBuffer>, offsets: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setFragmentBytesLengthAtIndex(bytes: interop.Pointer | interop.Reference<any>, length: number, index: number): void;
|
|
|
|
setFragmentSamplerStateAtIndex(sampler: MTLSamplerState, index: number): void;
|
|
|
|
setFragmentSamplerStateLodMinClampLodMaxClampAtIndex(sampler: MTLSamplerState, lodMinClamp: number, lodMaxClamp: number, index: number): void;
|
|
|
|
setFragmentSamplerStatesLodMinClampsLodMaxClampsWithRange(samplers: interop.Reference<MTLSamplerState>, lodMinClamps: interop.Reference<number>, lodMaxClamps: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setFragmentSamplerStatesWithRange(samplers: interop.Reference<MTLSamplerState>, range: NSRange): void;
|
|
|
|
setFragmentTextureAtIndex(texture: MTLTexture, index: number): void;
|
|
|
|
setFragmentTexturesWithRange(textures: interop.Reference<MTLTexture>, range: NSRange): void;
|
|
|
|
setFrontFacingWinding(frontFacingWinding: MTLWinding): void;
|
|
|
|
setRenderPipelineState(pipelineState: MTLRenderPipelineState): void;
|
|
|
|
setScissorRect(rect: MTLScissorRect): void;
|
|
|
|
setStencilFrontReferenceValueBackReferenceValue(frontReferenceValue: number, backReferenceValue: number): void;
|
|
|
|
setStencilReferenceValue(referenceValue: number): void;
|
|
|
|
setStencilStoreAction(storeAction: MTLStoreAction): void;
|
|
|
|
setStencilStoreActionOptions(storeActionOptions: MTLStoreActionOptions): void;
|
|
|
|
setTessellationFactorBufferOffsetInstanceStride(buffer: MTLBuffer, offset: number, instanceStride: number): void;
|
|
|
|
setTessellationFactorScale(scale: number): void;
|
|
|
|
setThreadgroupMemoryLengthOffsetAtIndex(length: number, offset: number, index: number): void;
|
|
|
|
setTileBufferOffsetAtIndex(buffer: MTLBuffer, offset: number, index: number): void;
|
|
|
|
setTileBufferOffsetAtIndex(offset: number, index: number): void;
|
|
|
|
setTileBuffersOffsetsWithRange(buffers: interop.Reference<MTLBuffer>, offsets: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setTileBytesLengthAtIndex(bytes: interop.Pointer | interop.Reference<any>, length: number, index: number): void;
|
|
|
|
setTileSamplerStateAtIndex(sampler: MTLSamplerState, index: number): void;
|
|
|
|
setTileSamplerStateLodMinClampLodMaxClampAtIndex(sampler: MTLSamplerState, lodMinClamp: number, lodMaxClamp: number, index: number): void;
|
|
|
|
setTileSamplerStatesLodMinClampsLodMaxClampsWithRange(samplers: interop.Reference<MTLSamplerState>, lodMinClamps: interop.Reference<number>, lodMaxClamps: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setTileSamplerStatesWithRange(samplers: interop.Reference<MTLSamplerState>, range: NSRange): void;
|
|
|
|
setTileTextureAtIndex(texture: MTLTexture, index: number): void;
|
|
|
|
setTileTexturesWithRange(textures: interop.Reference<MTLTexture>, range: NSRange): void;
|
|
|
|
setTriangleFillMode(fillMode: MTLTriangleFillMode): void;
|
|
|
|
setVertexBufferOffsetAtIndex(offset: number, index: number): void;
|
|
|
|
setVertexBufferOffsetAtIndex(buffer: MTLBuffer, offset: number, index: number): void;
|
|
|
|
setVertexBuffersOffsetsWithRange(buffers: interop.Reference<MTLBuffer>, offsets: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setVertexBytesLengthAtIndex(bytes: interop.Pointer | interop.Reference<any>, length: number, index: number): void;
|
|
|
|
setVertexSamplerStateAtIndex(sampler: MTLSamplerState, index: number): void;
|
|
|
|
setVertexSamplerStateLodMinClampLodMaxClampAtIndex(sampler: MTLSamplerState, lodMinClamp: number, lodMaxClamp: number, index: number): void;
|
|
|
|
setVertexSamplerStatesLodMinClampsLodMaxClampsWithRange(samplers: interop.Reference<MTLSamplerState>, lodMinClamps: interop.Reference<number>, lodMaxClamps: interop.Reference<number>, range: NSRange): void;
|
|
|
|
setVertexSamplerStatesWithRange(samplers: interop.Reference<MTLSamplerState>, range: NSRange): void;
|
|
|
|
setVertexTextureAtIndex(texture: MTLTexture, index: number): void;
|
|
|
|
setVertexTexturesWithRange(textures: interop.Reference<MTLTexture>, range: NSRange): void;
|
|
|
|
setViewport(viewport: MTLViewport): void;
|
|
|
|
setVisibilityResultModeOffset(mode: MTLVisibilityResultMode, offset: number): void;
|
|
|
|
updateFenceAfterStages(fence: MTLFence, stages: MTLRenderStages): void;
|
|
|
|
useHeap(heap: MTLHeap): void;
|
|
|
|
useHeapsCount(heaps: interop.Reference<MTLHeap>, count: number): void;
|
|
|
|
useResourceUsage(resource: MTLResource, usage: MTLResourceUsage): void;
|
|
|
|
useResourcesCountUsage(resources: interop.Reference<MTLResource>, count: number, usage: MTLResourceUsage): void;
|
|
|
|
waitForFenceBeforeStages(fence: MTLFence, stages: MTLRenderStages): void;
|
|
}
|
|
declare var MTLRenderCommandEncoder: {
|
|
|
|
prototype: MTLRenderCommandEncoder;
|
|
};
|
|
|
|
declare class MTLRenderPassAttachmentDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLRenderPassAttachmentDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPassAttachmentDescriptor; // inherited from NSObject
|
|
|
|
depthPlane: number;
|
|
|
|
level: number;
|
|
|
|
loadAction: MTLLoadAction;
|
|
|
|
resolveDepthPlane: number;
|
|
|
|
resolveLevel: number;
|
|
|
|
resolveSlice: number;
|
|
|
|
resolveTexture: MTLTexture;
|
|
|
|
slice: number;
|
|
|
|
storeAction: MTLStoreAction;
|
|
|
|
storeActionOptions: MTLStoreActionOptions;
|
|
|
|
texture: MTLTexture;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLRenderPassColorAttachmentDescriptor extends MTLRenderPassAttachmentDescriptor {
|
|
|
|
static alloc(): MTLRenderPassColorAttachmentDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPassColorAttachmentDescriptor; // inherited from NSObject
|
|
|
|
clearColor: MTLClearColor;
|
|
}
|
|
|
|
declare class MTLRenderPassColorAttachmentDescriptorArray extends NSObject {
|
|
|
|
static alloc(): MTLRenderPassColorAttachmentDescriptorArray; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPassColorAttachmentDescriptorArray; // inherited from NSObject
|
|
[index: number]: MTLRenderPassColorAttachmentDescriptor;
|
|
|
|
objectAtIndexedSubscript(attachmentIndex: number): MTLRenderPassColorAttachmentDescriptor;
|
|
|
|
setObjectAtIndexedSubscript(attachment: MTLRenderPassColorAttachmentDescriptor, attachmentIndex: number): void;
|
|
}
|
|
|
|
declare class MTLRenderPassDepthAttachmentDescriptor extends MTLRenderPassAttachmentDescriptor {
|
|
|
|
static alloc(): MTLRenderPassDepthAttachmentDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPassDepthAttachmentDescriptor; // inherited from NSObject
|
|
|
|
clearDepth: number;
|
|
|
|
depthResolveFilter: MTLMultisampleDepthResolveFilter;
|
|
}
|
|
|
|
declare class MTLRenderPassDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLRenderPassDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPassDescriptor; // inherited from NSObject
|
|
|
|
static renderPassDescriptor(): MTLRenderPassDescriptor;
|
|
|
|
readonly colorAttachments: MTLRenderPassColorAttachmentDescriptorArray;
|
|
|
|
defaultRasterSampleCount: number;
|
|
|
|
defaultSampleCount: number;
|
|
|
|
depthAttachment: MTLRenderPassDepthAttachmentDescriptor;
|
|
|
|
imageblockSampleLength: number;
|
|
|
|
renderTargetHeight: number;
|
|
|
|
renderTargetWidth: number;
|
|
|
|
stencilAttachment: MTLRenderPassStencilAttachmentDescriptor;
|
|
|
|
threadgroupMemoryLength: number;
|
|
|
|
tileHeight: number;
|
|
|
|
tileWidth: number;
|
|
|
|
visibilityResultBuffer: MTLBuffer;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
|
|
getSamplePositionsCount(positions: interop.Pointer | interop.Reference<MTLSamplePosition>, count: number): number;
|
|
|
|
setSamplePositionsCount(positions: interop.Pointer | interop.Reference<MTLSamplePosition>, count: number): void;
|
|
}
|
|
|
|
declare class MTLRenderPassStencilAttachmentDescriptor extends MTLRenderPassAttachmentDescriptor {
|
|
|
|
static alloc(): MTLRenderPassStencilAttachmentDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPassStencilAttachmentDescriptor; // inherited from NSObject
|
|
|
|
clearStencil: number;
|
|
}
|
|
|
|
declare class MTLRenderPipelineColorAttachmentDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLRenderPipelineColorAttachmentDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPipelineColorAttachmentDescriptor; // inherited from NSObject
|
|
|
|
alphaBlendOperation: MTLBlendOperation;
|
|
|
|
blendingEnabled: boolean;
|
|
|
|
destinationAlphaBlendFactor: MTLBlendFactor;
|
|
|
|
destinationRGBBlendFactor: MTLBlendFactor;
|
|
|
|
pixelFormat: MTLPixelFormat;
|
|
|
|
rgbBlendOperation: MTLBlendOperation;
|
|
|
|
sourceAlphaBlendFactor: MTLBlendFactor;
|
|
|
|
sourceRGBBlendFactor: MTLBlendFactor;
|
|
|
|
writeMask: MTLColorWriteMask;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLRenderPipelineColorAttachmentDescriptorArray extends NSObject {
|
|
|
|
static alloc(): MTLRenderPipelineColorAttachmentDescriptorArray; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPipelineColorAttachmentDescriptorArray; // inherited from NSObject
|
|
[index: number]: MTLRenderPipelineColorAttachmentDescriptor;
|
|
|
|
objectAtIndexedSubscript(attachmentIndex: number): MTLRenderPipelineColorAttachmentDescriptor;
|
|
|
|
setObjectAtIndexedSubscript(attachment: MTLRenderPipelineColorAttachmentDescriptor, attachmentIndex: number): void;
|
|
}
|
|
|
|
declare class MTLRenderPipelineDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLRenderPipelineDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPipelineDescriptor; // inherited from NSObject
|
|
|
|
alphaToCoverageEnabled: boolean;
|
|
|
|
alphaToOneEnabled: boolean;
|
|
|
|
readonly colorAttachments: MTLRenderPipelineColorAttachmentDescriptorArray;
|
|
|
|
depthAttachmentPixelFormat: MTLPixelFormat;
|
|
|
|
readonly fragmentBuffers: MTLPipelineBufferDescriptorArray;
|
|
|
|
fragmentFunction: MTLFunction;
|
|
|
|
label: string;
|
|
|
|
maxTessellationFactor: number;
|
|
|
|
rasterSampleCount: number;
|
|
|
|
rasterizationEnabled: boolean;
|
|
|
|
sampleCount: number;
|
|
|
|
stencilAttachmentPixelFormat: MTLPixelFormat;
|
|
|
|
tessellationControlPointIndexType: MTLTessellationControlPointIndexType;
|
|
|
|
tessellationFactorFormat: MTLTessellationFactorFormat;
|
|
|
|
tessellationFactorScaleEnabled: boolean;
|
|
|
|
tessellationFactorStepFunction: MTLTessellationFactorStepFunction;
|
|
|
|
tessellationOutputWindingOrder: MTLWinding;
|
|
|
|
tessellationPartitionMode: MTLTessellationPartitionMode;
|
|
|
|
readonly vertexBuffers: MTLPipelineBufferDescriptorArray;
|
|
|
|
vertexDescriptor: MTLVertexDescriptor;
|
|
|
|
vertexFunction: MTLFunction;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
|
|
reset(): void;
|
|
}
|
|
|
|
declare class MTLRenderPipelineReflection extends NSObject {
|
|
|
|
static alloc(): MTLRenderPipelineReflection; // inherited from NSObject
|
|
|
|
static new(): MTLRenderPipelineReflection; // inherited from NSObject
|
|
|
|
readonly fragmentArguments: NSArray<MTLArgument>;
|
|
|
|
readonly tileArguments: NSArray<MTLArgument>;
|
|
|
|
readonly vertexArguments: NSArray<MTLArgument>;
|
|
}
|
|
|
|
interface MTLRenderPipelineState extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
imageblockSampleLength: number;
|
|
|
|
label: string;
|
|
|
|
maxTotalThreadsPerThreadgroup: number;
|
|
|
|
threadgroupSizeMatchesTileSize: boolean;
|
|
|
|
imageblockMemoryLengthForDimensions(imageblockDimensions: MTLSize): number;
|
|
}
|
|
declare var MTLRenderPipelineState: {
|
|
|
|
prototype: MTLRenderPipelineState;
|
|
};
|
|
|
|
declare const enum MTLRenderStages {
|
|
|
|
Vertex = 1,
|
|
|
|
Fragment = 2
|
|
}
|
|
|
|
interface MTLResource extends NSObjectProtocol {
|
|
|
|
allocatedSize: number;
|
|
|
|
cpuCacheMode: MTLCPUCacheMode;
|
|
|
|
device: MTLDevice;
|
|
|
|
heap: MTLHeap;
|
|
|
|
label: string;
|
|
|
|
storageMode: MTLStorageMode;
|
|
|
|
isAliasable(): boolean;
|
|
|
|
makeAliasable(): void;
|
|
|
|
setPurgeableState(state: MTLPurgeableState): MTLPurgeableState;
|
|
}
|
|
declare var MTLResource: {
|
|
|
|
prototype: MTLResource;
|
|
};
|
|
|
|
declare const enum MTLResourceOptions {
|
|
|
|
CPUCacheModeDefaultCache = 0,
|
|
|
|
CPUCacheModeWriteCombined = 1,
|
|
|
|
StorageModeShared = 0,
|
|
|
|
StorageModeManaged = 16,
|
|
|
|
StorageModePrivate = 32,
|
|
|
|
StorageModeMemoryless = 48,
|
|
|
|
HazardTrackingModeUntracked = 256,
|
|
|
|
OptionCPUCacheModeDefault = 0,
|
|
|
|
OptionCPUCacheModeWriteCombined = 1
|
|
}
|
|
|
|
declare const enum MTLResourceUsage {
|
|
|
|
Read = 1,
|
|
|
|
Write = 2,
|
|
|
|
Sample = 4
|
|
}
|
|
|
|
interface MTLSamplePosition {
|
|
x: number;
|
|
y: number;
|
|
}
|
|
declare var MTLSamplePosition: interop.StructType<MTLSamplePosition>;
|
|
|
|
declare const enum MTLSamplerAddressMode {
|
|
|
|
ClampToEdge = 0,
|
|
|
|
MirrorClampToEdge = 1,
|
|
|
|
Repeat = 2,
|
|
|
|
MirrorRepeat = 3,
|
|
|
|
ClampToZero = 4,
|
|
|
|
ClampToBorderColor = 5
|
|
}
|
|
|
|
declare class MTLSamplerDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLSamplerDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLSamplerDescriptor; // inherited from NSObject
|
|
|
|
compareFunction: MTLCompareFunction;
|
|
|
|
label: string;
|
|
|
|
lodAverage: boolean;
|
|
|
|
lodMaxClamp: number;
|
|
|
|
lodMinClamp: number;
|
|
|
|
magFilter: MTLSamplerMinMagFilter;
|
|
|
|
maxAnisotropy: number;
|
|
|
|
minFilter: MTLSamplerMinMagFilter;
|
|
|
|
mipFilter: MTLSamplerMipFilter;
|
|
|
|
normalizedCoordinates: boolean;
|
|
|
|
rAddressMode: MTLSamplerAddressMode;
|
|
|
|
sAddressMode: MTLSamplerAddressMode;
|
|
|
|
supportArgumentBuffers: boolean;
|
|
|
|
tAddressMode: MTLSamplerAddressMode;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare const enum MTLSamplerMinMagFilter {
|
|
|
|
Nearest = 0,
|
|
|
|
Linear = 1
|
|
}
|
|
|
|
declare const enum MTLSamplerMipFilter {
|
|
|
|
NotMipmapped = 0,
|
|
|
|
Nearest = 1,
|
|
|
|
Linear = 2
|
|
}
|
|
|
|
interface MTLSamplerState extends NSObjectProtocol {
|
|
|
|
device: MTLDevice;
|
|
|
|
label: string;
|
|
}
|
|
declare var MTLSamplerState: {
|
|
|
|
prototype: MTLSamplerState;
|
|
};
|
|
|
|
interface MTLScissorRect {
|
|
x: number;
|
|
y: number;
|
|
width: number;
|
|
height: number;
|
|
}
|
|
declare var MTLScissorRect: interop.StructType<MTLScissorRect>;
|
|
|
|
interface MTLSize {
|
|
width: number;
|
|
height: number;
|
|
depth: number;
|
|
}
|
|
declare var MTLSize: interop.StructType<MTLSize>;
|
|
|
|
interface MTLSizeAndAlign {
|
|
size: number;
|
|
align: number;
|
|
}
|
|
declare var MTLSizeAndAlign: interop.StructType<MTLSizeAndAlign>;
|
|
|
|
declare class MTLStageInputOutputDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLStageInputOutputDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLStageInputOutputDescriptor; // inherited from NSObject
|
|
|
|
static stageInputOutputDescriptor(): MTLStageInputOutputDescriptor;
|
|
|
|
readonly attributes: MTLAttributeDescriptorArray;
|
|
|
|
indexBufferIndex: number;
|
|
|
|
indexType: MTLIndexType;
|
|
|
|
readonly layouts: MTLBufferLayoutDescriptorArray;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
|
|
reset(): void;
|
|
}
|
|
|
|
declare class MTLStencilDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLStencilDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLStencilDescriptor; // inherited from NSObject
|
|
|
|
depthFailureOperation: MTLStencilOperation;
|
|
|
|
depthStencilPassOperation: MTLStencilOperation;
|
|
|
|
readMask: number;
|
|
|
|
stencilCompareFunction: MTLCompareFunction;
|
|
|
|
stencilFailureOperation: MTLStencilOperation;
|
|
|
|
writeMask: number;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare const enum MTLStencilOperation {
|
|
|
|
Keep = 0,
|
|
|
|
Zero = 1,
|
|
|
|
Replace = 2,
|
|
|
|
IncrementClamp = 3,
|
|
|
|
DecrementClamp = 4,
|
|
|
|
Invert = 5,
|
|
|
|
IncrementWrap = 6,
|
|
|
|
DecrementWrap = 7
|
|
}
|
|
|
|
declare const enum MTLStepFunction {
|
|
|
|
Constant = 0,
|
|
|
|
PerVertex = 1,
|
|
|
|
PerInstance = 2,
|
|
|
|
PerPatch = 3,
|
|
|
|
PerPatchControlPoint = 4,
|
|
|
|
ThreadPositionInGridX = 5,
|
|
|
|
ThreadPositionInGridY = 6,
|
|
|
|
ThreadPositionInGridXIndexed = 7,
|
|
|
|
ThreadPositionInGridYIndexed = 8
|
|
}
|
|
|
|
declare const enum MTLStorageMode {
|
|
|
|
Shared = 0,
|
|
|
|
Managed = 1,
|
|
|
|
Private = 2,
|
|
|
|
Memoryless = 3
|
|
}
|
|
|
|
declare const enum MTLStoreAction {
|
|
|
|
DontCare = 0,
|
|
|
|
Store = 1,
|
|
|
|
MultisampleResolve = 2,
|
|
|
|
StoreAndMultisampleResolve = 3,
|
|
|
|
Unknown = 4,
|
|
|
|
CustomSampleDepthStore = 5
|
|
}
|
|
|
|
declare const enum MTLStoreActionOptions {
|
|
|
|
None = 0,
|
|
|
|
CustomSamplePositions = 1
|
|
}
|
|
|
|
declare class MTLStructMember extends NSObject {
|
|
|
|
static alloc(): MTLStructMember; // inherited from NSObject
|
|
|
|
static new(): MTLStructMember; // inherited from NSObject
|
|
|
|
readonly argumentIndex: number;
|
|
|
|
readonly dataType: MTLDataType;
|
|
|
|
readonly name: string;
|
|
|
|
readonly offset: number;
|
|
|
|
arrayType(): MTLArrayType;
|
|
|
|
pointerType(): MTLPointerType;
|
|
|
|
structType(): MTLStructType;
|
|
|
|
textureReferenceType(): MTLTextureReferenceType;
|
|
}
|
|
|
|
declare class MTLStructType extends MTLType {
|
|
|
|
static alloc(): MTLStructType; // inherited from NSObject
|
|
|
|
static new(): MTLStructType; // inherited from NSObject
|
|
|
|
readonly members: NSArray<MTLStructMember>;
|
|
|
|
memberByName(name: string): MTLStructMember;
|
|
}
|
|
|
|
declare const enum MTLTessellationControlPointIndexType {
|
|
|
|
None = 0,
|
|
|
|
UInt16 = 1,
|
|
|
|
UInt32 = 2
|
|
}
|
|
|
|
declare const enum MTLTessellationFactorFormat {
|
|
|
|
Half = 0
|
|
}
|
|
|
|
declare const enum MTLTessellationFactorStepFunction {
|
|
|
|
Constant = 0,
|
|
|
|
PerPatch = 1,
|
|
|
|
PerInstance = 2,
|
|
|
|
PerPatchAndPerInstance = 3
|
|
}
|
|
|
|
declare const enum MTLTessellationPartitionMode {
|
|
|
|
Pow2 = 0,
|
|
|
|
Integer = 1,
|
|
|
|
FractionalOdd = 2,
|
|
|
|
FractionalEven = 3
|
|
}
|
|
|
|
interface MTLTexture extends MTLResource {
|
|
|
|
arrayLength: number;
|
|
|
|
buffer: MTLBuffer;
|
|
|
|
bufferBytesPerRow: number;
|
|
|
|
bufferOffset: number;
|
|
|
|
depth: number;
|
|
|
|
framebufferOnly: boolean;
|
|
|
|
height: number;
|
|
|
|
mipmapLevelCount: number;
|
|
|
|
parentRelativeLevel: number;
|
|
|
|
parentRelativeSlice: number;
|
|
|
|
parentTexture: MTLTexture;
|
|
|
|
pixelFormat: MTLPixelFormat;
|
|
|
|
rootResource: MTLResource;
|
|
|
|
sampleCount: number;
|
|
|
|
textureType: MTLTextureType;
|
|
|
|
usage: MTLTextureUsage;
|
|
|
|
width: number;
|
|
|
|
getBytesBytesPerRowBytesPerImageFromRegionMipmapLevelSlice(pixelBytes: interop.Pointer | interop.Reference<any>, bytesPerRow: number, bytesPerImage: number, region: MTLRegion, level: number, slice: number): void;
|
|
|
|
getBytesBytesPerRowFromRegionMipmapLevel(pixelBytes: interop.Pointer | interop.Reference<any>, bytesPerRow: number, region: MTLRegion, level: number): void;
|
|
|
|
newTextureViewWithPixelFormat(pixelFormat: MTLPixelFormat): MTLTexture;
|
|
|
|
newTextureViewWithPixelFormatTextureTypeLevelsSlices(pixelFormat: MTLPixelFormat, textureType: MTLTextureType, levelRange: NSRange, sliceRange: NSRange): MTLTexture;
|
|
|
|
replaceRegionMipmapLevelSliceWithBytesBytesPerRowBytesPerImage(region: MTLRegion, level: number, slice: number, pixelBytes: interop.Pointer | interop.Reference<any>, bytesPerRow: number, bytesPerImage: number): void;
|
|
|
|
replaceRegionMipmapLevelWithBytesBytesPerRow(region: MTLRegion, level: number, pixelBytes: interop.Pointer | interop.Reference<any>, bytesPerRow: number): void;
|
|
}
|
|
declare var MTLTexture: {
|
|
|
|
prototype: MTLTexture;
|
|
};
|
|
|
|
declare class MTLTextureDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLTextureDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLTextureDescriptor; // inherited from NSObject
|
|
|
|
static texture2DDescriptorWithPixelFormatWidthHeightMipmapped(pixelFormat: MTLPixelFormat, width: number, height: number, mipmapped: boolean): MTLTextureDescriptor;
|
|
|
|
static textureCubeDescriptorWithPixelFormatSizeMipmapped(pixelFormat: MTLPixelFormat, size: number, mipmapped: boolean): MTLTextureDescriptor;
|
|
|
|
arrayLength: number;
|
|
|
|
cpuCacheMode: MTLCPUCacheMode;
|
|
|
|
depth: number;
|
|
|
|
height: number;
|
|
|
|
mipmapLevelCount: number;
|
|
|
|
pixelFormat: MTLPixelFormat;
|
|
|
|
resourceOptions: MTLResourceOptions;
|
|
|
|
sampleCount: number;
|
|
|
|
storageMode: MTLStorageMode;
|
|
|
|
textureType: MTLTextureType;
|
|
|
|
usage: MTLTextureUsage;
|
|
|
|
width: number;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLTextureReferenceType extends MTLType {
|
|
|
|
static alloc(): MTLTextureReferenceType; // inherited from NSObject
|
|
|
|
static new(): MTLTextureReferenceType; // inherited from NSObject
|
|
|
|
readonly access: MTLArgumentAccess;
|
|
|
|
readonly isDepthTexture: boolean;
|
|
|
|
readonly textureDataType: MTLDataType;
|
|
|
|
readonly textureType: MTLTextureType;
|
|
}
|
|
|
|
declare const enum MTLTextureType {
|
|
|
|
Type1D = 0,
|
|
|
|
Type1DArray = 1,
|
|
|
|
Type2D = 2,
|
|
|
|
Type2DArray = 3,
|
|
|
|
Type2DMultisample = 4,
|
|
|
|
TypeCube = 5,
|
|
|
|
TypeCubeArray = 6,
|
|
|
|
Type3D = 7
|
|
}
|
|
|
|
declare const enum MTLTextureUsage {
|
|
|
|
Unknown = 0,
|
|
|
|
ShaderRead = 1,
|
|
|
|
ShaderWrite = 2,
|
|
|
|
RenderTarget = 4,
|
|
|
|
PixelFormatView = 16
|
|
}
|
|
|
|
declare class MTLTileRenderPipelineColorAttachmentDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLTileRenderPipelineColorAttachmentDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLTileRenderPipelineColorAttachmentDescriptor; // inherited from NSObject
|
|
|
|
pixelFormat: MTLPixelFormat;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLTileRenderPipelineColorAttachmentDescriptorArray extends NSObject {
|
|
|
|
static alloc(): MTLTileRenderPipelineColorAttachmentDescriptorArray; // inherited from NSObject
|
|
|
|
static new(): MTLTileRenderPipelineColorAttachmentDescriptorArray; // inherited from NSObject
|
|
[index: number]: MTLTileRenderPipelineColorAttachmentDescriptor;
|
|
|
|
objectAtIndexedSubscript(attachmentIndex: number): MTLTileRenderPipelineColorAttachmentDescriptor;
|
|
|
|
setObjectAtIndexedSubscript(attachment: MTLTileRenderPipelineColorAttachmentDescriptor, attachmentIndex: number): void;
|
|
}
|
|
|
|
declare class MTLTileRenderPipelineDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLTileRenderPipelineDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLTileRenderPipelineDescriptor; // inherited from NSObject
|
|
|
|
readonly colorAttachments: MTLTileRenderPipelineColorAttachmentDescriptorArray;
|
|
|
|
label: string;
|
|
|
|
rasterSampleCount: number;
|
|
|
|
threadgroupSizeMatchesTileSize: boolean;
|
|
|
|
readonly tileBuffers: MTLPipelineBufferDescriptorArray;
|
|
|
|
tileFunction: MTLFunction;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
|
|
reset(): void;
|
|
}
|
|
|
|
declare const enum MTLTriangleFillMode {
|
|
|
|
Fill = 0,
|
|
|
|
Lines = 1
|
|
}
|
|
|
|
interface MTLTriangleTessellationFactorsHalf {
|
|
edgeTessellationFactor: interop.Reference<number>;
|
|
insideTessellationFactor: number;
|
|
}
|
|
declare var MTLTriangleTessellationFactorsHalf: interop.StructType<MTLTriangleTessellationFactorsHalf>;
|
|
|
|
declare class MTLType extends NSObject {
|
|
|
|
static alloc(): MTLType; // inherited from NSObject
|
|
|
|
static new(): MTLType; // inherited from NSObject
|
|
|
|
readonly dataType: MTLDataType;
|
|
}
|
|
|
|
declare class MTLVertexAttribute extends NSObject {
|
|
|
|
static alloc(): MTLVertexAttribute; // inherited from NSObject
|
|
|
|
static new(): MTLVertexAttribute; // inherited from NSObject
|
|
|
|
readonly active: boolean;
|
|
|
|
readonly attributeIndex: number;
|
|
|
|
readonly attributeType: MTLDataType;
|
|
|
|
readonly name: string;
|
|
|
|
readonly patchControlPointData: boolean;
|
|
|
|
readonly patchData: boolean;
|
|
}
|
|
|
|
declare class MTLVertexAttributeDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLVertexAttributeDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLVertexAttributeDescriptor; // inherited from NSObject
|
|
|
|
bufferIndex: number;
|
|
|
|
format: MTLVertexFormat;
|
|
|
|
offset: number;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLVertexAttributeDescriptorArray extends NSObject {
|
|
|
|
static alloc(): MTLVertexAttributeDescriptorArray; // inherited from NSObject
|
|
|
|
static new(): MTLVertexAttributeDescriptorArray; // inherited from NSObject
|
|
[index: number]: MTLVertexAttributeDescriptor;
|
|
|
|
objectAtIndexedSubscript(index: number): MTLVertexAttributeDescriptor;
|
|
|
|
setObjectAtIndexedSubscript(attributeDesc: MTLVertexAttributeDescriptor, index: number): void;
|
|
}
|
|
|
|
declare class MTLVertexBufferLayoutDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLVertexBufferLayoutDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLVertexBufferLayoutDescriptor; // inherited from NSObject
|
|
|
|
stepFunction: MTLVertexStepFunction;
|
|
|
|
stepRate: number;
|
|
|
|
stride: number;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
}
|
|
|
|
declare class MTLVertexBufferLayoutDescriptorArray extends NSObject {
|
|
|
|
static alloc(): MTLVertexBufferLayoutDescriptorArray; // inherited from NSObject
|
|
|
|
static new(): MTLVertexBufferLayoutDescriptorArray; // inherited from NSObject
|
|
[index: number]: MTLVertexBufferLayoutDescriptor;
|
|
|
|
objectAtIndexedSubscript(index: number): MTLVertexBufferLayoutDescriptor;
|
|
|
|
setObjectAtIndexedSubscript(bufferDesc: MTLVertexBufferLayoutDescriptor, index: number): void;
|
|
}
|
|
|
|
declare class MTLVertexDescriptor extends NSObject implements NSCopying {
|
|
|
|
static alloc(): MTLVertexDescriptor; // inherited from NSObject
|
|
|
|
static new(): MTLVertexDescriptor; // inherited from NSObject
|
|
|
|
static vertexDescriptor(): MTLVertexDescriptor;
|
|
|
|
readonly attributes: MTLVertexAttributeDescriptorArray;
|
|
|
|
readonly layouts: MTLVertexBufferLayoutDescriptorArray;
|
|
|
|
copyWithZone(zone: interop.Pointer | interop.Reference<any>): any;
|
|
|
|
reset(): void;
|
|
}
|
|
|
|
declare const enum MTLVertexFormat {
|
|
|
|
Invalid = 0,
|
|
|
|
UChar2 = 1,
|
|
|
|
UChar3 = 2,
|
|
|
|
UChar4 = 3,
|
|
|
|
Char2 = 4,
|
|
|
|
Char3 = 5,
|
|
|
|
Char4 = 6,
|
|
|
|
UChar2Normalized = 7,
|
|
|
|
UChar3Normalized = 8,
|
|
|
|
UChar4Normalized = 9,
|
|
|
|
Char2Normalized = 10,
|
|
|
|
Char3Normalized = 11,
|
|
|
|
Char4Normalized = 12,
|
|
|
|
UShort2 = 13,
|
|
|
|
UShort3 = 14,
|
|
|
|
UShort4 = 15,
|
|
|
|
Short2 = 16,
|
|
|
|
Short3 = 17,
|
|
|
|
Short4 = 18,
|
|
|
|
UShort2Normalized = 19,
|
|
|
|
UShort3Normalized = 20,
|
|
|
|
UShort4Normalized = 21,
|
|
|
|
Short2Normalized = 22,
|
|
|
|
Short3Normalized = 23,
|
|
|
|
Short4Normalized = 24,
|
|
|
|
Half2 = 25,
|
|
|
|
Half3 = 26,
|
|
|
|
Half4 = 27,
|
|
|
|
Float = 28,
|
|
|
|
Float2 = 29,
|
|
|
|
Float3 = 30,
|
|
|
|
Float4 = 31,
|
|
|
|
Int = 32,
|
|
|
|
Int2 = 33,
|
|
|
|
Int3 = 34,
|
|
|
|
Int4 = 35,
|
|
|
|
UInt = 36,
|
|
|
|
UInt2 = 37,
|
|
|
|
UInt3 = 38,
|
|
|
|
UInt4 = 39,
|
|
|
|
Int1010102Normalized = 40,
|
|
|
|
UInt1010102Normalized = 41,
|
|
|
|
UChar4Normalized_BGRA = 42,
|
|
|
|
UChar = 45,
|
|
|
|
Char = 46,
|
|
|
|
UCharNormalized = 47,
|
|
|
|
CharNormalized = 48,
|
|
|
|
UShort = 49,
|
|
|
|
Short = 50,
|
|
|
|
UShortNormalized = 51,
|
|
|
|
ShortNormalized = 52,
|
|
|
|
Half = 53
|
|
}
|
|
|
|
declare const enum MTLVertexStepFunction {
|
|
|
|
Constant = 0,
|
|
|
|
PerVertex = 1,
|
|
|
|
PerInstance = 2,
|
|
|
|
PerPatch = 3,
|
|
|
|
PerPatchControlPoint = 4
|
|
}
|
|
|
|
interface MTLViewport {
|
|
originX: number;
|
|
originY: number;
|
|
width: number;
|
|
height: number;
|
|
znear: number;
|
|
zfar: number;
|
|
}
|
|
declare var MTLViewport: interop.StructType<MTLViewport>;
|
|
|
|
declare const enum MTLVisibilityResultMode {
|
|
|
|
Disabled = 0,
|
|
|
|
Boolean = 1,
|
|
|
|
Counting = 2
|
|
}
|
|
|
|
declare const enum MTLWinding {
|
|
|
|
Clockwise = 0,
|
|
|
|
CounterClockwise = 1
|
|
}
|