@types/sharedworker 0.0.218 → 0.0.219

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,4 +28,4 @@ This project does not respect semantic versioning as almost every change could p
28
28
 
29
29
  ## Deploy Metadata
30
30
 
31
- You can read what changed in version 0.0.218 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fsharedworker%400.0.218.
31
+ You can read what changed in version 0.0.219 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fsharedworker%400.0.219.
package/index.d.ts CHANGED
@@ -229,6 +229,17 @@ interface GPUBindGroupEntry {
229
229
  resource: GPUBindingResource;
230
230
  }
231
231
 
232
+ interface GPUBlendComponent {
233
+ dstFactor?: GPUBlendFactor;
234
+ operation?: GPUBlendOperation;
235
+ srcFactor?: GPUBlendFactor;
236
+ }
237
+
238
+ interface GPUBlendState {
239
+ alpha: GPUBlendComponent;
240
+ color: GPUBlendComponent;
241
+ }
242
+
232
243
  interface GPUBufferBinding {
233
244
  buffer: GPUBuffer;
234
245
  offset?: GPUSize64;
@@ -262,6 +273,12 @@ interface GPUColorDict {
262
273
  r: number;
263
274
  }
264
275
 
276
+ interface GPUColorTargetState {
277
+ blend?: GPUBlendState;
278
+ format: GPUTextureFormat;
279
+ writeMask?: GPUColorWriteFlags;
280
+ }
281
+
265
282
  interface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {
266
283
  }
267
284
 
@@ -293,6 +310,19 @@ interface GPUCopyExternalImageSourceInfo {
293
310
  source: GPUCopyExternalImageSource;
294
311
  }
295
312
 
313
+ interface GPUDepthStencilState {
314
+ depthBias?: GPUDepthBias;
315
+ depthBiasClamp?: number;
316
+ depthBiasSlopeScale?: number;
317
+ depthCompare?: GPUCompareFunction;
318
+ depthWriteEnabled?: boolean;
319
+ format: GPUTextureFormat;
320
+ stencilBack?: GPUStencilFaceState;
321
+ stencilFront?: GPUStencilFaceState;
322
+ stencilReadMask?: GPUStencilValue;
323
+ stencilWriteMask?: GPUStencilValue;
324
+ }
325
+
296
326
  interface GPUExtent3DDict {
297
327
  depthOrArrayLayers?: GPUIntegerCoordinate;
298
328
  height?: GPUIntegerCoordinate;
@@ -303,6 +333,16 @@ interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
303
333
  colorSpace?: PredefinedColorSpace;
304
334
  }
305
335
 
336
+ interface GPUFragmentState extends GPUProgrammableStage {
337
+ targets: (GPUColorTargetState | null)[];
338
+ }
339
+
340
+ interface GPUMultisampleState {
341
+ alphaToCoverageEnabled?: boolean;
342
+ count?: GPUSize32;
343
+ mask?: GPUSampleMask;
344
+ }
345
+
306
346
  interface GPUObjectDescriptorBase {
307
347
  label?: string;
308
348
  }
@@ -330,6 +370,14 @@ interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {
330
370
  bindGroupLayouts: (GPUBindGroupLayout | null)[];
331
371
  }
332
372
 
373
+ interface GPUPrimitiveState {
374
+ cullMode?: GPUCullMode;
375
+ frontFace?: GPUFrontFace;
376
+ stripIndexFormat?: GPUIndexFormat;
377
+ topology?: GPUPrimitiveTopology;
378
+ unclippedDepth?: boolean;
379
+ }
380
+
333
381
  interface GPUProgrammableStage {
334
382
  constants?: Record<string, GPUPipelineConstantValue>;
335
383
  entryPoint?: string;
@@ -390,6 +438,14 @@ interface GPURenderPassTimestampWrites {
390
438
  querySet: GPUQuerySet;
391
439
  }
392
440
 
441
+ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
442
+ depthStencil?: GPUDepthStencilState;
443
+ fragment?: GPUFragmentState;
444
+ multisample?: GPUMultisampleState;
445
+ primitive?: GPUPrimitiveState;
446
+ vertex: GPUVertexState;
447
+ }
448
+
393
449
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
394
450
  addressModeU?: GPUAddressMode;
395
451
  addressModeV?: GPUAddressMode;
@@ -407,6 +463,13 @@ interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {
407
463
  code: string;
408
464
  }
409
465
 
466
+ interface GPUStencilFaceState {
467
+ compare?: GPUCompareFunction;
468
+ depthFailOp?: GPUStencilOperation;
469
+ failOp?: GPUStencilOperation;
470
+ passOp?: GPUStencilOperation;
471
+ }
472
+
410
473
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
411
474
  buffer: GPUBuffer;
412
475
  }
@@ -449,6 +512,22 @@ interface GPUUncapturedErrorEventInit extends EventInit {
449
512
  error: GPUError;
450
513
  }
451
514
 
515
+ interface GPUVertexAttribute {
516
+ format: GPUVertexFormat;
517
+ offset: GPUSize64;
518
+ shaderLocation: GPUIndex32;
519
+ }
520
+
521
+ interface GPUVertexBufferLayout {
522
+ arrayStride: GPUSize64;
523
+ attributes: GPUVertexAttribute[];
524
+ stepMode?: GPUVertexStepMode;
525
+ }
526
+
527
+ interface GPUVertexState extends GPUProgrammableStage {
528
+ buffers?: (GPUVertexBufferLayout | null)[];
529
+ }
530
+
452
531
  interface GetNotificationOptions {
453
532
  tag?: string;
454
533
  }
@@ -4585,6 +4664,18 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
4585
4664
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderBundleEncoder)
4586
4665
  */
4587
4666
  createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor): GPURenderBundleEncoder;
