@types/serviceworker 0.0.190 → 0.0.192

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.190 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fserviceworker%400.0.190.
31
+ You can read what changed in version 0.0.192 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fserviceworker%400.0.192.
package/index.d.ts CHANGED
@@ -285,6 +285,20 @@ interface GPUBindGroupEntry {
285
285
  resource: GPUBindingResource;
286
286
  }
287
287
 
288
+ interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
289
+ entries: GPUBindGroupLayoutEntry[];
290
+ }
291
+
292
+ interface GPUBindGroupLayoutEntry {
293
+ binding: GPUIndex32;
294
+ buffer?: GPUBufferBindingLayout;
295
+ externalTexture?: GPUExternalTextureBindingLayout;
296
+ sampler?: GPUSamplerBindingLayout;
297
+ storageTexture?: GPUStorageTextureBindingLayout;
298
+ texture?: GPUTextureBindingLayout;
299
+ visibility: GPUShaderStageFlags;
300
+ }
301
+
288
302
  interface GPUBlendComponent {
289
303
  dstFactor?: GPUBlendFactor;
290
304
  operation?: GPUBlendOperation;
@@ -302,6 +316,12 @@ interface GPUBufferBinding {
302
316
  size?: GPUSize64;
303
317
  }
304
318
 
319
+ interface GPUBufferBindingLayout {
320
+ hasDynamicOffset?: boolean;
321
+ minBindingSize?: GPUSize64;
322
+ type?: GPUBufferBindingType;
323
+ }
324
+
305
325
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
306
326
  mappedAtCreation?: boolean;
307
327
  size: GPUSize64;
@@ -379,12 +399,21 @@ interface GPUDepthStencilState {
379
399
  stencilWriteMask?: GPUStencilValue;
380
400
  }
381
401
 
402
+ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
403
+ defaultQueue?: GPUQueueDescriptor;
404
+ requiredFeatures?: GPUFeatureName[];
405
+ requiredLimits?: Record<string, GPUSize64 | undefined>;
406
+ }
407
+
382
408
  interface GPUExtent3DDict {
383
409
  depthOrArrayLayers?: GPUIntegerCoordinate;
384
410
  height?: GPUIntegerCoordinate;
385
411
  width: GPUIntegerCoordinate;
386
412
  }
387
413
 
414
+ interface GPUExternalTextureBindingLayout {
415
+ }
416
+
388
417
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
389
418
  colorSpace?: PredefinedColorSpace;
390
419
  }
@@ -445,6 +474,9 @@ interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
445
474
  type: GPUQueryType;
446
475
  }
447
476
 
477
+ interface GPUQueueDescriptor extends GPUObjectDescriptorBase {
478
+ }
479
+
448
480
  interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {
449
481
  }
450
482
 
@@ -502,6 +534,15 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
502
534
  vertex: GPUVertexState;
503
535
  }
504
536
 
537
+ interface GPURequestAdapterOptions {
538
+ forceFallbackAdapter?: boolean;
539
+ powerPreference?: GPUPowerPreference;
540
+ }
541
+
542
+ interface GPUSamplerBindingLayout {
543
+ type?: GPUSamplerBindingType;
544
+ }
545
+
505
546
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
506
547
  addressModeU?: GPUAddressMode;
507
548
  addressModeV?: GPUAddressMode;
@@ -526,6 +567,12 @@ interface GPUStencilFaceState {
526
567
  passOp?: GPUStencilOperation;
527
568
  }
528
569
 
570
+ interface GPUStorageTextureBindingLayout {
571
+ access?: GPUStorageTextureAccess;
572
+ format: GPUTextureFormat;
573
+ viewDimension?: GPUTextureViewDimension;
574
+ }
575
+
529
576
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
530
577
  buffer: GPUBuffer;
531
578
  }
@@ -543,6 +590,12 @@ interface GPUTexelCopyTextureInfo {
543
590
  texture: GPUTexture;
544
591
  }
545
592
 
593
+ interface GPUTextureBindingLayout {
594
+ multisampled?: boolean;
595
+ sampleType?: GPUTextureSampleType;
596
+ viewDimension?: GPUTextureViewDimension;
597
+ }
598
+
546
599
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
547
600
  dimension?: GPUTextureDimension;
548
601
  format: GPUTextureFormat;
@@ -4486,6 +4539,76 @@ declare var FormData: {
4486
4539
  new(): FormData;
4487
4540
  };
4488
4541
 
4542
+ /**
4543
+ * The **`GPU`** interface of the WebGPU API is the starting point for using WebGPU. It can be used to return a GPUAdapter from which you can request devices, configure features and limits, and more.
4544
+ * Available only in secure contexts.
4545
+ *
4546
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU)
4547
+ */
4548
+ interface GPU {
4549
+ /**
4550
+ * The **`wgslLanguageFeatures`** read-only property of the GPU interface returns a WGSLLanguageFeatures object that reports the WGSL language extensions supported by the WebGPU implementation.
4551
+ *
4552
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures)
4553
+ */
4554
+ readonly wgslLanguageFeatures: WGSLLanguageFeatures;
4555
+ /**
4556
+ * The **`getPreferredCanvasFormat()`** method of the GPU interface returns the optimal canvas texture format for displaying 8-bit depth, standard dynamic range content on the current system.
4557
+ *
4558
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat)
4559
+ */
4560
+ getPreferredCanvasFormat(): GPUTextureFormat;
4561
+ /**
4562
+ * The **`requestAdapter()`** method of the GPU interface returns a Promise that fulfills with a GPUAdapter object instance. From this you can request a GPUDevice, adapter info, features, and limits.
4563
+ *
4564
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter)
4565
+ */
4566
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
4567
+ }
4568
+
4569
+ declare var GPU: {
4570
+ prototype: GPU;
4571
+ new(): GPU;
4572
+ };
4573
+
4574
+ /**
4575
+ * The **`GPUAdapter`** interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.
4576
+ * Available only in secure contexts.
4577
+ *
4578
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter)
4579
+ */
4580
+ interface GPUAdapter {
4581
+ /**
4582
+ * The **`features`** read-only property of the GPUAdapter interface returns a GPUSupportedFeatures object that describes additional functionality supported by the adapter.
4583
+ *
4584
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/features)
4585
+ */
4586
+ readonly features: GPUSupportedFeatures;
4587
+ /**
4588
+ * The **`info`** read-only property of the GPUAdapter interface returns a GPUAdapterInfo object containing identifying information about the adapter.
4589
+ *
4590
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/info)
4591
+ */
4592
+ readonly info: GPUAdapterInfo;
4593
+ /**
4594
+ * The **`limits`** read-only property of the GPUAdapter interface returns a GPUSupportedLimits object that describes the limits supported by the adapter.
4595
+ *
4596
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/limits)
4597
+ */
4598
+ readonly limits: GPUSupportedLimits;
4599
+ /**
4600
+ * The **`requestDevice()`** method of the GPUAdapter interface returns a Promise that fulfills with a GPUDevice object, which is the primary interface for communicating with the GPU.
4601
+ *
4602
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/requestDevice)
4603
+ */
4604
+ requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
4605
+ }
4606
+
4607
+ declare var GPUAdapter: {
4608
+ prototype: GPUAdapter;
4609
+ new(): GPUAdapter;
4610
+ };
4611
+
4489
4612
  /**
4490
4613
  * The **`GPUAdapterInfo`** interface of the WebGPU API contains identifying information about a GPUAdapter.
4491
4614
  * Available only in secure contexts.
@@ -4939,6 +5062,12 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
4939
5062
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroup)
4940
5063
  */
