diff --git a/dist/index.d.ts b/dist/index.d.ts index 3abdb3eb..01bdda82 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -8,7 +8,9 @@ interface HTMLCanvasElement { getContext( - contextId: "gpupresent" + contextId: + | "webgpu" + | "gpupresent" ): | (GPUPresentationContext & GPUCanvasContext) @@ -17,7 +19,9 @@ interface HTMLCanvasElement { interface OffscreenCanvas { getContext( - contextId: "gpupresent" + contextId: + | "webgpu" + | "gpupresent" ): | (GPUPresentationContext & GPUCanvasContext) @@ -145,9 +149,6 @@ type GPUFrontFace = type GPUIndexFormat = | "uint16" | "uint32"; -type GPUInputStepMode = - | "vertex" - | "instance"; type GPULoadOp = "load"; type GPUPipelineStatisticName = | "vertex-shader-invocations" @@ -183,18 +184,16 @@ type GPUStencilOperation = | "increment-wrap" | "decrement-wrap"; type GPUStorageTextureAccess = + | GPUStorageTextureAccessNew + | GPUStorageTextureAccessOld; +type GPUStorageTextureAccessNew = "write-only"; +/** @deprecated */ +type GPUStorageTextureAccessOld = | "read-only" | "write-only"; type GPUStoreOp = - | GPUStoreOpNew - | GPUStoreOpOld; -type GPUStoreOpNew = | "store" | "discard"; -/** @deprecated */ -type GPUStoreOpOld = - | "store" - | "clear"; type GPUTextureAspect = | "all" | "stencil-only" @@ -305,6 +304,9 @@ type GPUVertexFormat = | "sint32x2" | "sint32x3" | "sint32x4"; +type GPUVertexStepMode = + | "vertex" + | "instance"; interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase { @@ -401,6 +403,15 @@ interface GPUBufferDescriptor mappedAtCreation?: boolean; } +interface GPUCanvasConfiguration { + device: GPUDevice; + format: GPUTextureFormat; + usage?: GPUTextureUsageFlags; + colorSpace?: GPUPredefinedColorSpace; + compositingAlphaMode?: GPUCanvasCompositingAlphaMode; + size?: GPUExtent3D; +} + interface GPUColorDict { r: number; g: number; @@ -453,27 +464,20 @@ interface GPUDeviceDescriptor * of API calls on the resulting device. */ requiredFeatures?: Iterable; - /** @deprecated */ - nonGuaranteedFeatures?: Iterable; /** * Specifies the limits that are required by the device request. * The request will fail if the adapter cannot provide these limits. * Each key must be the name of a member of supported limits. * Exactly the specified limits, and no limit/better or worse, * will be allowed in validation of API calls on the resulting device. - * + * */ requiredLimits?: Record< string, - GPUSize32 - >; - /** @deprecated */ - nonGuaranteedLimits?: Record< - string, - GPUSize32 + GPUSize64 >; } @@ -611,15 +615,6 @@ interface GPUPipelineLayoutDescriptor bindGroupLayouts: Iterable; } -interface GPUPresentationConfiguration - extends GPUObjectDescriptorBase { - device: GPUDevice; - format: GPUTextureFormat; - usage?: GPUTextureUsageFlags; - compositingAlphaMode?: GPUCanvasCompositingAlphaMode; - size?: GPUExtent3DStrict; -} - interface GPUPrimitiveState { topology?: GPUPrimitiveTopology; stripIndexFormat?: GPUIndexFormat; @@ -656,10 +651,9 @@ interface GPUQuerySetDescriptor type GPURenderBundleDescriptor = GPUObjectDescriptorBase; interface GPURenderBundleEncoderDescriptor - extends GPUObjectDescriptorBase { - colorFormats: Iterable; - depthStencilFormat?: GPUTextureFormat; - sampleCount?: GPUSize32; + extends GPURenderPassLayout { + depthReadOnly?: boolean; + stencilReadOnly?: boolean; } interface GPURenderPassColorAttachment { @@ -760,6 +754,13 @@ interface GPURenderPassDescriptor occlusionQuerySet?: GPUQuerySet; } +interface GPURenderPassLayout + extends GPUObjectDescriptorBase { + colorFormats: Array; + depthStencilFormat?: GPUTextureFormat; + sampleCount?: GPUSize32; +} + interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase { vertex: GPUVertexState; @@ -821,7 +822,7 @@ interface GPUStorageTextureBindingLayout { * Indicates whether texture views bound to this binding will be bound for read-only or * write-only access. */ - access: GPUStorageTextureAccess; + access?: GPUStorageTextureAccess; /** * The required {@link GPUTextureViewDescriptor#format} of texture views bound to this binding. */ @@ -889,7 +890,7 @@ interface GPUVertexAttribute { interface GPUVertexBufferLayout { arrayStride: GPUSize64; - stepMode?: GPUInputStepMode; + stepMode?: GPUVertexStepMode; attributes: Iterable; } @@ -989,9 +990,9 @@ interface GPURenderEncoderBase { * Sets the current index buffer. * @param buffer - Buffer containing index data to use for subsequent drawing commands. * @param indexFormat - Format of the index data contained in `buffer`. - * @param offset - Offset in bytes into `buffer` where the index data begins. + * @param offset - Offset in bytes into `buffer` where the index data begins. Defaults to `0`. * @param size - Size in bytes of the index data in `buffer`. - * If `0`, `buffer.size` - `offset` is used. + * Defaults to the size of the buffer minus the offset. */ setIndexBuffer( buffer: GPUBuffer, @@ -1003,9 +1004,9 @@ interface GPURenderEncoderBase { * Sets the current vertex buffer for the given slot. * @param slot - The vertex buffer slot to set the vertex buffer for. * @param buffer - Buffer containing vertex data to use for subsequent drawing commands. - * @param offset - Offset in bytes into `buffer` where the vertex data begins. + * @param offset - Offset in bytes into `buffer` where the vertex data begins. Defaults to `0`. * @param size - Size in bytes of the vertex data in `buffer`. - * If `0`, `buffer.size` - `offset` is used. + * Defaults to the size of the buffer minus the offset. */ setVertexBuffer( slot: GPUIndex32, @@ -1242,6 +1243,54 @@ declare var GPUBufferUsage: { readonly QUERY_RESOLVE: GPUFlagsConstant; }; +interface GPUCanvasContext { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: "GPUCanvasContext"; + /** + * The canvas this context was created from. + */ + readonly canvas: + | HTMLCanvasElement + | OffscreenCanvas; + /** + * Configures the context for this canvas. Destroys any textures produced with a previous + * configuration. + * @param configuration - Desired configuration for the context. + */ + configure( + configuration: GPUCanvasConfiguration + ): undefined; + /** + * Removes the context configuration. Destroys any textures produced while configured. + */ + unconfigure(): undefined; + /** + * Returns an optimal {@link GPUTextureFormat} to use with this context and devices created from + * the given adapter. + * @param adapter - Adapter the format should be queried for. + */ + getPreferredFormat( + adapter: GPUAdapter + ): GPUTextureFormat; + /** + * Get the {@link GPUTexture} that will be composited to the document by the {@link GPUCanvasContext} + * next. + * Note: Developers can expect that the same {@link GPUTexture} object will be returned by every + * call to {@link GPUCanvasContext#getCurrentTexture} made within the same frame (i.e. between + * invocations of Update the rendering) unless {@link GPUCanvasContext#configure} is called. + */ + getCurrentTexture(): GPUTexture; +} + +declare var GPUCanvasContext: { + prototype: GPUCanvasContext; + new (): never; +}; + interface GPUColorWrite { /** * Nominal type branding. @@ -1454,7 +1503,6 @@ interface GPUCompilationMessage { readonly __brand: "GPUCompilationMessage"; /** * A human-readable string containing the message generated during the shader compilation. - * */ readonly message: string; /** @@ -1465,7 +1513,6 @@ interface GPUCompilationMessage { * The line number in the shader {@link GPUShaderModuleDescriptor#code} the * {@link GPUCompilationMessage#message} corresponds to. Value is one-based, such that a lineNum of * `1` indicates the first line of the shader {@link GPUShaderModuleDescriptor#code}. - * * If the {@link GPUCompilationMessage#message} corresponds to a substring this points to * the line on which the substring begins. Must be `0` if the {@link GPUCompilationMessage#message} * does not correspond to any specific point in the shader {@link GPUShaderModuleDescriptor#code}. @@ -1842,48 +1889,6 @@ declare var GPUPipelineLayout: { new (): never; }; -interface GPUPresentationContext { - /** - * Nominal type branding. - * https://github.com/microsoft/TypeScript/pull/33038 - * @internal - */ - readonly __brand: "GPUPresentationContext"; - /** - * Configures the presentation context for this canvas. Destroys any textures produced with a - * previous configuration. - * @param configuration - Desired configuration for the presentation context. - */ - configure( - configuration: GPUPresentationConfiguration - ): undefined; - /** - * Removes the presentation context configuration. Destroys any textures produced while configured. - */ - unconfigure(): undefined; - /** - * Returns an optimal {@link GPUTextureFormat} to use with this presentation context and devices - * created from the given adapter. - * @param adapter - Adapter the format should be queried for. - */ - getPreferredFormat( - adapter: GPUAdapter - ): GPUTextureFormat; - /** - * Get the {@link GPUTexture} that will be composited to the document by the {@link GPUPresentationContext} - * next. - * Note: Developers can expect that the same {@link GPUTexture} object will be returned by every - * call to {@link GPUPresentationContext#getCurrentTexture} made within the same frame (i.e. between - * invocations of Update the rendering) unless {@link GPUPresentationContext#configure} is called. - */ - getCurrentTexture(): GPUTexture; -} - -declare var GPUPresentationContext: { - prototype: GPUPresentationContext; - new (): never; -}; - interface GPUQuerySet extends GPUObjectBase { /** @@ -1969,13 +1974,6 @@ interface GPUQueue destination: GPUImageCopyTextureTagged, copySize: GPUExtent3DStrict ): undefined; - - /** @deprecated use copyExternalImageToTexture instead */ - copyImageBitmapToTexture( - source: GPUImageCopyImageBitmap, - destination: GPUImageCopyTexture, - copySize: GPUExtent3DStrict - ): undefined; } declare var GPUQueue: { @@ -2225,9 +2223,18 @@ interface GPUSupportedLimits { readonly maxUniformBuffersPerShaderStage: number; readonly maxUniformBufferBindingSize: number; readonly maxStorageBufferBindingSize: number; + readonly minUniformBufferOffsetAlignment: number; + readonly minStorageBufferOffsetAlignment: number; readonly maxVertexBuffers: number; readonly maxVertexAttributes: number; readonly maxVertexBufferArrayStride: number; + readonly maxInterStageShaderComponents: number; + readonly maxComputeWorkgroupStorageSize: number; + readonly maxComputeInvocationsPerWorkgroup: number; + readonly maxComputeWorkgroupSizeX: number; + readonly maxComputeWorkgroupSizeY: number; + readonly maxComputeWorkgroupSizeZ: number; + readonly maxComputeWorkgroupsPerDimension: number; } declare var GPUSupportedLimits: { @@ -2269,7 +2276,11 @@ interface GPUTextureUsage { readonly __brand: "GPUTextureUsage"; readonly COPY_SRC: GPUFlagsConstant; readonly COPY_DST: GPUFlagsConstant; + readonly TEXTURE_BINDING: GPUFlagsConstant; + readonly STORAGE_BINDING: GPUFlagsConstant; + /** @deprecated Use TEXTURE_BINDING instead */ readonly SAMPLED: GPUFlagsConstant; + /** @deprecated Use STORAGE_BINDING instead */ readonly STORAGE: GPUFlagsConstant; readonly RENDER_ATTACHMENT: GPUFlagsConstant; } @@ -2278,7 +2289,11 @@ declare var GPUTextureUsage: { prototype: GPUTextureUsage; readonly COPY_SRC: GPUFlagsConstant; readonly COPY_DST: GPUFlagsConstant; + readonly TEXTURE_BINDING: GPUFlagsConstant; + readonly STORAGE_BINDING: GPUFlagsConstant; + /** @deprecated Use TEXTURE_BINDING instead */ readonly SAMPLED: GPUFlagsConstant; + /** @deprecated Use STORAGE_BINDING instead */ readonly STORAGE: GPUFlagsConstant; readonly RENDER_ATTACHMENT: GPUFlagsConstant; }; @@ -2344,63 +2359,11 @@ interface WorkerNavigator // Deprecated // ********************************************************************************************* -/** @deprecated Use GPUPresentationContext instead */ -interface GPUCanvasContext { - /** - * @deprecated - */ - configureSwapChain( - descriptor: GPUSwapChainDescriptor - ): GPUSwapChain; - /** - * @deprecated - */ - getSwapChainPreferredFormat( - adapter: GPUAdapter - ): GPUTextureFormat; - /** @deprecated */ - getSwapChainPreferredFormat( - device: GPUDevice - ): Promise; -} +/** @deprecated Use GPUVertexStepMode instead */ +type GPUInputStepMode = GPUVertexStepMode; -/** @deprecated */ -declare var GPUCanvasContext: { - prototype: GPUCanvasContext; - new (): never; -}; +/** @deprecated Use GPUCanvasContext instead */ +type GPUPresentationContext = GPUCanvasContext; /** @deprecated */ -type GPUSwapChainDescriptor = GPUPresentationConfiguration; - -/** @deprecated Use GPUPresentationContext instead */ -interface GPUSwapChain - extends GPUObjectBase { - /** - * Nominal type branding. - * https://github.com/microsoft/TypeScript/pull/33038 - * @internal - */ - readonly __brand: "GPUSwapChain"; - /** - * Get the {@link GPUTexture} that will be composited to the document by the {@link GPUCanvasContext} - * that created this swap chain next. - * Note: Developers can expect that the same {@link GPUTexture} object will be returned by every - * call to {@link GPUSwapChain#getCurrentTexture} made within the same frame (i.e. between - * invocations of Update the rendering). - */ - getCurrentTexture(): GPUTexture; -} - -declare var GPUSwapChain: { - prototype: GPUSwapChain; - new (): never; -}; - -/** @deprecated */ -interface GPUImageCopyImageBitmap { - /** @deprecated */ - imageBitmap: ImageBitmap; - /** @deprecated */ - origin?: GPUOrigin2D; -} +type GPUPresentationConfiguration = GPUCanvasConfiguration; diff --git a/generated/index.d.ts b/generated/index.d.ts index 81a42ae6..452c3cbc 100644 --- a/generated/index.d.ts +++ b/generated/index.d.ts @@ -102,9 +102,6 @@ type GPUFrontFace = type GPUIndexFormat = | "uint16" | "uint32"; -type GPUInputStepMode = - | "vertex" - | "instance"; type GPULoadOp = "load"; type GPUPipelineStatisticName = | "vertex-shader-invocations" @@ -139,9 +136,7 @@ type GPUStencilOperation = | "decrement-clamp" | "increment-wrap" | "decrement-wrap"; -type GPUStorageTextureAccess = - | "read-only" - | "write-only"; +type GPUStorageTextureAccess = "write-only"; type GPUStoreOp = | "store" | "discard"; @@ -255,6 +250,9 @@ type GPUVertexFormat = | "sint32x2" | "sint32x3" | "sint32x4"; +type GPUVertexStepMode = + | "vertex" + | "instance"; interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase { @@ -351,6 +349,15 @@ interface GPUBufferDescriptor mappedAtCreation?: boolean; } +interface GPUCanvasConfiguration { + device: GPUDevice; + format: GPUTextureFormat; + usage?: GPUTextureUsageFlags; + colorSpace?: GPUPredefinedColorSpace; + compositingAlphaMode?: GPUCanvasCompositingAlphaMode; + size?: GPUExtent3D; +} + interface GPUColorDict { r: number; g: number; @@ -409,14 +416,14 @@ interface GPUDeviceDescriptor * Each key must be the name of a member of supported limits. * Exactly the specified limits, and no limit/better or worse, * will be allowed in validation of API calls on the resulting device. - * + * */ requiredLimits?: Record< string, - GPUSize32 + GPUSize64 >; } @@ -554,15 +561,6 @@ interface GPUPipelineLayoutDescriptor bindGroupLayouts: Array; } -interface GPUPresentationConfiguration - extends GPUObjectDescriptorBase { - device: GPUDevice; - format: GPUTextureFormat; - usage?: GPUTextureUsageFlags; - compositingAlphaMode?: GPUCanvasCompositingAlphaMode; - size?: GPUExtent3D; -} - interface GPUPrimitiveState { topology?: GPUPrimitiveTopology; stripIndexFormat?: GPUIndexFormat; @@ -599,10 +597,9 @@ interface GPUQuerySetDescriptor type GPURenderBundleDescriptor = GPUObjectDescriptorBase; interface GPURenderBundleEncoderDescriptor - extends GPUObjectDescriptorBase { - colorFormats: Array; - depthStencilFormat?: GPUTextureFormat; - sampleCount?: GPUSize32; + extends GPURenderPassLayout { + depthReadOnly?: boolean; + stencilReadOnly?: boolean; } interface GPURenderPassColorAttachment { @@ -703,6 +700,13 @@ interface GPURenderPassDescriptor occlusionQuerySet?: GPUQuerySet; } +interface GPURenderPassLayout + extends GPUObjectDescriptorBase { + colorFormats: Array; + depthStencilFormat?: GPUTextureFormat; + sampleCount?: GPUSize32; +} + interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase { vertex: GPUVertexState; @@ -756,7 +760,7 @@ interface GPUStorageTextureBindingLayout { * Indicates whether texture views bound to this binding will be bound for read-only or * write-only access. */ - access: GPUStorageTextureAccess; + access?: GPUStorageTextureAccess; /** * The required {@link GPUTextureViewDescriptor#format} of texture views bound to this binding. */ @@ -824,7 +828,7 @@ interface GPUVertexAttribute { interface GPUVertexBufferLayout { arrayStride: GPUSize64; - stepMode?: GPUInputStepMode; + stepMode?: GPUVertexStepMode; attributes: Array; } @@ -924,9 +928,9 @@ interface GPURenderEncoderBase { * Sets the current index buffer. * @param buffer - Buffer containing index data to use for subsequent drawing commands. * @param indexFormat - Format of the index data contained in `buffer`. - * @param offset - Offset in bytes into `buffer` where the index data begins. + * @param offset - Offset in bytes into `buffer` where the index data begins. Defaults to `0`. * @param size - Size in bytes of the index data in `buffer`. - * If `0`, `buffer.size` - `offset` is used. + * Defaults to the size of the buffer minus the offset. */ setIndexBuffer( buffer: GPUBuffer, @@ -938,9 +942,9 @@ interface GPURenderEncoderBase { * Sets the current vertex buffer for the given slot. * @param slot - The vertex buffer slot to set the vertex buffer for. * @param buffer - Buffer containing vertex data to use for subsequent drawing commands. - * @param offset - Offset in bytes into `buffer` where the vertex data begins. + * @param offset - Offset in bytes into `buffer` where the vertex data begins. Defaults to `0`. * @param size - Size in bytes of the vertex data in `buffer`. - * If `0`, `buffer.size` - `offset` is used. + * Defaults to the size of the buffer minus the offset. */ setVertexBuffer( slot: GPUIndex32, @@ -962,15 +966,6 @@ interface GPURenderEncoderBase { firstVertex?: GPUSize32, firstInstance?: GPUSize32 ): undefined; - /** - * Draws indexed primitives. - * See [[#rendering-operations]] for the detailed specification. - * @param indexCount - The number of indices to draw. - * @param instanceCount - The number of instances to draw. - * @param firstIndex - Offset into the index buffer, in indices, begin drawing from. - * @param baseVertex - Added to each index value before indexing into the vertex buffers. - * @param firstInstance - First instance to draw. - */ drawIndexed( indexCount: GPUSize32, instanceCount?: GPUSize32, @@ -978,26 +973,10 @@ interface GPURenderEncoderBase { baseVertex?: GPUSignedOffset32, firstInstance?: GPUSize32 ): undefined; - /** - * Draws primitives using parameters read from a {@link GPUBuffer}. - * See [[#rendering-operations]] for the detailed specification. - * packed block of **four 32-bit unsigned integer values (16 bytes total)**, given in the same - * order as the arguments for {@link GPURenderEncoderBase#draw}. For example: - * @param indirectBuffer - Buffer containing the indirect draw parameters. - * @param indirectOffset - Offset in bytes into `indirectBuffer` where the drawing data begins. - */ drawIndirect( indirectBuffer: GPUBuffer, indirectOffset: GPUSize64 ): undefined; - /** - * Draws indexed primitives using parameters read from a {@link GPUBuffer}. - * See [[#rendering-operations]] for the detailed specification. - * tightly packed block of **five 32-bit unsigned integer values (20 bytes total)**, given in - * the same order as the arguments for {@link GPURenderEncoderBase#drawIndexed}. For example: - * @param indirectBuffer - Buffer containing the indirect drawIndexed parameters. - * @param indirectOffset - Offset in bytes into `indirectBuffer` where the drawing data begins. - */ drawIndexedIndirect( indirectBuffer: GPUBuffer, indirectOffset: GPUSize64 @@ -1172,6 +1151,53 @@ declare var GPUBufferUsage: { readonly QUERY_RESOLVE: GPUFlagsConstant; }; +interface GPUCanvasContext { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: "GPUCanvasContext"; + /** + * The canvas this context was created from. + */ + readonly canvas: + | HTMLCanvasElement + | OffscreenCanvas; + /** + * Configures the context for this canvas. Destroys any textures produced with a previous + * configuration. + * @param configuration - Desired configuration for the context. + */ + configure( + configuration: GPUCanvasConfiguration + ): undefined; + /** + * Removes the context configuration. Destroys any textures produced while configured. + */ + unconfigure(): undefined; + /** + * Returns an optimal {@link GPUTextureFormat} to use with this context and devices created from + * the given adapter. + * @param adapter - Adapter the format should be queried for. + */ + getPreferredFormat( + adapter: GPUAdapter + ): GPUTextureFormat; + /** + * Get the {@link GPUTexture} that will be composited to the document by the {@link GPUCanvasContext} + * next. + * Note: Developers can expect that the same {@link GPUTexture} object will be returned by every + * call to {@link GPUCanvasContext#getCurrentTexture} made within the same frame (i.e. between + * invocations of Update the rendering) unless {@link GPUCanvasContext#configure} is called. + */ + getCurrentTexture(): GPUTexture; +} + +declare var GPUCanvasContext: { + prototype: GPUCanvasContext; +}; + interface GPUColorWrite { /** * Nominal type branding. @@ -1381,7 +1407,6 @@ interface GPUCompilationMessage { readonly __brand: "GPUCompilationMessage"; /** * A human-readable string containing the message generated during the shader compilation. - * */ readonly message: string; /** @@ -1392,7 +1417,6 @@ interface GPUCompilationMessage { * The line number in the shader {@link GPUShaderModuleDescriptor#code} the * {@link GPUCompilationMessage#message} corresponds to. Value is one-based, such that a lineNum of * `1` indicates the first line of the shader {@link GPUShaderModuleDescriptor#code}. - * * If the {@link GPUCompilationMessage#message} corresponds to a substring this points to * the line on which the substring begins. Must be `0` if the {@link GPUCompilationMessage#message} * does not correspond to any specific point in the shader {@link GPUShaderModuleDescriptor#code}. @@ -1756,47 +1780,6 @@ declare var GPUPipelineLayout: { prototype: GPUPipelineLayout; }; -interface GPUPresentationContext { - /** - * Nominal type branding. - * https://github.com/microsoft/TypeScript/pull/33038 - * @internal - */ - readonly __brand: "GPUPresentationContext"; - /** - * Configures the presentation context for this canvas. Destroys any textures produced with a - * previous configuration. - * @param configuration - Desired configuration for the presentation context. - */ - configure( - configuration: GPUPresentationConfiguration - ): undefined; - /** - * Removes the presentation context configuration. Destroys any textures produced while configured. - */ - unconfigure(): undefined; - /** - * Returns an optimal {@link GPUTextureFormat} to use with this presentation context and devices - * created from the given adapter. - * @param adapter - Adapter the format should be queried for. - */ - getPreferredFormat( - adapter: GPUAdapter - ): GPUTextureFormat; - /** - * Get the {@link GPUTexture} that will be composited to the document by the {@link GPUPresentationContext} - * next. - * Note: Developers can expect that the same {@link GPUTexture} object will be returned by every - * call to {@link GPUPresentationContext#getCurrentTexture} made within the same frame (i.e. between - * invocations of Update the rendering) unless {@link GPUPresentationContext#configure} is called. - */ - getCurrentTexture(): GPUTexture; -} - -declare var GPUPresentationContext: { - prototype: GPUPresentationContext; -}; - interface GPUQuerySet extends GPUObjectBase { /** @@ -2119,9 +2102,18 @@ interface GPUSupportedLimits { readonly maxUniformBuffersPerShaderStage: number; readonly maxUniformBufferBindingSize: number; readonly maxStorageBufferBindingSize: number; + readonly minUniformBufferOffsetAlignment: number; + readonly minStorageBufferOffsetAlignment: number; readonly maxVertexBuffers: number; readonly maxVertexAttributes: number; readonly maxVertexBufferArrayStride: number; + readonly maxInterStageShaderComponents: number; + readonly maxComputeWorkgroupStorageSize: number; + readonly maxComputeInvocationsPerWorkgroup: number; + readonly maxComputeWorkgroupSizeX: number; + readonly maxComputeWorkgroupSizeY: number; + readonly maxComputeWorkgroupSizeZ: number; + readonly maxComputeWorkgroupsPerDimension: number; } declare var GPUSupportedLimits: { @@ -2162,8 +2154,8 @@ interface GPUTextureUsage { readonly __brand: "GPUTextureUsage"; readonly COPY_SRC: GPUFlagsConstant; readonly COPY_DST: GPUFlagsConstant; - readonly SAMPLED: GPUFlagsConstant; - readonly STORAGE: GPUFlagsConstant; + readonly TEXTURE_BINDING: GPUFlagsConstant; + readonly STORAGE_BINDING: GPUFlagsConstant; readonly RENDER_ATTACHMENT: GPUFlagsConstant; } @@ -2171,8 +2163,8 @@ declare var GPUTextureUsage: { prototype: GPUTextureUsage; readonly COPY_SRC: GPUFlagsConstant; readonly COPY_DST: GPUFlagsConstant; - readonly SAMPLED: GPUFlagsConstant; - readonly STORAGE: GPUFlagsConstant; + readonly TEXTURE_BINDING: GPUFlagsConstant; + readonly STORAGE_BINDING: GPUFlagsConstant; readonly RENDER_ATTACHMENT: GPUFlagsConstant; }; diff --git a/gpuweb b/gpuweb index eee1e8ce..ef3fbc5b 160000 --- a/gpuweb +++ b/gpuweb @@ -1 +1 @@ -Subproject commit eee1e8ce581d7358af55bd4242ac2a123ceb3684 +Subproject commit ef3fbc5b48abd3e1feaafa920df47ce6d6dc34ac