4667
+ /**
4668
+ * The **`createRenderPipeline()`** method of the GPUDevice interface creates a GPURenderPipeline that can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder.
4669
+ *
4670
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderPipeline)
4671
+ */
4672
+ createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline;
4673
+ /**
4674
+ * The **`createRenderPipelineAsync()`** method of the GPUDevice interface returns a Promise that fulfills with a GPURenderPipeline, which can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder, once the pipeline can be used without any stalling.
4675
+ *
4676
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderPipelineAsync)
4677
+ */
4678
+ createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor): Promise<GPURenderPipeline>;
4588
4679
  /**
4589
4680
  * The **`createSampler()`** method of the GPUDevice interface creates a GPUSampler, which controls how shaders transform and filter texture resource data.
4590
4681
  *
@@ -12788,7 +12879,9 @@ type GPUBindingResource = GPUSampler | GPUTexture | GPUTextureView | GPUBuffer |
12788
12879
  type GPUBufferDynamicOffset = number;
12789
12880
  type GPUBufferUsageFlags = number;
12790
12881
  type GPUColor = number[] | GPUColorDict;
12882
+ type GPUColorWriteFlags = number;
12791
12883
  type GPUCopyExternalImageSource = ImageBitmap | ImageData | OffscreenCanvas;
12884
+ type GPUDepthBias = number;
12792
12885
  type GPUExtent3D = GPUIntegerCoordinate[] | GPUExtent3DDict;
12793
12886
  type GPUFlagsConstant = number;
12794
12887
  type GPUIndex32 = number;
@@ -12798,6 +12891,7 @@ type GPUMapModeFlags = number;
12798
12891
  type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
12799
12892
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
12800
12893
  type GPUPipelineConstantValue = number;
12894
+ type GPUSampleMask = number;
12801
12895
  type GPUSignedOffset32 = number;
12802
12896
  type GPUSize32 = number;
12803
12897
  type GPUSize32Out = number;
@@ -12851,24 +12945,32 @@ type FontFaceLoadStatus = "error" | "loaded" | "loading" | "unloaded";
12851
12945
  type FontFaceSetLoadStatus = "loaded" | "loading";
12852
12946
  type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
12853
12947
  type GPUAutoLayoutMode = "auto";
12948
+ type GPUBlendFactor = "constant" | "dst" | "dst-alpha" | "one" | "one-minus-constant" | "one-minus-dst" | "one-minus-dst-alpha" | "one-minus-src" | "one-minus-src-alpha" | "src" | "src-alpha" | "src-alpha-saturated" | "zero";
12949
+ type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
12854
12950
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
12855
12951
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
12856
12952
  type GPUCanvasToneMappingMode = "extended" | "standard";
12857
12953
  type GPUCompareFunction = "always" | "equal" | "greater" | "greater-equal" | "less" | "less-equal" | "never" | "not-equal";
12858
12954
  type GPUCompilationMessageType = "error" | "info" | "warning";
12955
+ type GPUCullMode = "back" | "front" | "none";
12859
12956
  type GPUDeviceLostReason = "destroyed" | "unknown";
12860
12957
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
12861
12958
  type GPUFilterMode = "linear" | "nearest";
12959
+ type GPUFrontFace = "ccw" | "cw";
12862
12960
  type GPUIndexFormat = "uint16" | "uint32";
12863
12961
  type GPULoadOp = "clear" | "load";
12864
12962
  type GPUMipmapFilterMode = "linear" | "nearest";
12865
12963
  type GPUPipelineErrorReason = "internal" | "validation";
12964
+ type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
12866
12965
  type GPUQueryType = "occlusion" | "timestamp";
12966
+ type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
12867
12967
  type GPUStoreOp = "discard" | "store";
12868
12968
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
12869
12969
  type GPUTextureDimension = "1d" | "2d" | "3d";
12870
12970
  type GPUTextureFormat = "astc-10x10-unorm" | "astc-10x10-unorm-srgb" | "astc-10x5-unorm" | "astc-10x5-unorm-srgb" | "astc-10x6-unorm" | "astc-10x6-unorm-srgb" | "astc-10x8-unorm" | "astc-10x8-unorm-srgb" | "astc-12x10-unorm" | "astc-12x10-unorm-srgb" | "astc-12x12-unorm" | "astc-12x12-unorm-srgb" | "astc-4x4-unorm" | "astc-4x4-unorm-srgb" | "astc-5x4-unorm" | "astc-5x4-unorm-srgb" | "astc-5x5-unorm" | "astc-5x5-unorm-srgb" | "astc-6x5-unorm" | "astc-6x5-unorm-srgb" | "astc-6x6-unorm" | "astc-6x6-unorm-srgb" | "astc-8x5-unorm" | "astc-8x5-unorm-srgb" | "astc-8x6-unorm" | "astc-8x6-unorm-srgb" | "astc-8x8-unorm" | "astc-8x8-unorm-srgb" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-snorm" | "bc4-r-unorm" | "bc5-rg-snorm" | "bc5-rg-unorm" | "bc6h-rgb-float" | "bc6h-rgb-ufloat" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "bgra8unorm" | "bgra8unorm-srgb" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "depth32float-stencil8" | "eac-r11snorm" | "eac-r11unorm" | "eac-rg11snorm" | "eac-rg11unorm" | "etc2-rgb8a1unorm" | "etc2-rgb8a1unorm-srgb" | "etc2-rgb8unorm" | "etc2-rgb8unorm-srgb" | "etc2-rgba8unorm" | "etc2-rgba8unorm-srgb" | "r16float" | "r16sint" | "r16snorm" | "r16uint" | "r16unorm" | "r32float" | "r32sint" | "r32uint" | "r8sint" | "r8snorm" | "r8uint" | "r8unorm" | "rg11b10ufloat" | "rg16float" | "rg16sint" | "rg16snorm" | "rg16uint" | "rg16unorm" | "rg32float" | "rg32sint" | "rg32uint" | "rg8sint" | "rg8snorm" | "rg8uint" | "rg8unorm" | "rgb10a2uint" | "rgb10a2unorm" | "rgb9e5ufloat" | "rgba16float" | "rgba16sint" | "rgba16snorm" | "rgba16uint" | "rgba16unorm" | "rgba32float" | "rgba32sint" | "rgba32uint" | "rgba8sint" | "rgba8snorm" | "rgba8uint" | "rgba8unorm" | "rgba8unorm-srgb" | "stencil8";
12871
12971
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
12972
+ type GPUVertexFormat = "float16" | "float16x2" | "float16x4" | "float32" | "float32x2" | "float32x3" | "float32x4" | "sint16" | "sint16x2" | "sint16x4" | "sint32" | "sint32x2" | "sint32x3" | "sint32x4" | "sint8" | "sint8x2" | "sint8x4" | "snorm16" | "snorm16x2" | "snorm16x4" | "snorm8" | "snorm8x2" | "snorm8x4" | "uint16" | "uint16x2" | "uint16x4" | "uint32" | "uint32x2" | "uint32x3" | "uint32x4" | "uint8" | "uint8x2" | "uint8x4" | "unorm10-10-10-2" | "unorm16" | "unorm16x2" | "unorm16x4" | "unorm8" | "unorm8x2" | "unorm8x4" | "unorm8x4-bgra";
12973
+ type GPUVertexStepMode = "instance" | "vertex";
12872
12974
  type GlobalCompositeOperation = "color" | "color-burn" | "color-dodge" | "copy" | "darken" | "destination-atop" | "destination-in" | "destination-out" | "destination-over" | "difference" | "exclusion" | "hard-light" | "hue" | "lighten" | "lighter" | "luminosity" | "multiply" | "overlay" | "saturation" | "screen" | "soft-light" | "source-atop" | "source-in" | "source-out" | "source-over" | "xor";
12873
12975
  type HdrMetadataType = "smpteSt2086" | "smpteSt2094-10" | "smpteSt2094-40";
12874
12976
  type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/sharedworker",
3
- "version": "0.0.218",
3
+ "version": "0.0.219",
4
4
  "description": "Types for the global scope of Shared Workers",
5
5
  "license": "Apache-2.0",
6
6
  "contributors": [],
package/ts5.5/index.d.ts CHANGED
@@ -226,6 +226,17 @@ interface GPUBindGroupEntry {
226
226
  resource: GPUBindingResource;
227
227
  }
228
228
 
229
+ interface GPUBlendComponent {
230
+ dstFactor?: GPUBlendFactor;
231
+ operation?: GPUBlendOperation;
232
+ srcFactor?: GPUBlendFactor;
233
+ }
234
+
235
+ interface GPUBlendState {
236
+ alpha: GPUBlendComponent;
237
+ color: GPUBlendComponent;
238
+ }
239
+
229
240
  interface GPUBufferBinding {
230
241
  buffer: GPUBuffer;
231
242
  offset?: GPUSize64;
@@ -259,6 +270,12 @@ interface GPUColorDict {
259
270
  r: number;
260
271
  }
261
272
 
273
+ interface GPUColorTargetState {
274
+ blend?: GPUBlendState;
275
+ format: GPUTextureFormat;
276
+ writeMask?: GPUColorWriteFlags;
277
+ }
278
+
262
279
  interface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {
263
280
  }
264
281
 
@@ -290,6 +307,19 @@ interface GPUCopyExternalImageSourceInfo {
290
307
  source: GPUCopyExternalImageSource;
291
308
  }
292
309
 
310
+ interface GPUDepthStencilState {
311
+ depthBias?: GPUDepthBias;
312
+ depthBiasClamp?: number;
313
+ depthBiasSlopeScale?: number;
314
+ depthCompare?: GPUCompareFunction;
315
+ depthWriteEnabled?: boolean;
316
+ format: GPUTextureFormat;
317
+ stencilBack?: GPUStencilFaceState;
318
+ stencilFront?: GPUStencilFaceState;
319
+ stencilReadMask?: GPUStencilValue;
320
+ stencilWriteMask?: GPUStencilValue;
321
+ }
322
+
293
323
  interface GPUExtent3DDict {
294
324
  depthOrArrayLayers?: GPUIntegerCoordinate;
295
325
  height?: GPUIntegerCoordinate;
@@ -300,6 +330,16 @@ interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
300
330
  colorSpace?: PredefinedColorSpace;
301
331
  }
302
332
 
333
+ interface GPUFragmentState extends GPUProgrammableStage {
334
+ targets: (GPUColorTargetState | null)[];
335
+ }
336
+
337
+ interface GPUMultisampleState {
338
+ alphaToCoverageEnabled?: boolean;
339
+ count?: GPUSize32;
340
+ mask?: GPUSampleMask;
341
+ }
342
+
303
343
  interface GPUObjectDescriptorBase {
304
344
  label?: string;
305
345
  }
@@ -327,6 +367,14 @@ interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {
327
367
  bindGroupLayouts: (GPUBindGroupLayout | null)[];
328
368
  }
329
369
 
370
+ interface GPUPrimitiveState {
371
+ cullMode?: GPUCullMode;
372
+ frontFace?: GPUFrontFace;
373
+ stripIndexFormat?: GPUIndexFormat;
374
+ topology?: GPUPrimitiveTopology;
375
+ unclippedDepth?: boolean;
376
+ }
377
+
330
378
  interface GPUProgrammableStage {
331
379
  constants?: Record<string, GPUPipelineConstantValue>;
332
380
  entryPoint?: string;
@@ -387,6 +435,14 @@ interface GPURenderPassTimestampWrites {
387
435
  querySet: GPUQuerySet;
388
436
  }
389
437
 
438
+ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
439
+ depthStencil?: GPUDepthStencilState;
440
+ fragment?: GPUFragmentState;
441
+ multisample?: GPUMultisampleState;
442
+ primitive?: GPUPrimitiveState;
443
+ vertex: GPUVertexState;
444
+ }
445
+
390
446
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
391
447
  addressModeU?: GPUAddressMode;
392
448
  addressModeV?: GPUAddressMode;
@@ -404,6 +460,13 @@ interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {
404
460
  code: string;
405
461
  }
406
462
 
463
+ interface GPUStencilFaceState {
464
+ compare?: GPUCompareFunction;
465
+ depthFailOp?: GPUStencilOperation;
466
+ failOp?: GPUStencilOperation;
467
+ passOp?: GPUStencilOperation;
468
+ }
469
+
407
470
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
408
471
  buffer: GPUBuffer;
409
472
  }
@@ -446,6 +509,22 @@ interface GPUUncapturedErrorEventInit extends EventInit {
446
509
  error: GPUError;
447
510
  }
448
511
 
512
+ interface GPUVertexAttribute {
513
+ format: GPUVertexFormat;
514
+ offset: GPUSize64;
515
+ shaderLocation: GPUIndex32;
516
+ }
517
+
518
+ interface GPUVertexBufferLayout {
519
+ arrayStride: GPUSize64;
520
+ attributes: GPUVertexAttribute[];
521
+ stepMode?: GPUVertexStepMode;
522
+ }
523
+
524
+ interface GPUVertexState extends GPUProgrammableStage {
525
+ buffers?: (GPUVertexBufferLayout | null)[];
526
+ }
527
+
449
528
  interface GetNotificationOptions {
450
529
  tag?: string;
451
530
  }
@@ -4582,6 +4661,18 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
4582
4661
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderBundleEncoder)
4583
4662
  */