4941
5064
  createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
5065
+ /**
5066
+ * The **`createBindGroupLayout()`** method of the GPUDevice interface creates a GPUBindGroupLayout that defines the structure and purpose of related GPU resources such as buffers that will be used in a pipeline, and is used as a template when creating GPUBindGroups.
5067
+ *
5068
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroupLayout)
5069
+ */
5070
+ createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;
4942
5071
  /**
4943
5072
  * The **`createBuffer()`** method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.
4944
5073
  *
@@ -6443,19 +6572,6 @@ interface ImportMeta {
6443
6572
  resolve(specifier: string): string;
6444
6573
  }
6445
6574
 
6446
- /**
6447
- * The parameter passed into an install event handler function, the **`InstallEvent`** interface represents an install action that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker. As a child of ExtendableEvent, it ensures that functional events such as FetchEvent are not dispatched during installation.
6448
- *
6449
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InstallEvent)
6450
- */
6451
- interface InstallEvent extends ExtendableEvent {
6452
- }
6453
-
6454
- declare var InstallEvent: {
6455
- prototype: InstallEvent;
6456
- new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent;
6457
- };
6458
-
6459
6575
  /**
6460
6576
  * The **`KHR_parallel_shader_compile`** extension is part of the WebGL API and enables a non-blocking poll operation, so that compile/link status availability (COMPLETION_STATUS_KHR) can be queried without potentially incurring stalls. In other words you can check the status of your shaders compiling without blocking the runtime.
6461
6577
  *
@@ -6721,6 +6837,15 @@ interface NavigatorConcurrentHardware {
6721
6837
  readonly hardwareConcurrency: number;
6722
6838
  }
6723
6839
 
6840
+ interface NavigatorGPU {
6841
+ /**
6842
+ * Available only in secure contexts.
6843
+ *
6844
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/gpu)
6845
+ */
6846
+ readonly gpu: GPU;
6847
+ }
6848
+
6724
6849
  interface NavigatorID {
6725
6850
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName) */
6726
6851
  readonly appCodeName: string;
@@ -8031,7 +8156,7 @@ interface ReadableStreamDefaultController<R = any> {
8031
8156
  *
8032
8157
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/enqueue)
8033
8158
  */
8034
- enqueue(chunk?: R): void;
8159
+ enqueue(chunk: R): void;
8035
8160
  /**
8036
8161
  * The **`error()`** method of the ReadableStreamDefaultController interface causes any future interactions with the associated stream to error.
8037
8162
  *
@@ -12397,7 +12522,7 @@ declare var WorkerLocation: {
12397
12522
  *
12398
12523
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)
12399
12524
  */