4584
4663
  createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor): GPURenderBundleEncoder;
4664
+ /**
4665
+ * The **`createRenderPipeline()`** method of the GPUDevice interface creates a GPURenderPipeline that can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder.
4666
+ *
4667
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderPipeline)
4668
+ */
4669
+ createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline;
4670
+ /**
4671
+ * The **`createRenderPipelineAsync()`** method of the GPUDevice interface returns a Promise that fulfills with a GPURenderPipeline, which can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder, once the pipeline can be used without any stalling.
4672
+ *
4673
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderPipelineAsync)
4674
+ */
4675
+ createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor): Promise<GPURenderPipeline>;
4585
4676
  /**
4586
4677
  * The **`createSampler()`** method of the GPUDevice interface creates a GPUSampler, which controls how shaders transform and filter texture resource data.
4587
4678
  *
@@ -12785,7 +12876,9 @@ type GPUBindingResource = GPUSampler | GPUTexture | GPUTextureView | GPUBuffer |
12785
12876
  type GPUBufferDynamicOffset = number;
12786
12877
  type GPUBufferUsageFlags = number;
12787
12878
  type GPUColor = number[] | GPUColorDict;
12879
+ type GPUColorWriteFlags = number;
12788
12880
  type GPUCopyExternalImageSource = ImageBitmap | ImageData | OffscreenCanvas;
12881
+ type GPUDepthBias = number;
12789
12882
  type GPUExtent3D = GPUIntegerCoordinate[] | GPUExtent3DDict;
12790
12883
  type GPUFlagsConstant = number;
12791
12884
  type GPUIndex32 = number;
@@ -12795,6 +12888,7 @@ type GPUMapModeFlags = number;
12795
12888
  type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
12796
12889
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
12797
12890
  type GPUPipelineConstantValue = number;
12891
+ type GPUSampleMask = number;
12798
12892
  type GPUSignedOffset32 = number;
12799
12893
  type GPUSize32 = number;
12800
12894
  type GPUSize32Out = number;
@@ -12848,24 +12942,32 @@ type FontFaceLoadStatus = "error" | "loaded" | "loading" | "unloaded";
12848
12942
  type FontFaceSetLoadStatus = "loaded" | "loading";
12849
12943
  type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
12850
12944
  type GPUAutoLayoutMode = "auto";
12945
+ type GPUBlendFactor = "constant" | "dst" | "dst-alpha" | "one" | "one-minus-constant" | "one-minus-dst" | "one-minus-dst-alpha" | "one-minus-src" | "one-minus-src-alpha" | "src" | "src-alpha" | "src-alpha-saturated" | "zero";
12946
+ type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
12851
12947
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
12852
12948
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
12853
12949
  type GPUCanvasToneMappingMode = "extended" | "standard";
12854
12950
  type GPUCompareFunction = "always" | "equal" | "greater" | "greater-equal" | "less" | "less-equal" | "never" | "not-equal";
12855
12951
  type GPUCompilationMessageType = "error" | "info" | "warning";
12952
+ type GPUCullMode = "back" | "front" | "none";
12856
12953
  type GPUDeviceLostReason = "destroyed" | "unknown";
12857
12954
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
12858
12955
  type GPUFilterMode = "linear" | "nearest";
12956
+ type GPUFrontFace = "ccw" | "cw";
12859
12957
  type GPUIndexFormat = "uint16" | "uint32";
12860
12958
  type GPULoadOp = "clear" | "load";
12861
12959
  type GPUMipmapFilterMode = "linear" | "nearest";
12862
12960
  type GPUPipelineErrorReason = "internal" | "validation";
12961
+ type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
12863
12962
  type GPUQueryType = "occlusion" | "timestamp";
12963
+ type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
12864
12964
  type GPUStoreOp = "discard" | "store";
12865
12965
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
12866
12966
  type GPUTextureDimension = "1d" | "2d" | "3d";
12867
12967
  type GPUTextureFormat = "astc-10x10-unorm" | "astc-10x10-unorm-srgb" | "astc-10x5-unorm" | "astc-10x5-unorm-srgb" | "astc-10x6-unorm" | "astc-10x6-unorm-srgb" | "astc-10x8-unorm" | "astc-10x8-unorm-srgb" | "astc-12x10-unorm" | "astc-12x10-unorm-srgb" | "astc-12x12-unorm" | "astc-12x12-unorm-srgb" | "astc-4x4-unorm" | "astc-4x4-unorm-srgb" | "astc-5x4-unorm" | "astc-5x4-unorm-srgb" | "astc-5x5-unorm" | "astc-5x5-unorm-srgb" | "astc-6x5-unorm" | "astc-6x5-unorm-srgb" | "astc-6x6-unorm" | "astc-6x6-unorm-srgb" | "astc-8x5-unorm" | "astc-8x5-unorm-srgb" | "astc-8x6-unorm" | "astc-8x6-unorm-srgb" | "astc-8x8-unorm" | "astc-8x8-unorm-srgb" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-snorm" | "bc4-r-unorm" | "bc5-rg-snorm" | "bc5-rg-unorm" | "bc6h-rgb-float" | "bc6h-rgb-ufloat" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "bgra8unorm" | "bgra8unorm-srgb" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "depth32float-stencil8" | "eac-r11snorm" | "eac-r11unorm" | "eac-rg11snorm" | "eac-rg11unorm" | "etc2-rgb8a1unorm" | "etc2-rgb8a1unorm-srgb" | "etc2-rgb8unorm" | "etc2-rgb8unorm-srgb" | "etc2-rgba8unorm" | "etc2-rgba8unorm-srgb" | "r16float" | "r16sint" | "r16snorm" | "r16uint" | "r16unorm" | "r32float" | "r32sint" | "r32uint" | "r8sint" | "r8snorm" | "r8uint" | "r8unorm" | "rg11b10ufloat" | "rg16float" | "rg16sint" | "rg16snorm" | "rg16uint" | "rg16unorm" | "rg32float" | "rg32sint" | "rg32uint" | "rg8sint" | "rg8snorm" | "rg8uint" | "rg8unorm" | "rgb10a2uint" | "rgb10a2unorm" | "rgb9e5ufloat" | "rgba16float" | "rgba16sint" | "rgba16snorm" | "rgba16uint" | "rgba16unorm" | "rgba32float" | "rgba32sint" | "rgba32uint" | "rgba8sint" | "rgba8snorm" | "rgba8uint" | "rgba8unorm" | "rgba8unorm-srgb" | "stencil8";
12868
12968
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
12969
+ type GPUVertexFormat = "float16" | "float16x2" | "float16x4" | "float32" | "float32x2" | "float32x3" | "float32x4" | "sint16" | "sint16x2" | "sint16x4" | "sint32" | "sint32x2" | "sint32x3" | "sint32x4" | "sint8" | "sint8x2" | "sint8x4" | "snorm16" | "snorm16x2" | "snorm16x4" | "snorm8" | "snorm8x2" | "snorm8x4" | "uint16" | "uint16x2" | "uint16x4" | "uint32" | "uint32x2" | "uint32x3" | "uint32x4" | "uint8" | "uint8x2" | "uint8x4" | "unorm10-10-10-2" | "unorm16" | "unorm16x2" | "unorm16x4" | "unorm8" | "unorm8x2" | "unorm8x4" | "unorm8x4-bgra";
12970
+ type GPUVertexStepMode = "instance" | "vertex";
12869
12971
  type GlobalCompositeOperation = "color" | "color-burn" | "color-dodge" | "copy" | "darken" | "destination-atop" | "destination-in" | "destination-out" | "destination-over" | "difference" | "exclusion" | "hard-light" | "hue" | "lighten" | "lighter" | "luminosity" | "multiply" | "overlay" | "saturation" | "screen" | "soft-light" | "source-atop" | "source-in" | "source-out" | "source-over" | "xor";
12870
12972
  type HdrMetadataType = "smpteSt2086" | "smpteSt2094-10" | "smpteSt2094-40";
12871
12973
  type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";
package/ts5.6/index.d.ts CHANGED
@@ -226,6 +226,17 @@ interface GPUBindGroupEntry {
226
226
  resource: GPUBindingResource;
227
227
  }
228
228
 
229
+ interface GPUBlendComponent {
230
+ dstFactor?: GPUBlendFactor;
231
+ operation?: GPUBlendOperation;
232
+ srcFactor?: GPUBlendFactor;
233
+ }
234
+
235
+ interface GPUBlendState {
236
+ alpha: GPUBlendComponent;
237
+ color: GPUBlendComponent;
238
+ }
239
+
229
240
  interface GPUBufferBinding {
230
241
  buffer: GPUBuffer;
231
242
  offset?: GPUSize64;
@@ -259,6 +270,12 @@ interface GPUColorDict {
259
270
  r: number;
260
271
  }
261
272
 
273
+ interface GPUColorTargetState {
274
+ blend?: GPUBlendState;
275
+ format: GPUTextureFormat;
276
+ writeMask?: GPUColorWriteFlags;
277
+ }
278
+
262
279
  interface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {
263
280
  }
264
281
 
@@ -290,6 +307,19 @@ interface GPUCopyExternalImageSourceInfo {
290
307
  source: GPUCopyExternalImageSource;
291
308
  }
292
309
 
310
+ interface GPUDepthStencilState {
311
+ depthBias?: GPUDepthBias;
312
+ depthBiasClamp?: number;
313
+ depthBiasSlopeScale?: number;
314
+ depthCompare?: GPUCompareFunction;
315
+ depthWriteEnabled?: boolean;
316
+ format: GPUTextureFormat;
317
+ stencilBack?: GPUStencilFaceState;
318
+ stencilFront?: GPUStencilFaceState;
319
+ stencilReadMask?: GPUStencilValue;
320
+ stencilWriteMask?: GPUStencilValue;
321
+ }
322
+
293
323
  interface GPUExtent3DDict {
294
324
  depthOrArrayLayers?: GPUIntegerCoordinate;
295
325
  height?: GPUIntegerCoordinate;
@@ -300,6 +330,16 @@ interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
300
330
  colorSpace?: PredefinedColorSpace;
301
331
  }
302
332
 
333
+ interface GPUFragmentState extends GPUProgrammableStage {
334
+ targets: (GPUColorTargetState | null)[];
335
+ }
336
+
337
+ interface GPUMultisampleState {
338
+ alphaToCoverageEnabled?: boolean;
339
+ count?: GPUSize32;
340
+ mask?: GPUSampleMask;
341
+ }
342
+
303
343
  interface GPUObjectDescriptorBase {
304
344
  label?: string;
305
345
  }
@@ -327,6 +367,14 @@ interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {
327
367
  bindGroupLayouts: (GPUBindGroupLayout | null)[];
328
368
  }
329
369
 
370
+ interface GPUPrimitiveState {
371
+ cullMode?: GPUCullMode;
372
+ frontFace?: GPUFrontFace;
373
+ stripIndexFormat?: GPUIndexFormat;
374
+ topology?: GPUPrimitiveTopology;
375
+ unclippedDepth?: boolean;
376
+ }
377
+
330
378
  interface GPUProgrammableStage {
331
379
  constants?: Record<string, GPUPipelineConstantValue>;
332
380
  entryPoint?: string;
@@ -387,6 +435,14 @@ interface GPURenderPassTimestampWrites {
387
435
  querySet: GPUQuerySet;
388
436
  }
389
437
 
438
+ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
439
+ depthStencil?: GPUDepthStencilState;
440
+ fragment?: GPUFragmentState;
441
+ multisample?: GPUMultisampleState;
442
+ primitive?: GPUPrimitiveState;
443
+ vertex: GPUVertexState;
444
+ }
445
+
390
446
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
391
447
  addressModeU?: GPUAddressMode;
392
448
  addressModeV?: GPUAddressMode;
@@ -404,6 +460,13 @@ interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {
404
460
  code: string;
405
461
  }
406
462
 
463
+ interface GPUStencilFaceState {
464
+ compare?: GPUCompareFunction;
465
+ depthFailOp?: GPUStencilOperation;
466
+ failOp?: GPUStencilOperation;
467
+ passOp?: GPUStencilOperation;
468
+ }
469
+
407
470
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
408
471
  buffer: GPUBuffer;
409
472
  }
@@ -446,6 +509,22 @@ interface GPUUncapturedErrorEventInit extends EventInit {
446
509
  error: GPUError;
447
510
  }
448
511
 
512
+ interface GPUVertexAttribute {
513
+ format: GPUVertexFormat;
514
+ offset: GPUSize64;
515
+ shaderLocation: GPUIndex32;
516
+ }
517
+
518
+ interface GPUVertexBufferLayout {
519
+ arrayStride: GPUSize64;
520
+ attributes: GPUVertexAttribute[];
521
+ stepMode?: GPUVertexStepMode;
522
+ }
523
+
524
+ interface GPUVertexState extends GPUProgrammableStage {
525
+ buffers?: (GPUVertexBufferLayout | null)[];
526
+ }
527
+
449
528
  interface GetNotificationOptions {
450
529
  tag?: string;
451
530
  }
@@ -4582,6 +4661,18 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
4582
4661
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderBundleEncoder)
4583
4662
  */