12400
- interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
12525
+ interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
12401
12526
  /**
12402
12527
  * The read-only **`mediaCapabilities`** property of the WorkerNavigator interface references a MediaCapabilities object that can expose information about the decoding and encoding capabilities for a given format and output capabilities (as defined by the Media Capabilities API).
12403
12528
  *
@@ -13216,6 +13341,7 @@ type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
13216
13341
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
13217
13342
  type GPUPipelineConstantValue = number;
13218
13343
  type GPUSampleMask = number;
13344
+ type GPUShaderStageFlags = number;
13219
13345
  type GPUSignedOffset32 = number;
13220
13346
  type GPUSize32 = number;
13221
13347
  type GPUSize32Out = number;
@@ -13275,6 +13401,7 @@ type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
13275
13401
  type GPUAutoLayoutMode = "auto";
13276
13402
  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";
13277
13403
  type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
13404
+ type GPUBufferBindingType = "read-only-storage" | "storage" | "uniform";
13278
13405
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
13279
13406
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
13280
13407
  type GPUCanvasToneMappingMode = "extended" | "standard";
@@ -13283,19 +13410,24 @@ type GPUCompilationMessageType = "error" | "info" | "warning";
13283
13410
  type GPUCullMode = "back" | "front" | "none";
13284
13411
  type GPUDeviceLostReason = "destroyed" | "unknown";
13285
13412
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
13413
+ type GPUFeatureName = "bgra8unorm-storage" | "clip-distances" | "core-features-and-limits" | "depth-clip-control" | "depth32float-stencil8" | "dual-source-blending" | "float32-blendable" | "float32-filterable" | "indirect-first-instance" | "primitive-index" | "rg11b10ufloat-renderable" | "shader-f16" | "subgroups" | "texture-compression-astc" | "texture-compression-astc-sliced-3d" | "texture-compression-bc" | "texture-compression-bc-sliced-3d" | "texture-compression-etc2" | "texture-formats-tier1" | "timestamp-query";
13286
13414
  type GPUFilterMode = "linear" | "nearest";
13287
13415
  type GPUFrontFace = "ccw" | "cw";
13288
13416
  type GPUIndexFormat = "uint16" | "uint32";
13289
13417
  type GPULoadOp = "clear" | "load";
13290
13418
  type GPUMipmapFilterMode = "linear" | "nearest";
13291
13419
  type GPUPipelineErrorReason = "internal" | "validation";
13420
+ type GPUPowerPreference = "high-performance" | "low-power";
13292
13421
  type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
13293
13422
  type GPUQueryType = "occlusion" | "timestamp";
13423
+ type GPUSamplerBindingType = "comparison" | "filtering" | "non-filtering";
13294
13424
  type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
13425
+ type GPUStorageTextureAccess = "read-only" | "read-write" | "write-only";
13295
13426
  type GPUStoreOp = "discard" | "store";
13296
13427
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
13297
13428
  type GPUTextureDimension = "1d" | "2d" | "3d";
13298
13429
  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";
13430
+ type GPUTextureSampleType = "depth" | "float" | "sint" | "uint" | "unfilterable-float";
13299
13431
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
13300
13432
  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";
13301
13433
  type GPUVertexStepMode = "instance" | "vertex";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/serviceworker",
3
- "version": "0.0.190",
3
+ "version": "0.0.192",
4
4
  "description": "Types for the global scope of Service Workers",
5
5
  "license": "Apache-2.0",
6
6
  "contributors": [],
package/ts5.5/index.d.ts CHANGED
@@ -282,6 +282,20 @@ interface GPUBindGroupEntry {
282
282
  resource: GPUBindingResource;
283
283
  }
284
284
 
285
+ interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
286
+ entries: GPUBindGroupLayoutEntry[];
287
+ }
288
+
289
+ interface GPUBindGroupLayoutEntry {
290
+ binding: GPUIndex32;
291
+ buffer?: GPUBufferBindingLayout;
292
+ externalTexture?: GPUExternalTextureBindingLayout;
293
+ sampler?: GPUSamplerBindingLayout;
294
+ storageTexture?: GPUStorageTextureBindingLayout;
295
+ texture?: GPUTextureBindingLayout;
296
+ visibility: GPUShaderStageFlags;
297
+ }
298
+
285
299
  interface GPUBlendComponent {
286
300
  dstFactor?: GPUBlendFactor;
287
301
  operation?: GPUBlendOperation;
@@ -299,6 +313,12 @@ interface GPUBufferBinding {
299
313
  size?: GPUSize64;
300
314
  }
301
315
 
316
+ interface GPUBufferBindingLayout {
317
+ hasDynamicOffset?: boolean;
318
+ minBindingSize?: GPUSize64;
319
+ type?: GPUBufferBindingType;
320
+ }
321
+
302
322
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
303
323
  mappedAtCreation?: boolean;
304
324
  size: GPUSize64;
@@ -376,12 +396,21 @@ interface GPUDepthStencilState {
376
396
  stencilWriteMask?: GPUStencilValue;
377
397
  }
378
398
 
399
+ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
400
+ defaultQueue?: GPUQueueDescriptor;
401
+ requiredFeatures?: GPUFeatureName[];
402
+ requiredLimits?: Record<string, GPUSize64 | undefined>;
403
+ }
404
+
379
405
  interface GPUExtent3DDict {
380
406
  depthOrArrayLayers?: GPUIntegerCoordinate;
381
407
  height?: GPUIntegerCoordinate;
382
408
  width: GPUIntegerCoordinate;
383
409
  }
384
410
 
411
+ interface GPUExternalTextureBindingLayout {
412
+ }
413
+
385
414
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
386
415
  colorSpace?: PredefinedColorSpace;
387
416
  }
@@ -442,6 +471,9 @@ interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
442
471
  type: GPUQueryType;
443
472
  }
444
473
 
474
+ interface GPUQueueDescriptor extends GPUObjectDescriptorBase {
475
+ }
476
+
445
477
  interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {
446
478
  }
447
479
 
@@ -499,6 +531,15 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
499
531
  vertex: GPUVertexState;
500
532
  }
501
533
 
534
+ interface GPURequestAdapterOptions {
535
+ forceFallbackAdapter?: boolean;
536
+ powerPreference?: GPUPowerPreference;
537
+ }
538
+
539
+ interface GPUSamplerBindingLayout {
540
+ type?: GPUSamplerBindingType;
541
+ }
542
+
502
543
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
503
544
  addressModeU?: GPUAddressMode;
504
545
  addressModeV?: GPUAddressMode;
@@ -523,6 +564,12 @@ interface GPUStencilFaceState {
523
564
  passOp?: GPUStencilOperation;
524
565
  }
525
566
 
567
+ interface GPUStorageTextureBindingLayout {
568
+ access?: GPUStorageTextureAccess;
569
+ format: GPUTextureFormat;
570
+ viewDimension?: GPUTextureViewDimension;
571
+ }
572
+
526
573
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
527
574
  buffer: GPUBuffer;
528
575
  }
@@ -540,6 +587,12 @@ interface GPUTexelCopyTextureInfo {
540
587
  texture: GPUTexture;
541
588
  }
542
589
 
590
+ interface GPUTextureBindingLayout {
591
+ multisampled?: boolean;
592
+ sampleType?: GPUTextureSampleType;
593
+ viewDimension?: GPUTextureViewDimension;
594
+ }
595
+
543
596
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
544
597
  dimension?: GPUTextureDimension;
545
598
  format: GPUTextureFormat;
@@ -4483,6 +4536,76 @@ declare var FormData: {
4483
4536
  new(): FormData;
4484
4537
  };
4485
4538
 
4539
+ /**
4540
+ * The **`GPU`** interface of the WebGPU API is the starting point for using WebGPU. It can be used to return a GPUAdapter from which you can request devices, configure features and limits, and more.
4541
+ * Available only in secure contexts.
4542
+ *
4543
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU)
4544
+ */
4545
+ interface GPU {
4546
+ /**
4547
+ * The **`wgslLanguageFeatures`** read-only property of the GPU interface returns a WGSLLanguageFeatures object that reports the WGSL language extensions supported by the WebGPU implementation.
4548
+ *
4549
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures)
4550
+ */
4551
+ readonly wgslLanguageFeatures: WGSLLanguageFeatures;
4552
+ /**
4553
+ * The **`getPreferredCanvasFormat()`** method of the GPU interface returns the optimal canvas texture format for displaying 8-bit depth, standard dynamic range content on the current system.
4554
+ *
4555
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat)
4556
+ */
4557
+ getPreferredCanvasFormat(): GPUTextureFormat;
4558
+ /**
4559
+ * The **`requestAdapter()`** method of the GPU interface returns a Promise that fulfills with a GPUAdapter object instance. From this you can request a GPUDevice, adapter info, features, and limits.
4560
+ *
4561
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter)
4562
+ */
4563
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
4564
+ }
4565
+
4566
+ declare var GPU: {
4567
+ prototype: GPU;
4568
+ new(): GPU;
4569
+ };
4570
+
4571
+ /**
4572
+ * The **`GPUAdapter`** interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.
4573
+ * Available only in secure contexts.
4574
+ *
4575
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter)
4576
+ */
4577
+ interface GPUAdapter {
4578
+ /**
4579
+ * The **`features`** read-only property of the GPUAdapter interface returns a GPUSupportedFeatures object that describes additional functionality supported by the adapter.
4580
+ *
4581
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/features)
4582
+ */
4583
+ readonly features: GPUSupportedFeatures;
4584
+ /**
4585
+ * The **`info`** read-only property of the GPUAdapter interface returns a GPUAdapterInfo object containing identifying information about the adapter.
4586
+ *
4587
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/info)
4588
+ */
4589
+ readonly info: GPUAdapterInfo;
4590
+ /**
4591
+ * The **`limits`** read-only property of the GPUAdapter interface returns a GPUSupportedLimits object that describes the limits supported by the adapter.
4592
+ *
4593
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/limits)
4594
+ */
4595
+ readonly limits: GPUSupportedLimits;
4596
+ /**
4597
+ * The **`requestDevice()`** method of the GPUAdapter interface returns a Promise that fulfills with a GPUDevice object, which is the primary interface for communicating with the GPU.
4598
+ *
4599
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/requestDevice)
4600
+ */
4601
+ requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
4602
+ }
4603
+
4604
+ declare var GPUAdapter: {
4605
+ prototype: GPUAdapter;
4606
+ new(): GPUAdapter;
4607
+ };
4608
+
4486
4609
  /**
4487
4610
  * The **`GPUAdapterInfo`** interface of the WebGPU API contains identifying information about a GPUAdapter.
4488
4611
  * Available only in secure contexts.
@@ -4936,6 +5059,12 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
4936
5059
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroup)
4937
5060
  */
4938
5061
  createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
5062
+ /**
5063
+ * The **`createBindGroupLayout()`** method of the GPUDevice interface creates a GPUBindGroupLayout that defines the structure and purpose of related GPU resources such as buffers that will be used in a pipeline, and is used as a template when creating GPUBindGroups.
5064
+ *
5065
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroupLayout)
5066
+ */
5067
+ createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;
4939
5068
  /**
4940
5069
  * The **`createBuffer()`** method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.
4941
5070
  *
@@ -6440,19 +6569,6 @@ interface ImportMeta {
6440
6569
  resolve(specifier: string): string;
6441
6570
  }
6442
6571
 
6443
- /**
6444
- * The parameter passed into an install event handler function, the **`InstallEvent`** interface represents an install action that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker. As a child of ExtendableEvent, it ensures that functional events such as FetchEvent are not dispatched during installation.
6445
- *
6446
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InstallEvent)
6447
- */
6448
- interface InstallEvent extends ExtendableEvent {
6449
- }
6450
-
6451
- declare var InstallEvent: {
6452
- prototype: InstallEvent;
6453
- new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent;
6454
- };
6455
-
6456
6572
  /**
6457
6573
  * The **`KHR_parallel_shader_compile`** extension is part of the WebGL API and enables a non-blocking poll operation, so that compile/link status availability (COMPLETION_STATUS_KHR) can be queried without potentially incurring stalls. In other words you can check the status of your shaders compiling without blocking the runtime.
6458
6574
  *
@@ -6718,6 +6834,15 @@ interface NavigatorConcurrentHardware {
6718
6834
  readonly hardwareConcurrency: number;
6719
6835
  }
6720
6836
 
6837
+ interface NavigatorGPU {
6838
+ /**
6839
+ * Available only in secure contexts.
6840
+ *
6841
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/gpu)
6842
+ */
6843
+ readonly gpu: GPU;
6844
+ }
6845
+
6721
6846
  interface NavigatorID {
6722
6847
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName) */
6723
6848
  readonly appCodeName: string;
@@ -8028,7 +8153,7 @@ interface ReadableStreamDefaultController<R = any> {
8028
8153
  *
8029
8154
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/enqueue)
8030
8155
  */
8031
- enqueue(chunk?: R): void;
8156
+ enqueue(chunk: R): void;
8032
8157
  /**
8033
8158
  * The **`error()`** method of the ReadableStreamDefaultController interface causes any future interactions with the associated stream to error.
8034
8159
  *
@@ -12394,7 +12519,7 @@ declare var WorkerLocation: {
12394
12519
  *
12395
12520
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)
12396
12521
  */