4584
4663
  createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor): GPURenderBundleEncoder;
4664
+ /**
4665
+ * The **`createRenderPipeline()`** method of the GPUDevice interface creates a GPURenderPipeline that can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder.
4666
+ *
4667
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderPipeline)
4668
+ */
4669
+ createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline;
4670
+ /**
4671
+ * The **`createRenderPipelineAsync()`** method of the GPUDevice interface returns a Promise that fulfills with a GPURenderPipeline, which can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder, once the pipeline can be used without any stalling.
4672
+ *
4673
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderPipelineAsync)
4674
+ */
4675
+ createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor): Promise<GPURenderPipeline>;
4585
4676
  /**
4586
4677
  * The **`createSampler()`** method of the GPUDevice interface creates a GPUSampler, which controls how shaders transform and filter texture resource data.
4587
4678
  *
@@ -12785,7 +12876,9 @@ type GPUBindingResource = GPUSampler | GPUTexture | GPUTextureView | GPUBuffer |
12785
12876
  type GPUBufferDynamicOffset = number;
12786
12877
  type GPUBufferUsageFlags = number;
12787
12878
  type GPUColor = number[] | GPUColorDict;
12879
+ type GPUColorWriteFlags = number;
12788
12880
  type GPUCopyExternalImageSource = ImageBitmap | ImageData | OffscreenCanvas;
12881
+ type GPUDepthBias = number;
12789
12882
  type GPUExtent3D = GPUIntegerCoordinate[] | GPUExtent3DDict;
12790
12883
  type GPUFlagsConstant = number;
12791
12884
  type GPUIndex32 = number;
@@ -12795,6 +12888,7 @@ type GPUMapModeFlags = number;
12795
12888
  type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
12796
12889
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
12797
12890
  type GPUPipelineConstantValue = number;
12891
+ type GPUSampleMask = number;
12798
12892
  type GPUSignedOffset32 = number;
12799
12893
  type GPUSize32 = number;
12800
12894
  type GPUSize32Out = number;
@@ -12848,24 +12942,32 @@ type FontFaceLoadStatus = "error" | "loaded" | "loading" | "unloaded";
12848
12942
  type FontFaceSetLoadStatus = "loaded" | "loading";
12849
12943
  type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
12850
12944
  type GPUAutoLayoutMode = "auto";
12945
+ type GPUBlendFactor = "constant" | "dst" | "dst-alpha" | "one" | "one-minus-constant" | "one-minus-dst" | "one-minus-dst-alpha" | "one-minus-src" | "one-minus-src-alpha" | "src" | "src-alpha" | "src-alpha-saturated" | "zero";
12946
+ type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
12851
12947
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
12852
12948
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
12853
12949
  type GPUCanvasToneMappingMode = "extended" | "standard";
12854
12950
  type GPUCompareFunction = "always" | "equal" | "greater" | "greater-equal" | "less" | "less-equal" | "never" | "not-equal";
12855
12951
  type GPUCompilationMessageType = "error" | "info" | "warning";
12952
+ type GPUCullMode = "back" | "front" | "none";
12856
12953
  type GPUDeviceLostReason = "destroyed" | "unknown";
12857
12954
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
12858
12955
  type GPUFilterMode = "linear" | "nearest";
12956
+ type GPUFrontFace = "ccw" | "cw";
12859
12957
  type GPUIndexFormat = "uint16" | "uint32";
12860
12958
  type GPULoadOp = "clear" | "load";
12861
12959
  type GPUMipmapFilterMode = "linear" | "nearest";
12862
12960
  type GPUPipelineErrorReason = "internal" | "validation";
12961
+ type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
12863
12962
  type GPUQueryType = "occlusion" | "timestamp";
12963
+ type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
12864
12964
  type GPUStoreOp = "discard" | "store";
12865
12965
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
12866
12966
  type GPUTextureDimension = "1d" | "2d" | "3d";
12867
12967
  type GPUTextureFormat = "astc-10x10-unorm" | "astc-10x10-unorm-srgb" | "astc-10x5-unorm" | "astc-10x5-unorm-srgb" | "astc-10x6-unorm" | "astc-10x6-unorm-srgb" | "astc-10x8-unorm" | "astc-10x8-unorm-srgb" | "astc-12x10-unorm" | "astc-12x10-unorm-srgb" | "astc-12x12-unorm" | "astc-12x12-unorm-srgb" | "astc-4x4-unorm" | "astc-4x4-unorm-srgb" | "astc-5x4-unorm" | "astc-5x4-unorm-srgb" | "astc-5x5-unorm" | "astc-5x5-unorm-srgb" | "astc-6x5-unorm" | "astc-6x5-unorm-srgb" | "astc-6x6-unorm" | "astc-6x6-unorm-srgb" | "astc-8x5-unorm" | "astc-8x5-unorm-srgb" | "astc-8x6-unorm" | "astc-8x6-unorm-srgb" | "astc-8x8-unorm" | "astc-8x8-unorm-srgb" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-snorm" | "bc4-r-unorm" | "bc5-rg-snorm" | "bc5-rg-unorm" | "bc6h-rgb-float" | "bc6h-rgb-ufloat" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "bgra8unorm" | "bgra8unorm-srgb" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "depth32float-stencil8" | "eac-r11snorm" | "eac-r11unorm" | "eac-rg11snorm" | "eac-rg11unorm" | "etc2-rgb8a1unorm" | "etc2-rgb8a1unorm-srgb" | "etc2-rgb8unorm" | "etc2-rgb8unorm-srgb" | "etc2-rgba8unorm" | "etc2-rgba8unorm-srgb" | "r16float" | "r16sint" | "r16snorm" | "r16uint" | "r16unorm" | "r32float" | "r32sint" | "r32uint" | "r8sint" | "r8snorm" | "r8uint" | "r8unorm" | "rg11b10ufloat" | "rg16float" | "rg16sint" | "rg16snorm" | "rg16uint" | "rg16unorm" | "rg32float" | "rg32sint" | "rg32uint" | "rg8sint" | "rg8snorm" | "rg8uint" | "rg8unorm" | "rgb10a2uint" | "rgb10a2unorm" | "rgb9e5ufloat" | "rgba16float" | "rgba16sint" | "rgba16snorm" | "rgba16uint" | "rgba16unorm" | "rgba32float" | "rgba32sint" | "rgba32uint" | "rgba8sint" | "rgba8snorm" | "rgba8uint" | "rgba8unorm" | "rgba8unorm-srgb" | "stencil8";
12868
12968
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
12969
+ type GPUVertexFormat = "float16" | "float16x2" | "float16x4" | "float32" | "float32x2" | "float32x3" | "float32x4" | "sint16" | "sint16x2" | "sint16x4" | "sint32" | "sint32x2" | "sint32x3" | "sint32x4" | "sint8" | "sint8x2" | "sint8x4" | "snorm16" | "snorm16x2" | "snorm16x4" | "snorm8" | "snorm8x2" | "snorm8x4" | "uint16" | "uint16x2" | "uint16x4" | "uint32" | "uint32x2" | "uint32x3" | "uint32x4" | "uint8" | "uint8x2" | "uint8x4" | "unorm10-10-10-2" | "unorm16" | "unorm16x2" | "unorm16x4" | "unorm8" | "unorm8x2" | "unorm8x4" | "unorm8x4-bgra";
12970
+ type GPUVertexStepMode = "instance" | "vertex";
12869
12971
  type GlobalCompositeOperation = "color" | "color-burn" | "color-dodge" | "copy" | "darken" | "destination-atop" | "destination-in" | "destination-out" | "destination-over" | "difference" | "exclusion" | "hard-light" | "hue" | "lighten" | "lighter" | "luminosity" | "multiply" | "overlay" | "saturation" | "screen" | "soft-light" | "source-atop" | "source-in" | "source-out" | "source-over" | "xor";
12870
12972
  type HdrMetadataType = "smpteSt2086" | "smpteSt2094-10" | "smpteSt2094-40";
12871
12973
  type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";
package/ts5.9/index.d.ts CHANGED
@@ -226,6 +226,17 @@ interface GPUBindGroupEntry {
226
226
  resource: GPUBindingResource;
227
227
  }
228
228
 
229
+ interface GPUBlendComponent {
230
+ dstFactor?: GPUBlendFactor;
231
+ operation?: GPUBlendOperation;
232
+ srcFactor?: GPUBlendFactor;
233
+ }
234
+
235
+ interface GPUBlendState {
236
+ alpha: GPUBlendComponent;
237
+ color: GPUBlendComponent;
238
+ }
239
+
229
240
  interface GPUBufferBinding {
230
241
  buffer: GPUBuffer;
231
242
  offset?: GPUSize64;
@@ -259,6 +270,12 @@ interface GPUColorDict {
259
270
  r: number;
260
271
  }
261
272
 
273
+ interface GPUColorTargetState {
274
+ blend?: GPUBlendState;
275
+ format: GPUTextureFormat;
276
+ writeMask?: GPUColorWriteFlags;
277
+ }
278
+
262
279
  interface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {
263
280
  }
264
281
 
@@ -290,6 +307,19 @@ interface GPUCopyExternalImageSourceInfo {
290
307
  source: GPUCopyExternalImageSource;
291
308
  }
292
309
 
310
+ interface GPUDepthStencilState {
311
+ depthBias?: GPUDepthBias;
312
+ depthBiasClamp?: number;
313
+ depthBiasSlopeScale?: number;
314
+ depthCompare?: GPUCompareFunction;
315
+ depthWriteEnabled?: boolean;
316
+ format: GPUTextureFormat;
317
+ stencilBack?: GPUStencilFaceState;
318
+ stencilFront?: GPUStencilFaceState;
319
+ stencilReadMask?: GPUStencilValue;
320
+ stencilWriteMask?: GPUStencilValue;
321
+ }
322
+
293
323
  interface GPUExtent3DDict {
294
324
  depthOrArrayLayers?: GPUIntegerCoordinate;
295
325
  height?: GPUIntegerCoordinate;
@@ -300,6 +330,16 @@ interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
300
330
  colorSpace?: PredefinedColorSpace;
301
331
  }
302
332
 
333
+ interface GPUFragmentState extends GPUProgrammableStage {
334
+ targets: (GPUColorTargetState | null)[];
335
+ }
336
+
337
+ interface GPUMultisampleState {
338
+ alphaToCoverageEnabled?: boolean;
339
+ count?: GPUSize32;
340
+ mask?: GPUSampleMask;
341
+ }
342
+
303
343
  interface GPUObjectDescriptorBase {
304
344
  label?: string;
305
345
  }
@@ -327,6 +367,14 @@ interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {
327
367
  bindGroupLayouts: (GPUBindGroupLayout | null)[];
328
368
  }
329
369
 
370
+ interface GPUPrimitiveState {
371
+ cullMode?: GPUCullMode;
372
+ frontFace?: GPUFrontFace;
373
+ stripIndexFormat?: GPUIndexFormat;
374
+ topology?: GPUPrimitiveTopology;
375
+ unclippedDepth?: boolean;
376
+ }
377
+
330
378
  interface GPUProgrammableStage {
331
379
  constants?: Record<string, GPUPipelineConstantValue>;
332
380
  entryPoint?: string;
@@ -387,6 +435,14 @@ interface GPURenderPassTimestampWrites {
387
435
  querySet: GPUQuerySet;
388
436
  }
389
437
 
438
+ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
439
+ depthStencil?: GPUDepthStencilState;
440
+ fragment?: GPUFragmentState;
441
+ multisample?: GPUMultisampleState;
442
+ primitive?: GPUPrimitiveState;
443
+ vertex: GPUVertexState;
444
+ }
445
+
390
446
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
391
447
  addressModeU?: GPUAddressMode;
392
448
  addressModeV?: GPUAddressMode;
@@ -404,6 +460,13 @@ interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {
404
460
  code: string;
405
461
  }
406
462
 
463
+ interface GPUStencilFaceState {
464
+ compare?: GPUCompareFunction;
465
+ depthFailOp?: GPUStencilOperation;
466
+ failOp?: GPUStencilOperation;
467
+ passOp?: GPUStencilOperation;
468
+ }
469
+
407
470
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
408
471
  buffer: GPUBuffer;
409
472
  }
@@ -446,6 +509,22 @@ interface GPUUncapturedErrorEventInit extends EventInit {
446
509
  error: GPUError;
447
510
  }
448
511
 
512
+ interface GPUVertexAttribute {
513
+ format: GPUVertexFormat;
514
+ offset: GPUSize64;
515
+ shaderLocation: GPUIndex32;
516
+ }
517
+
518
+ interface GPUVertexBufferLayout {
519
+ arrayStride: GPUSize64;
520
+ attributes: GPUVertexAttribute[];
521
+ stepMode?: GPUVertexStepMode;
522
+ }
523
+
524
+ interface GPUVertexState extends GPUProgrammableStage {
525
+ buffers?: (GPUVertexBufferLayout | null)[];
526
+ }
527
+
449
528
  interface GetNotificationOptions {
450
529
  tag?: string;
451
530
  }
@@ -4582,6 +4661,18 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
4582
4661
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderBundleEncoder)
4583
4662
  */