12397
- interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
12522
+ interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
12398
12523
  /**
12399
12524
  * The read-only **`mediaCapabilities`** property of the WorkerNavigator interface references a MediaCapabilities object that can expose information about the decoding and encoding capabilities for a given format and output capabilities (as defined by the Media Capabilities API).
12400
12525
  *
@@ -13213,6 +13338,7 @@ type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
13213
13338
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
13214
13339
  type GPUPipelineConstantValue = number;
13215
13340
  type GPUSampleMask = number;
13341
+ type GPUShaderStageFlags = number;
13216
13342
  type GPUSignedOffset32 = number;
13217
13343
  type GPUSize32 = number;
13218
13344
  type GPUSize32Out = number;
@@ -13272,6 +13398,7 @@ type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
13272
13398
  type GPUAutoLayoutMode = "auto";
13273
13399
  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";
13274
13400
  type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
13401
+ type GPUBufferBindingType = "read-only-storage" | "storage" | "uniform";
13275
13402
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
13276
13403
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
13277
13404
  type GPUCanvasToneMappingMode = "extended" | "standard";
@@ -13280,19 +13407,24 @@ type GPUCompilationMessageType = "error" | "info" | "warning";
13280
13407
  type GPUCullMode = "back" | "front" | "none";
13281
13408
  type GPUDeviceLostReason = "destroyed" | "unknown";
13282
13409
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
13410
+ type GPUFeatureName = "bgra8unorm-storage" | "clip-distances" | "core-features-and-limits" | "depth-clip-control" | "depth32float-stencil8" | "dual-source-blending" | "float32-blendable" | "float32-filterable" | "indirect-first-instance" | "primitive-index" | "rg11b10ufloat-renderable" | "shader-f16" | "subgroups" | "texture-compression-astc" | "texture-compression-astc-sliced-3d" | "texture-compression-bc" | "texture-compression-bc-sliced-3d" | "texture-compression-etc2" | "texture-formats-tier1" | "timestamp-query";
13283
13411
  type GPUFilterMode = "linear" | "nearest";
13284
13412
  type GPUFrontFace = "ccw" | "cw";
13285
13413
  type GPUIndexFormat = "uint16" | "uint32";
13286
13414
  type GPULoadOp = "clear" | "load";
13287
13415
  type GPUMipmapFilterMode = "linear" | "nearest";
13288
13416
  type GPUPipelineErrorReason = "internal" | "validation";
13417
+ type GPUPowerPreference = "high-performance" | "low-power";
13289
13418
  type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
13290
13419
  type GPUQueryType = "occlusion" | "timestamp";
13420
+ type GPUSamplerBindingType = "comparison" | "filtering" | "non-filtering";
13291
13421
  type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
13422
+ type GPUStorageTextureAccess = "read-only" | "read-write" | "write-only";
13292
13423
  type GPUStoreOp = "discard" | "store";
13293
13424
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
13294
13425
  type GPUTextureDimension = "1d" | "2d" | "3d";
13295
13426
  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";
13427
+ type GPUTextureSampleType = "depth" | "float" | "sint" | "uint" | "unfilterable-float";
13296
13428
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
13297
13429
  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";
13298
13430
  type GPUVertexStepMode = "instance" | "vertex";
package/ts5.6/index.d.ts CHANGED
@@ -282,6 +282,20 @@ interface GPUBindGroupEntry {
282
282
  resource: GPUBindingResource;
283
283
  }
284
284
 
285
+ interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
286
+ entries: GPUBindGroupLayoutEntry[];
287
+ }
288
+
289
+ interface GPUBindGroupLayoutEntry {
290
+ binding: GPUIndex32;
291
+ buffer?: GPUBufferBindingLayout;
292
+ externalTexture?: GPUExternalTextureBindingLayout;
293
+ sampler?: GPUSamplerBindingLayout;
294
+ storageTexture?: GPUStorageTextureBindingLayout;
295
+ texture?: GPUTextureBindingLayout;
296
+ visibility: GPUShaderStageFlags;
297
+ }
298
+
285
299
  interface GPUBlendComponent {
286
300
  dstFactor?: GPUBlendFactor;
287
301
  operation?: GPUBlendOperation;
@@ -299,6 +313,12 @@ interface GPUBufferBinding {
299
313
  size?: GPUSize64;
300
314
  }
301
315
 
316
+ interface GPUBufferBindingLayout {
317
+ hasDynamicOffset?: boolean;
318
+ minBindingSize?: GPUSize64;
319
+ type?: GPUBufferBindingType;
320
+ }
321
+
302
322
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
303
323
  mappedAtCreation?: boolean;
304
324
  size: GPUSize64;
@@ -376,12 +396,21 @@ interface GPUDepthStencilState {
376
396
  stencilWriteMask?: GPUStencilValue;
377
397
  }
378
398
 
399
+ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
400
+ defaultQueue?: GPUQueueDescriptor;
401
+ requiredFeatures?: GPUFeatureName[];
402
+ requiredLimits?: Record<string, GPUSize64 | undefined>;
403
+ }
404
+
379
405
  interface GPUExtent3DDict {
380
406
  depthOrArrayLayers?: GPUIntegerCoordinate;
381
407
  height?: GPUIntegerCoordinate;
382
408
  width: GPUIntegerCoordinate;
383
409
  }
384
410
 
411
+ interface GPUExternalTextureBindingLayout {
412
+ }
413
+
385
414
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
386
415
  colorSpace?: PredefinedColorSpace;
387
416
  }
@@ -442,6 +471,9 @@ interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
442
471
  type: GPUQueryType;
443
472
  }
444
473
 
474
+ interface GPUQueueDescriptor extends GPUObjectDescriptorBase {
475
+ }
476
+
445
477
  interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {
446
478
  }
447
479
 
@@ -499,6 +531,15 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
499
531
  vertex: GPUVertexState;
500
532
  }
501
533
 
534
+ interface GPURequestAdapterOptions {
535
+ forceFallbackAdapter?: boolean;
536
+ powerPreference?: GPUPowerPreference;
537
+ }
538
+
539
+ interface GPUSamplerBindingLayout {
540
+ type?: GPUSamplerBindingType;
541
+ }
542
+
502
543
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
503
544
  addressModeU?: GPUAddressMode;
504
545
  addressModeV?: GPUAddressMode;
@@ -523,6 +564,12 @@ interface GPUStencilFaceState {
523
564
  passOp?: GPUStencilOperation;
524
565
  }
525
566
 
567
+ interface GPUStorageTextureBindingLayout {
568
+ access?: GPUStorageTextureAccess;
569
+ format: GPUTextureFormat;
570
+ viewDimension?: GPUTextureViewDimension;
571
+ }
572
+
526
573
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
527
574
  buffer: GPUBuffer;
528
575
  }
@@ -540,6 +587,12 @@ interface GPUTexelCopyTextureInfo {
540
587
  texture: GPUTexture;
541
588
  }
542
589
 
590
+ interface GPUTextureBindingLayout {
591
+ multisampled?: boolean;
592
+ sampleType?: GPUTextureSampleType;
593
+ viewDimension?: GPUTextureViewDimension;
594
+ }
595
+
543
596
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
544
597
  dimension?: GPUTextureDimension;
545
598
  format: GPUTextureFormat;
@@ -4483,6 +4536,76 @@ declare var FormData: {
4483
4536
  new(): FormData;
4484
4537
  };
4485
4538
 
4539
+ /**
4540
+ * The **`GPU`** interface of the WebGPU API is the starting point for using WebGPU. It can be used to return a GPUAdapter from which you can request devices, configure features and limits, and more.
4541
+ * Available only in secure contexts.
4542
+ *
4543
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU)
4544
+ */
4545
+ interface GPU {
4546
+ /**
4547
+ * The **`wgslLanguageFeatures`** read-only property of the GPU interface returns a WGSLLanguageFeatures object that reports the WGSL language extensions supported by the WebGPU implementation.
4548
+ *
4549
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures)
4550
+ */
4551
+ readonly wgslLanguageFeatures: WGSLLanguageFeatures;
4552
+ /**
4553
+ * The **`getPreferredCanvasFormat()`** method of the GPU interface returns the optimal canvas texture format for displaying 8-bit depth, standard dynamic range content on the current system.
4554
+ *
4555
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat)
4556
+ */
4557
+ getPreferredCanvasFormat(): GPUTextureFormat;
4558
+ /**
4559
+ * The **`requestAdapter()`** method of the GPU interface returns a Promise that fulfills with a GPUAdapter object instance. From this you can request a GPUDevice, adapter info, features, and limits.
4560
+ *
4561
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter)
4562
+ */
4563
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
4564
+ }
4565
+
4566
+ declare var GPU: {
4567
+ prototype: GPU;
4568
+ new(): GPU;
4569
+ };
4570
+
4571
+ /**
4572
+ * The **`GPUAdapter`** interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.
4573
+ * Available only in secure contexts.
4574
+ *
4575
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter)
4576
+ */
4577
+ interface GPUAdapter {
4578
+ /**
4579
+ * The **`features`** read-only property of the GPUAdapter interface returns a GPUSupportedFeatures object that describes additional functionality supported by the adapter.
4580
+ *
4581
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/features)
4582
+ */
4583
+ readonly features: GPUSupportedFeatures;
4584
+ /**
4585
+ * The **`info`** read-only property of the GPUAdapter interface returns a GPUAdapterInfo object containing identifying information about the adapter.
4586
+ *
4587
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/info)
4588
+ */
4589
+ readonly info: GPUAdapterInfo;
4590
+ /**
4591
+ * The **`limits`** read-only property of the GPUAdapter interface returns a GPUSupportedLimits object that describes the limits supported by the adapter.
4592
+ *
4593
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/limits)
4594
+ */
4595
+ readonly limits: GPUSupportedLimits;
4596
+ /**
4597
+ * The **`requestDevice()`** method of the GPUAdapter interface returns a Promise that fulfills with a GPUDevice object, which is the primary interface for communicating with the GPU.
4598
+ *
4599
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/requestDevice)
4600
+ */
4601
+ requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
4602
+ }
4603
+
4604
+ declare var GPUAdapter: {
4605
+ prototype: GPUAdapter;
4606
+ new(): GPUAdapter;
4607
+ };
4608
+
4486
4609
  /**
4487
4610
  * The **`GPUAdapterInfo`** interface of the WebGPU API contains identifying information about a GPUAdapter.
4488
4611
  * Available only in secure contexts.
@@ -4936,6 +5059,12 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
4936
5059
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroup)
4937
5060
  */