4584
4663
  createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor): GPURenderBundleEncoder;
4664
+ /**
4665
+ * The **`createRenderPipeline()`** method of the GPUDevice interface creates a GPURenderPipeline that can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder.
4666
+ *
4667
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderPipeline)
4668
+ */
4669
+ createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline;
4670
+ /**
4671
+ * The **`createRenderPipelineAsync()`** method of the GPUDevice interface returns a Promise that fulfills with a GPURenderPipeline, which can control the vertex and fragment shader stages and be used in a GPURenderPassEncoder or GPURenderBundleEncoder, once the pipeline can be used without any stalling.
4672
+ *
4673
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createRenderPipelineAsync)
4674
+ */
4675
+ createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor): Promise<GPURenderPipeline>;
4585
4676
  /**
4586
4677
  * The **`createSampler()`** method of the GPUDevice interface creates a GPUSampler, which controls how shaders transform and filter texture resource data.
4587
4678
  *
@@ -12785,7 +12876,9 @@ type GPUBindingResource = GPUSampler | GPUTexture | GPUTextureView | GPUBuffer |
12785
12876
  type GPUBufferDynamicOffset = number;
12786
12877
  type GPUBufferUsageFlags = number;
12787
12878
  type GPUColor = number[] | GPUColorDict;
12879
+ type GPUColorWriteFlags = number;
12788
12880
  type GPUCopyExternalImageSource = ImageBitmap | ImageData | OffscreenCanvas;
12881
+ type GPUDepthBias = number;
12789
12882
  type GPUExtent3D = GPUIntegerCoordinate[] | GPUExtent3DDict;
12790
12883
  type GPUFlagsConstant = number;
12791
12884
  type GPUIndex32 = number;
@@ -12795,6 +12888,7 @@ type GPUMapModeFlags = number;
12795
12888
  type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
12796
12889
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
12797
12890
  type GPUPipelineConstantValue = number;
12891
+ type GPUSampleMask = number;
12798
12892
  type GPUSignedOffset32 = number;
12799
12893
  type GPUSize32 = number;
12800
12894
  type GPUSize32Out = number;
@@ -12848,24 +12942,32 @@ type FontFaceLoadStatus = "error" | "loaded" | "loading" | "unloaded";
12848
12942
  type FontFaceSetLoadStatus = "loaded" | "loading";
12849
12943
  type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
12850
12944
  type GPUAutoLayoutMode = "auto";
12945
+ type GPUBlendFactor = "constant" | "dst" | "dst-alpha" | "one" | "one-minus-constant" | "one-minus-dst" | "one-minus-dst-alpha" | "one-minus-src" | "one-minus-src-alpha" | "src" | "src-alpha" | "src-alpha-saturated" | "zero";
12946
+ type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
12851
12947
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
12852
12948
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
12853
12949
  type GPUCanvasToneMappingMode = "extended" | "standard";
12854
12950
  type GPUCompareFunction = "always" | "equal" | "greater" | "greater-equal" | "less" | "less-equal" | "never" | "not-equal";
12855
12951
  type GPUCompilationMessageType = "error" | "info" | "warning";
12952
+ type GPUCullMode = "back" | "front" | "none";
12856
12953
  type GPUDeviceLostReason = "destroyed" | "unknown";
12857
12954
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
12858
12955
  type GPUFilterMode = "linear" | "nearest";
12956
+ type GPUFrontFace = "ccw" | "cw";
12859
12957
  type GPUIndexFormat = "uint16" | "uint32";
12860
12958
  type GPULoadOp = "clear" | "load";
12861
12959
  type GPUMipmapFilterMode = "linear" | "nearest";
12862
12960
  type GPUPipelineErrorReason = "internal" | "validation";
12961
+ type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
12863
12962
  type GPUQueryType = "occlusion" | "timestamp";
12963
+ type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
12864
12964
  type GPUStoreOp = "discard" | "store";
12865
12965
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
12866
12966
  type GPUTextureDimension = "1d" | "2d" | "3d";
12867
12967
  type GPUTextureFormat = "astc-10x10-unorm" | "astc-10x10-unorm-srgb" | "astc-10x5-unorm" | "astc-10x5-unorm-srgb" | "astc-10x6-unorm" | "astc-10x6-unorm-srgb" | "astc-10x8-unorm" | "astc-10x8-unorm-srgb" | "astc-12x10-unorm" | "astc-12x10-unorm-srgb" | "astc-12x12-unorm" | "astc-12x12-unorm-srgb" | "astc-4x4-unorm" | "astc-4x4-unorm-srgb" | "astc-5x4-unorm" | "astc-5x4-unorm-srgb" | "astc-5x5-unorm" | "astc-5x5-unorm-srgb" | "astc-6x5-unorm" | "astc-6x5-unorm-srgb" | "astc-6x6-unorm" | "astc-6x6-unorm-srgb" | "astc-8x5-unorm" | "astc-8x5-unorm-srgb" | "astc-8x6-unorm" | "astc-8x6-unorm-srgb" | "astc-8x8-unorm" | "astc-8x8-unorm-srgb" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-snorm" | "bc4-r-unorm" | "bc5-rg-snorm" | "bc5-rg-unorm" | "bc6h-rgb-float" | "bc6h-rgb-ufloat" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "bgra8unorm" | "bgra8unorm-srgb" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "depth32float-stencil8" | "eac-r11snorm" | "eac-r11unorm" | "eac-rg11snorm" | "eac-rg11unorm" | "etc2-rgb8a1unorm" | "etc2-rgb8a1unorm-srgb" | "etc2-rgb8unorm" | "etc2-rgb8unorm-srgb" | "etc2-rgba8unorm" | "etc2-rgba8unorm-srgb" | "r16float" | "r16sint" | "r16snorm" | "r16uint" | "r16unorm" | "r32float" | "r32sint" | "r32uint" | "r8sint" | "r8snorm" | "r8uint" | "r8unorm" | "rg11b10ufloat" | "rg16float" | "rg16sint" | "rg16snorm" | "rg16uint" | "rg16unorm" | "rg32float" | "rg32sint" | "rg32uint" | "rg8sint" | "rg8snorm" | "rg8uint" | "rg8unorm" | "rgb10a2uint" | "rgb10a2unorm" | "rgb9e5ufloat" | "rgba16float" | "rgba16sint" | "rgba16snorm" | "rgba16uint" | "rgba16unorm" | "rgba32float" | "rgba32sint" | "rgba32uint" | "rgba8sint" | "rgba8snorm" | "rgba8uint" | "rgba8unorm" | "rgba8unorm-srgb" | "stencil8";
12868
12968
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
12969
+ type GPUVertexFormat = "float16" | "float16x2" | "float16x4" | "float32" | "float32x2" | "float32x3" | "float32x4" | "sint16" | "sint16x2" | "sint16x4" | "sint32" | "sint32x2" | "sint32x3" | "sint32x4" | "sint8" | "sint8x2" | "sint8x4" | "snorm16" | "snorm16x2" | "snorm16x4" | "snorm8" | "snorm8x2" | "snorm8x4" | "uint16" | "uint16x2" | "uint16x4" | "uint32" | "uint32x2" | "uint32x3" | "uint32x4" | "uint8" | "uint8x2" | "uint8x4" | "unorm10-10-10-2" | "unorm16" | "unorm16x2" | "unorm16x4" | "unorm8" | "unorm8x2" | "unorm8x4" | "unorm8x4-bgra";
12970
+ type GPUVertexStepMode = "instance" | "vertex";
12869
12971
  type GlobalCompositeOperation = "color" | "color-burn" | "color-dodge" | "copy" | "darken" | "destination-atop" | "destination-in" | "destination-out" | "destination-over" | "difference" | "exclusion" | "hard-light" | "hue" | "lighten" | "lighter" | "luminosity" | "multiply" | "overlay" | "saturation" | "screen" | "soft-light" | "source-atop" | "source-in" | "source-out" | "source-over" | "xor";
12870
12972
  type HdrMetadataType = "smpteSt2086" | "smpteSt2094-10" | "smpteSt2094-40";
12871
12973
  type IDBCursorDirection = "next" | "nextunique" | "prev" | "prevunique";