4938
5061
  createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
5062
+ /**
5063
+ * The **`createBindGroupLayout()`** method of the GPUDevice interface creates a GPUBindGroupLayout that defines the structure and purpose of related GPU resources such as buffers that will be used in a pipeline, and is used as a template when creating GPUBindGroups.
5064
+ *
5065
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroupLayout)
5066
+ */
5067
+ createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;
4939
5068
  /**
4940
5069
  * The **`createBuffer()`** method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.
4941
5070
  *
@@ -6440,19 +6569,6 @@ interface ImportMeta {
6440
6569
  resolve(specifier: string): string;
6441
6570
  }
6442
6571
 
6443
- /**
6444
- * The parameter passed into an install event handler function, the **`InstallEvent`** interface represents an install action that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker. As a child of ExtendableEvent, it ensures that functional events such as FetchEvent are not dispatched during installation.
6445
- *
6446
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InstallEvent)
6447
- */
6448
- interface InstallEvent extends ExtendableEvent {
6449
- }
6450
-
6451
- declare var InstallEvent: {
6452
- prototype: InstallEvent;
6453
- new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent;
6454
- };
6455
-
6456
6572
  /**
6457
6573
  * The **`KHR_parallel_shader_compile`** extension is part of the WebGL API and enables a non-blocking poll operation, so that compile/link status availability (COMPLETION_STATUS_KHR) can be queried without potentially incurring stalls. In other words you can check the status of your shaders compiling without blocking the runtime.
6458
6574
  *
@@ -6718,6 +6834,15 @@ interface NavigatorConcurrentHardware {
6718
6834
  readonly hardwareConcurrency: number;
6719
6835
  }
6720
6836
 
6837
+ interface NavigatorGPU {
6838
+ /**
6839
+ * Available only in secure contexts.
6840
+ *
6841
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/gpu)
6842
+ */
6843
+ readonly gpu: GPU;
6844
+ }
6845
+
6721
6846
  interface NavigatorID {
6722
6847
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName) */
6723
6848
  readonly appCodeName: string;
@@ -8028,7 +8153,7 @@ interface ReadableStreamDefaultController<R = any> {
8028
8153
  *
8029
8154
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/enqueue)
8030
8155
  */
8031
- enqueue(chunk?: R): void;
8156
+ enqueue(chunk: R): void;
8032
8157
  /**
8033
8158
  * The **`error()`** method of the ReadableStreamDefaultController interface causes any future interactions with the associated stream to error.
8034
8159
  *
@@ -12394,7 +12519,7 @@ declare var WorkerLocation: {
12394
12519
  *
12395
12520
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)
12396
12521
  */
12397
- interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
12522
+ interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
12398
12523
  /**
12399
12524
  * The read-only **`mediaCapabilities`** property of the WorkerNavigator interface references a MediaCapabilities object that can expose information about the decoding and encoding capabilities for a given format and output capabilities (as defined by the Media Capabilities API).
12400
12525
  *
@@ -13213,6 +13338,7 @@ type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
13213
13338
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
13214
13339
  type GPUPipelineConstantValue = number;
13215
13340
  type GPUSampleMask = number;
13341
+ type GPUShaderStageFlags = number;
13216
13342
  type GPUSignedOffset32 = number;
13217
13343
  type GPUSize32 = number;
13218
13344
  type GPUSize32Out = number;
@@ -13272,6 +13398,7 @@ type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
13272
13398
  type GPUAutoLayoutMode = "auto";
13273
13399
  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";
13274
13400
  type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
13401
+ type GPUBufferBindingType = "read-only-storage" | "storage" | "uniform";
13275
13402
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
13276
13403
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
13277
13404
  type GPUCanvasToneMappingMode = "extended" | "standard";
@@ -13280,19 +13407,24 @@ type GPUCompilationMessageType = "error" | "info" | "warning";
13280
13407
  type GPUCullMode = "back" | "front" | "none";
13281
13408
  type GPUDeviceLostReason = "destroyed" | "unknown";
13282
13409
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
13410
+ type GPUFeatureName = "bgra8unorm-storage" | "clip-distances" | "core-features-and-limits" | "depth-clip-control" | "depth32float-stencil8" | "dual-source-blending" | "float32-blendable" | "float32-filterable" | "indirect-first-instance" | "primitive-index" | "rg11b10ufloat-renderable" | "shader-f16" | "subgroups" | "texture-compression-astc" | "texture-compression-astc-sliced-3d" | "texture-compression-bc" | "texture-compression-bc-sliced-3d" | "texture-compression-etc2" | "texture-formats-tier1" | "timestamp-query";
13283
13411
  type GPUFilterMode = "linear" | "nearest";
13284
13412
  type GPUFrontFace = "ccw" | "cw";
13285
13413
  type GPUIndexFormat = "uint16" | "uint32";
13286
13414
  type GPULoadOp = "clear" | "load";
13287
13415
  type GPUMipmapFilterMode = "linear" | "nearest";
13288
13416
  type GPUPipelineErrorReason = "internal" | "validation";
13417
+ type GPUPowerPreference = "high-performance" | "low-power";
13289
13418
  type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
13290
13419
  type GPUQueryType = "occlusion" | "timestamp";
13420
+ type GPUSamplerBindingType = "comparison" | "filtering" | "non-filtering";
13291
13421
  type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
13422
+ type GPUStorageTextureAccess = "read-only" | "read-write" | "write-only";
13292
13423
  type GPUStoreOp = "discard" | "store";
13293
13424
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
13294
13425
  type GPUTextureDimension = "1d" | "2d" | "3d";
13295
13426
  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";
13427
+ type GPUTextureSampleType = "depth" | "float" | "sint" | "uint" | "unfilterable-float";
13296
13428
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
13297
13429
  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";
13298
13430
  type GPUVertexStepMode = "instance" | "vertex";
package/ts5.9/index.d.ts CHANGED
@@ -282,6 +282,20 @@ interface GPUBindGroupEntry {
282
282
  resource: GPUBindingResource;
283
283
  }
284
284
 
285
+ interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
286
+ entries: GPUBindGroupLayoutEntry[];
287
+ }
288
+
289
+ interface GPUBindGroupLayoutEntry {
290
+ binding: GPUIndex32;
291
+ buffer?: GPUBufferBindingLayout;
292
+ externalTexture?: GPUExternalTextureBindingLayout;
293
+ sampler?: GPUSamplerBindingLayout;
294
+ storageTexture?: GPUStorageTextureBindingLayout;
295
+ texture?: GPUTextureBindingLayout;
296
+ visibility: GPUShaderStageFlags;
297
+ }
298
+
285
299
  interface GPUBlendComponent {
286
300
  dstFactor?: GPUBlendFactor;
287
301
  operation?: GPUBlendOperation;
@@ -299,6 +313,12 @@ interface GPUBufferBinding {
299
313
  size?: GPUSize64;
300
314
  }
301
315
 
316
+ interface GPUBufferBindingLayout {
317
+ hasDynamicOffset?: boolean;
318
+ minBindingSize?: GPUSize64;
319
+ type?: GPUBufferBindingType;
320
+ }
321
+
302
322
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
303
323
  mappedAtCreation?: boolean;
304
324
  size: GPUSize64;
@@ -376,12 +396,21 @@ interface GPUDepthStencilState {
376
396
  stencilWriteMask?: GPUStencilValue;
377
397
  }
378
398
 
399
+ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
400
+ defaultQueue?: GPUQueueDescriptor;
401
+ requiredFeatures?: GPUFeatureName[];
402
+ requiredLimits?: Record<string, GPUSize64 | undefined>;
403
+ }
404
+
379
405
  interface GPUExtent3DDict {
380
406
  depthOrArrayLayers?: GPUIntegerCoordinate;
381
407
  height?: GPUIntegerCoordinate;
382
408
  width: GPUIntegerCoordinate;
383
409
  }
384
410
 
411
+ interface GPUExternalTextureBindingLayout {
412
+ }
413
+
385
414
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
386
415
  colorSpace?: PredefinedColorSpace;
387
416
  }
@@ -442,6 +471,9 @@ interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
442
471
  type: GPUQueryType;
443
472
  }
444
473
 
474
+ interface GPUQueueDescriptor extends GPUObjectDescriptorBase {
475
+ }
476
+
445
477
  interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {
446
478
  }
447
479
 
@@ -499,6 +531,15 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
499
531
  vertex: GPUVertexState;
500
532
  }
501
533
 
534
+ interface GPURequestAdapterOptions {
535
+ forceFallbackAdapter?: boolean;
536
+ powerPreference?: GPUPowerPreference;
537
+ }
538
+
539
+ interface GPUSamplerBindingLayout {
540
+ type?: GPUSamplerBindingType;
541
+ }
542
+
502
543
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
503
544
  addressModeU?: GPUAddressMode;
504
545
  addressModeV?: GPUAddressMode;
@@ -523,6 +564,12 @@ interface GPUStencilFaceState {
523
564
  passOp?: GPUStencilOperation;
524
565
  }
525
566
 
567
+ interface GPUStorageTextureBindingLayout {
568
+ access?: GPUStorageTextureAccess;
569
+ format: GPUTextureFormat;
570
+ viewDimension?: GPUTextureViewDimension;
571
+ }
572
+
526
573
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
527
574
  buffer: GPUBuffer;
528
575
  }
@@ -540,6 +587,12 @@ interface GPUTexelCopyTextureInfo {
540
587
  texture: GPUTexture;
541
588
  }
542
589
 
590
+ interface GPUTextureBindingLayout {
591
+ multisampled?: boolean;
592
+ sampleType?: GPUTextureSampleType;
593
+ viewDimension?: GPUTextureViewDimension;
594
+ }
595
+
543
596
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
544
597
  dimension?: GPUTextureDimension;
545
598
  format: GPUTextureFormat;
@@ -4483,6 +4536,76 @@ declare var FormData: {
4483
4536
  new(): FormData;
4484
4537
  };
4485
4538
 
4539
+ /**
4540
+ * The **`GPU`** interface of the WebGPU API is the starting point for using WebGPU. It can be used to return a GPUAdapter from which you can request devices, configure features and limits, and more.
4541
+ * Available only in secure contexts.
4542
+ *
4543
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU)
4544
+ */
4545
+ interface GPU {
4546
+ /**
4547
+ * The **`wgslLanguageFeatures`** read-only property of the GPU interface returns a WGSLLanguageFeatures object that reports the WGSL language extensions supported by the WebGPU implementation.
4548
+ *
4549
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures)
4550
+ */
4551
+ readonly wgslLanguageFeatures: WGSLLanguageFeatures;
4552
+ /**
4553
+ * The **`getPreferredCanvasFormat()`** method of the GPU interface returns the optimal canvas texture format for displaying 8-bit depth, standard dynamic range content on the current system.
4554
+ *
4555
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat)
4556
+ */
4557
+ getPreferredCanvasFormat(): GPUTextureFormat;
4558
+ /**
4559
+ * The **`requestAdapter()`** method of the GPU interface returns a Promise that fulfills with a GPUAdapter object instance. From this you can request a GPUDevice, adapter info, features, and limits.
4560
+ *
4561
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter)
4562
+ */
4563
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
4564
+ }
4565
+
4566
+ declare var GPU: {
4567
+ prototype: GPU;
4568
+ new(): GPU;
4569
+ };
4570
+
4571
+ /**
4572
+ * The **`GPUAdapter`** interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.
4573
+ * Available only in secure contexts.
4574
+ *
4575
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter)
4576
+ */
4577
+ interface GPUAdapter {
4578
+ /**
4579
+ * The **`features`** read-only property of the GPUAdapter interface returns a GPUSupportedFeatures object that describes additional functionality supported by the adapter.
4580
+ *
4581
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/features)
4582
+ */
4583
+ readonly features: GPUSupportedFeatures;
4584
+ /**
4585
+ * The **`info`** read-only property of the GPUAdapter interface returns a GPUAdapterInfo object containing identifying information about the adapter.
4586
+ *
4587
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/info)
4588
+ */
4589
+ readonly info: GPUAdapterInfo;
4590
+ /**
4591
+ * The **`limits`** read-only property of the GPUAdapter interface returns a GPUSupportedLimits object that describes the limits supported by the adapter.
4592
+ *
4593
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/limits)
4594
+ */
4595
+ readonly limits: GPUSupportedLimits;
4596
+ /**
4597
+ * The **`requestDevice()`** method of the GPUAdapter interface returns a Promise that fulfills with a GPUDevice object, which is the primary interface for communicating with the GPU.
4598
+ *
4599
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/requestDevice)
4600
+ */
4601
+ requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
4602
+ }
4603
+
4604
+ declare var GPUAdapter: {
4605
+ prototype: GPUAdapter;
4606
+ new(): GPUAdapter;
4607
+ };
4608
+
4486
4609
  /**
4487
4610
  * The **`GPUAdapterInfo`** interface of the WebGPU API contains identifying information about a GPUAdapter.
4488
4611
  * Available only in secure contexts.
@@ -4936,6 +5059,12 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
4936
5059
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroup)
4937
5060
  */
4938
5061
  createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
5062
+ /**
5063
+ * The **`createBindGroupLayout()`** method of the GPUDevice interface creates a GPUBindGroupLayout that defines the structure and purpose of related GPU resources such as buffers that will be used in a pipeline, and is used as a template when creating GPUBindGroups.
5064
+ *
5065
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroupLayout)
5066
+ */
5067
+ createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;
4939
5068
  /**
4940
5069
  * The **`createBuffer()`** method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.
4941
5070
  *
@@ -6440,19 +6569,6 @@ interface ImportMeta {
6440
6569
  resolve(specifier: string): string;
6441
6570
  }
6442
6571
 
6443
- /**
6444
- * The parameter passed into an install event handler function, the **`InstallEvent`** interface represents an install action that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker. As a child of ExtendableEvent, it ensures that functional events such as FetchEvent are not dispatched during installation.
6445
- *
6446
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InstallEvent)
6447
- */
6448
- interface InstallEvent extends ExtendableEvent {
6449
- }
6450
-
6451
- declare var InstallEvent: {
6452
- prototype: InstallEvent;
6453
- new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent;
6454
- };
6455
-
6456
6572
  /**
6457
6573
  * The **`KHR_parallel_shader_compile`** extension is part of the WebGL API and enables a non-blocking poll operation, so that compile/link status availability (COMPLETION_STATUS_KHR) can be queried without potentially incurring stalls. In other words you can check the status of your shaders compiling without blocking the runtime.
6458
6574
  *
@@ -6718,6 +6834,15 @@ interface NavigatorConcurrentHardware {
6718
6834
  readonly hardwareConcurrency: number;
6719
6835
  }
6720
6836
 
6837
+ interface NavigatorGPU {
6838
+ /**
6839
+ * Available only in secure contexts.
6840
+ *
6841
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/gpu)
6842
+ */
6843
+ readonly gpu: GPU;
6844
+ }
6845
+
6721
6846
  interface NavigatorID {
6722
6847
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName) */
6723
6848
  readonly appCodeName: string;
@@ -8028,7 +8153,7 @@ interface ReadableStreamDefaultController<R = any> {
8028
8153
  *
8029
8154
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/enqueue)
8030
8155
  */
8031
- enqueue(chunk?: R): void;
8156
+ enqueue(chunk: R): void;
8032
8157
  /**
8033
8158
  * The **`error()`** method of the ReadableStreamDefaultController interface causes any future interactions with the associated stream to error.
8034
8159
  *
@@ -12394,7 +12519,7 @@ declare var WorkerLocation: {
12394
12519
  *
12395
12520
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)
12396
12521
  */
12397
- interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
12522
+ interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
12398
12523
  /**
12399
12524
  * The read-only **`mediaCapabilities`** property of the WorkerNavigator interface references a MediaCapabilities object that can expose information about the decoding and encoding capabilities for a given format and output capabilities (as defined by the Media Capabilities API).
12400
12525
  *
@@ -13213,6 +13338,7 @@ type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
13213
13338
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
13214
13339
  type GPUPipelineConstantValue = number;
13215
13340
  type GPUSampleMask = number;
13341
+ type GPUShaderStageFlags = number;
13216
13342
  type GPUSignedOffset32 = number;
13217
13343
  type GPUSize32 = number;
13218
13344
  type GPUSize32Out = number;
@@ -13272,6 +13398,7 @@ type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
13272
13398
  type GPUAutoLayoutMode = "auto";
13273
13399
  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";
13274
13400
  type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
13401
+ type GPUBufferBindingType = "read-only-storage" | "storage" | "uniform";
13275
13402
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
13276
13403
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
13277
13404
  type GPUCanvasToneMappingMode = "extended" | "standard";
@@ -13280,19 +13407,24 @@ type GPUCompilationMessageType = "error" | "info" | "warning";
13280
13407
  type GPUCullMode = "back" | "front" | "none";
13281
13408
  type GPUDeviceLostReason = "destroyed" | "unknown";
13282
13409
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
13410
+ type GPUFeatureName = "bgra8unorm-storage" | "clip-distances" | "core-features-and-limits" | "depth-clip-control" | "depth32float-stencil8" | "dual-source-blending" | "float32-blendable" | "float32-filterable" | "indirect-first-instance" | "primitive-index" | "rg11b10ufloat-renderable" | "shader-f16" | "subgroups" | "texture-compression-astc" | "texture-compression-astc-sliced-3d" | "texture-compression-bc" | "texture-compression-bc-sliced-3d" | "texture-compression-etc2" | "texture-formats-tier1" | "timestamp-query";
13283
13411
  type GPUFilterMode = "linear" | "nearest";
13284
13412
  type GPUFrontFace = "ccw" | "cw";
13285
13413
  type GPUIndexFormat = "uint16" | "uint32";
13286
13414
  type GPULoadOp = "clear" | "load";
13287
13415
  type GPUMipmapFilterMode = "linear" | "nearest";
13288
13416
  type GPUPipelineErrorReason = "internal" | "validation";
13417
+ type GPUPowerPreference = "high-performance" | "low-power";
13289
13418
  type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
13290
13419
  type GPUQueryType = "occlusion" | "timestamp";
13420
+ type GPUSamplerBindingType = "comparison" | "filtering" | "non-filtering";
13291
13421
  type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
13422
+ type GPUStorageTextureAccess = "read-only" | "read-write" | "write-only";
13292
13423
  type GPUStoreOp = "discard" | "store";
13293
13424
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
13294
13425
  type GPUTextureDimension = "1d" | "2d" | "3d";
13295
13426
  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";
13427
+ type GPUTextureSampleType = "depth" | "float" | "sint" | "uint" | "unfilterable-float";
13296
13428
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
13297
13429
  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";
13298
13430
  type GPUVertexStepMode = "instance" | "vertex";