@types/webworker 0.0.69 → 0.0.70

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
@@ -45,4 +45,4 @@ This project does not respect semantic versioning as almost every change could p
45
45
 
46
46
  ## Deploy Metadata
47
47
 
48
- You can read what changed in version 0.0.69 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fwebworker%400.0.69.
48
+ You can read what changed in version 0.0.70 at https://github.com/microsoft/TypeScript-DOM-lib-generator/releases/tag/%40types%2Fwebworker%400.0.70.
package/index.d.ts CHANGED
@@ -375,6 +375,20 @@ interface GPUBindGroupEntry {
375
375
  resource: GPUBindingResource;
376
376
  }
377
377
 
378
+ interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
379
+ entries: GPUBindGroupLayoutEntry[];
380
+ }
381
+
382
+ interface GPUBindGroupLayoutEntry {
383
+ binding: GPUIndex32;
384
+ buffer?: GPUBufferBindingLayout;
385
+ externalTexture?: GPUExternalTextureBindingLayout;
386
+ sampler?: GPUSamplerBindingLayout;
387
+ storageTexture?: GPUStorageTextureBindingLayout;
388
+ texture?: GPUTextureBindingLayout;
389
+ visibility: GPUShaderStageFlags;
390
+ }
391
+
378
392
  interface GPUBlendComponent {
379
393
  dstFactor?: GPUBlendFactor;
380
394
  operation?: GPUBlendOperation;
@@ -392,6 +406,12 @@ interface GPUBufferBinding {
392
406
  size?: GPUSize64;
393
407
  }
394
408
 
409
+ interface GPUBufferBindingLayout {
410
+ hasDynamicOffset?: boolean;
411
+ minBindingSize?: GPUSize64;
412
+ type?: GPUBufferBindingType;
413
+ }
414
+
395
415
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
396
416
  mappedAtCreation?: boolean;
397
417
  size: GPUSize64;
@@ -469,12 +489,21 @@ interface GPUDepthStencilState {
469
489
  stencilWriteMask?: GPUStencilValue;
470
490
  }
471
491
 
492
+ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
493
+ defaultQueue?: GPUQueueDescriptor;
494
+ requiredFeatures?: GPUFeatureName[];
495
+ requiredLimits?: Record<string, GPUSize64 | undefined>;
496
+ }
497
+
472
498
  interface GPUExtent3DDict {
473
499
  depthOrArrayLayers?: GPUIntegerCoordinate;
474
500
  height?: GPUIntegerCoordinate;
475
501
  width: GPUIntegerCoordinate;
476
502
  }
477
503
 
504
+ interface GPUExternalTextureBindingLayout {
505
+ }
506
+
478
507
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
479
508
  colorSpace?: PredefinedColorSpace;
480
509
  source: VideoFrame;
@@ -536,6 +565,9 @@ interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
536
565
  type: GPUQueryType;
537
566
  }
538
567
 
568
+ interface GPUQueueDescriptor extends GPUObjectDescriptorBase {
569
+ }
570
+
539
571
  interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {
540
572
  }
541
573
 
@@ -593,6 +625,15 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
593
625
  vertex: GPUVertexState;
594
626
  }
595
627
 
628
+ interface GPURequestAdapterOptions {
629
+ forceFallbackAdapter?: boolean;
630
+ powerPreference?: GPUPowerPreference;
631
+ }
632
+
633
+ interface GPUSamplerBindingLayout {
634
+ type?: GPUSamplerBindingType;
635
+ }
636
+
596
637
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
597
638
  addressModeU?: GPUAddressMode;
598
639
  addressModeV?: GPUAddressMode;
@@ -617,6 +658,12 @@ interface GPUStencilFaceState {
617
658
  passOp?: GPUStencilOperation;
618
659
  }
619
660
 
661
+ interface GPUStorageTextureBindingLayout {
662
+ access?: GPUStorageTextureAccess;
663
+ format: GPUTextureFormat;
664
+ viewDimension?: GPUTextureViewDimension;
665
+ }
666
+
620
667
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
621
668
  buffer: GPUBuffer;
622
669
  }
@@ -634,6 +681,12 @@ interface GPUTexelCopyTextureInfo {
634
681
  texture: GPUTexture;
635
682
  }
636
683
 
684
+ interface GPUTextureBindingLayout {
685
+ multisampled?: boolean;
686
+ sampleType?: GPUTextureSampleType;
687
+ viewDimension?: GPUTextureViewDimension;
688
+ }
689
+
637
690
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
638
691
  dimension?: GPUTextureDimension;
639
692
  format: GPUTextureFormat;
@@ -5189,6 +5242,76 @@ declare var FormData: {
5189
5242
  new(): FormData;
5190
5243
  };
5191
5244
 
5245
+ /**
5246
+ * 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.
5247
+ * Available only in secure contexts.
5248
+ *
5249
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU)
5250
+ */
5251
+ interface GPU {
5252
+ /**
5253
+ * The **`wgslLanguageFeatures`** read-only property of the GPU interface returns a WGSLLanguageFeatures object that reports the WGSL language extensions supported by the WebGPU implementation.
5254
+ *
5255
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures)
5256
+ */
5257
+ readonly wgslLanguageFeatures: WGSLLanguageFeatures;
5258
+ /**
5259
+ * 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.
5260
+ *
5261
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat)
5262
+ */
5263
+ getPreferredCanvasFormat(): GPUTextureFormat;
5264
+ /**
5265
+ * 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.
5266
+ *
5267
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter)
5268
+ */
5269
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
5270
+ }
5271
+
5272
+ declare var GPU: {
5273
+ prototype: GPU;
5274
+ new(): GPU;
5275
+ };
5276
+
5277
+ /**
5278
+ * The **`GPUAdapter`** interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.
5279
+ * Available only in secure contexts.
5280
+ *
5281
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter)
5282
+ */
5283
+ interface GPUAdapter {
5284
+ /**
5285
+ * The **`features`** read-only property of the GPUAdapter interface returns a GPUSupportedFeatures object that describes additional functionality supported by the adapter.
5286
+ *
5287
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/features)
5288
+ */
5289
+ readonly features: GPUSupportedFeatures;
5290
+ /**
5291
+ * The **`info`** read-only property of the GPUAdapter interface returns a GPUAdapterInfo object containing identifying information about the adapter.
5292
+ *
5293
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/info)
5294
+ */
5295
+ readonly info: GPUAdapterInfo;
5296
+ /**
5297
+ * The **`limits`** read-only property of the GPUAdapter interface returns a GPUSupportedLimits object that describes the limits supported by the adapter.
5298
+ *
5299
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/limits)
5300
+ */
5301
+ readonly limits: GPUSupportedLimits;
5302
+ /**
5303
+ * 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.
5304
+ *
5305
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/requestDevice)
5306
+ */
5307
+ requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
5308
+ }
5309
+
5310
+ declare var GPUAdapter: {
5311
+ prototype: GPUAdapter;
5312
+ new(): GPUAdapter;
5313
+ };
5314
+
5192
5315
  /**
5193
5316
  * The **`GPUAdapterInfo`** interface of the WebGPU API contains identifying information about a GPUAdapter.
5194
5317
  * Available only in secure contexts.
@@ -5642,6 +5765,12 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
5642
5765
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroup)
5643
5766
  */
5644
5767
  createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
5768
+ /**
5769
+ * 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.
5770
+ *
5771
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroupLayout)
5772
+ */
5773
+ createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;
5645
5774
  /**
5646
5775
  * The **`createBuffer()`** method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.
5647
5776
  *
@@ -7285,19 +7414,6 @@ interface ImportMeta {
7285
7414
  resolve(specifier: string): string;
7286
7415
  }
7287
7416
 
7288
- /**
7289
- * 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.
7290
- *
7291
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InstallEvent)
7292
- */
7293
- interface InstallEvent extends ExtendableEvent {
7294
- }
7295
-
7296
- declare var InstallEvent: {
7297
- prototype: InstallEvent;
7298
- new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent;
7299
- };
7300
-
7301
7417
  /**
7302
7418
  * 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.
7303
7419
  *
@@ -7595,6 +7711,15 @@ interface NavigatorConcurrentHardware {
7595
7711
  readonly hardwareConcurrency: number;
7596
7712
  }
7597
7713
 
7714
+ interface NavigatorGPU {
7715
+ /**
7716
+ * Available only in secure contexts.
7717
+ *
7718
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/gpu)
7719
+ */
7720
+ readonly gpu: GPU;
7721
+ }
7722
+
7598
7723
  interface NavigatorID {
7599
7724
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName) */
7600
7725
  readonly appCodeName: string;
@@ -13885,7 +14010,7 @@ declare var WorkerLocation: {
13885
14010
  *
13886
14011
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)
13887
14012
  */
13888
- interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
14013
+ interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
13889
14014
  /**
13890
14015
  * 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).
13891
14016
  *
@@ -14894,6 +15019,7 @@ type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
14894
15019
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
14895
15020
  type GPUPipelineConstantValue = number;
14896
15021
  type GPUSampleMask = number;
15022
+ type GPUShaderStageFlags = number;
14897
15023
  type GPUSignedOffset32 = number;
14898
15024
  type GPUSize32 = number;
14899
15025
  type GPUSize32Out = number;
@@ -14962,6 +15088,7 @@ type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
14962
15088
  type GPUAutoLayoutMode = "auto";
14963
15089
  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";
14964
15090
  type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
15091
+ type GPUBufferBindingType = "read-only-storage" | "storage" | "uniform";
14965
15092
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
14966
15093
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
14967
15094
  type GPUCanvasToneMappingMode = "extended" | "standard";
@@ -14970,19 +15097,24 @@ type GPUCompilationMessageType = "error" | "info" | "warning";
14970
15097
  type GPUCullMode = "back" | "front" | "none";
14971
15098
  type GPUDeviceLostReason = "destroyed" | "unknown";
14972
15099
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
15100
+ 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";
14973
15101
  type GPUFilterMode = "linear" | "nearest";
14974
15102
  type GPUFrontFace = "ccw" | "cw";
14975
15103
  type GPUIndexFormat = "uint16" | "uint32";
14976
15104
  type GPULoadOp = "clear" | "load";
14977
15105
  type GPUMipmapFilterMode = "linear" | "nearest";
14978
15106
  type GPUPipelineErrorReason = "internal" | "validation";
15107
+ type GPUPowerPreference = "high-performance" | "low-power";
14979
15108
  type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
14980
15109
  type GPUQueryType = "occlusion" | "timestamp";
15110
+ type GPUSamplerBindingType = "comparison" | "filtering" | "non-filtering";
14981
15111
  type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
15112
+ type GPUStorageTextureAccess = "read-only" | "read-write" | "write-only";
14982
15113
  type GPUStoreOp = "discard" | "store";
14983
15114
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
14984
15115
  type GPUTextureDimension = "1d" | "2d" | "3d";
14985
15116
  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";
15117
+ type GPUTextureSampleType = "depth" | "float" | "sint" | "uint" | "unfilterable-float";
14986
15118
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
14987
15119
  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";
14988
15120
  type GPUVertexStepMode = "instance" | "vertex";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/webworker",
3
- "version": "0.0.69",
3
+ "version": "0.0.70",
4
4
  "description": "Types for the global scope of Web Workers",
5
5
  "license": "Apache-2.0",
6
6
  "contributors": [],
package/ts5.5/index.d.ts CHANGED
@@ -372,6 +372,20 @@ interface GPUBindGroupEntry {
372
372
  resource: GPUBindingResource;
373
373
  }
374
374
 
375
+ interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
376
+ entries: GPUBindGroupLayoutEntry[];
377
+ }
378
+
379
+ interface GPUBindGroupLayoutEntry {
380
+ binding: GPUIndex32;
381
+ buffer?: GPUBufferBindingLayout;
382
+ externalTexture?: GPUExternalTextureBindingLayout;
383
+ sampler?: GPUSamplerBindingLayout;
384
+ storageTexture?: GPUStorageTextureBindingLayout;
385
+ texture?: GPUTextureBindingLayout;
386
+ visibility: GPUShaderStageFlags;
387
+ }
388
+
375
389
  interface GPUBlendComponent {
376
390
  dstFactor?: GPUBlendFactor;
377
391
  operation?: GPUBlendOperation;
@@ -389,6 +403,12 @@ interface GPUBufferBinding {
389
403
  size?: GPUSize64;
390
404
  }
391
405
 
406
+ interface GPUBufferBindingLayout {
407
+ hasDynamicOffset?: boolean;
408
+ minBindingSize?: GPUSize64;
409
+ type?: GPUBufferBindingType;
410
+ }
411
+
392
412
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
393
413
  mappedAtCreation?: boolean;
394
414
  size: GPUSize64;
@@ -466,12 +486,21 @@ interface GPUDepthStencilState {
466
486
  stencilWriteMask?: GPUStencilValue;
467
487
  }
468
488
 
489
+ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
490
+ defaultQueue?: GPUQueueDescriptor;
491
+ requiredFeatures?: GPUFeatureName[];
492
+ requiredLimits?: Record<string, GPUSize64 | undefined>;
493
+ }
494
+
469
495
  interface GPUExtent3DDict {
470
496
  depthOrArrayLayers?: GPUIntegerCoordinate;
471
497
  height?: GPUIntegerCoordinate;
472
498
  width: GPUIntegerCoordinate;
473
499
  }
474
500
 
501
+ interface GPUExternalTextureBindingLayout {
502
+ }
503
+
475
504
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
476
505
  colorSpace?: PredefinedColorSpace;
477
506
  source: VideoFrame;
@@ -533,6 +562,9 @@ interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
533
562
  type: GPUQueryType;
534
563
  }
535
564
 
565
+ interface GPUQueueDescriptor extends GPUObjectDescriptorBase {
566
+ }
567
+
536
568
  interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {
537
569
  }
538
570
 
@@ -590,6 +622,15 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
590
622
  vertex: GPUVertexState;
591
623
  }
592
624
 
625
+ interface GPURequestAdapterOptions {
626
+ forceFallbackAdapter?: boolean;
627
+ powerPreference?: GPUPowerPreference;
628
+ }
629
+
630
+ interface GPUSamplerBindingLayout {
631
+ type?: GPUSamplerBindingType;
632
+ }
633
+
593
634
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
594
635
  addressModeU?: GPUAddressMode;
595
636
  addressModeV?: GPUAddressMode;
@@ -614,6 +655,12 @@ interface GPUStencilFaceState {
614
655
  passOp?: GPUStencilOperation;
615
656
  }
616
657
 
658
+ interface GPUStorageTextureBindingLayout {
659
+ access?: GPUStorageTextureAccess;
660
+ format: GPUTextureFormat;
661
+ viewDimension?: GPUTextureViewDimension;
662
+ }
663
+
617
664
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
618
665
  buffer: GPUBuffer;
619
666
  }
@@ -631,6 +678,12 @@ interface GPUTexelCopyTextureInfo {
631
678
  texture: GPUTexture;
632
679
  }
633
680
 
681
+ interface GPUTextureBindingLayout {
682
+ multisampled?: boolean;
683
+ sampleType?: GPUTextureSampleType;
684
+ viewDimension?: GPUTextureViewDimension;
685
+ }
686
+
634
687
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
635
688
  dimension?: GPUTextureDimension;
636
689
  format: GPUTextureFormat;
@@ -5186,6 +5239,76 @@ declare var FormData: {
5186
5239
  new(): FormData;
5187
5240
  };
5188
5241
 
5242
+ /**
5243
+ * 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.
5244
+ * Available only in secure contexts.
5245
+ *
5246
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU)
5247
+ */
5248
+ interface GPU {
5249
+ /**
5250
+ * The **`wgslLanguageFeatures`** read-only property of the GPU interface returns a WGSLLanguageFeatures object that reports the WGSL language extensions supported by the WebGPU implementation.
5251
+ *
5252
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures)
5253
+ */
5254
+ readonly wgslLanguageFeatures: WGSLLanguageFeatures;
5255
+ /**
5256
+ * 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.
5257
+ *
5258
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat)
5259
+ */
5260
+ getPreferredCanvasFormat(): GPUTextureFormat;
5261
+ /**
5262
+ * 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.
5263
+ *
5264
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter)
5265
+ */
5266
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
5267
+ }
5268
+
5269
+ declare var GPU: {
5270
+ prototype: GPU;
5271
+ new(): GPU;
5272
+ };
5273
+
5274
+ /**
5275
+ * The **`GPUAdapter`** interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.
5276
+ * Available only in secure contexts.
5277
+ *
5278
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter)
5279
+ */
5280
+ interface GPUAdapter {
5281
+ /**
5282
+ * The **`features`** read-only property of the GPUAdapter interface returns a GPUSupportedFeatures object that describes additional functionality supported by the adapter.
5283
+ *
5284
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/features)
5285
+ */
5286
+ readonly features: GPUSupportedFeatures;
5287
+ /**
5288
+ * The **`info`** read-only property of the GPUAdapter interface returns a GPUAdapterInfo object containing identifying information about the adapter.
5289
+ *
5290
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/info)
5291
+ */
5292
+ readonly info: GPUAdapterInfo;
5293
+ /**
5294
+ * The **`limits`** read-only property of the GPUAdapter interface returns a GPUSupportedLimits object that describes the limits supported by the adapter.
5295
+ *
5296
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/limits)
5297
+ */
5298
+ readonly limits: GPUSupportedLimits;
5299
+ /**
5300
+ * 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.
5301
+ *
5302
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/requestDevice)
5303
+ */
5304
+ requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
5305
+ }
5306
+
5307
+ declare var GPUAdapter: {
5308
+ prototype: GPUAdapter;
5309
+ new(): GPUAdapter;
5310
+ };
5311
+
5189
5312
  /**
5190
5313
  * The **`GPUAdapterInfo`** interface of the WebGPU API contains identifying information about a GPUAdapter.
5191
5314
  * Available only in secure contexts.
@@ -5639,6 +5762,12 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
5639
5762
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroup)
5640
5763
  */
5641
5764
  createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
5765
+ /**
5766
+ * 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.
5767
+ *
5768
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroupLayout)
5769
+ */
5770
+ createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;
5642
5771
  /**
5643
5772
  * The **`createBuffer()`** method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.
5644
5773
  *
@@ -7282,19 +7411,6 @@ interface ImportMeta {
7282
7411
  resolve(specifier: string): string;
7283
7412
  }
7284
7413
 
7285
- /**
7286
- * 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.
7287
- *
7288
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InstallEvent)
7289
- */
7290
- interface InstallEvent extends ExtendableEvent {
7291
- }
7292
-
7293
- declare var InstallEvent: {
7294
- prototype: InstallEvent;
7295
- new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent;
7296
- };
7297
-
7298
7414
  /**
7299
7415
  * 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.
7300
7416
  *
@@ -7592,6 +7708,15 @@ interface NavigatorConcurrentHardware {
7592
7708
  readonly hardwareConcurrency: number;
7593
7709
  }
7594
7710
 
7711
+ interface NavigatorGPU {
7712
+ /**
7713
+ * Available only in secure contexts.
7714
+ *
7715
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/gpu)
7716
+ */
7717
+ readonly gpu: GPU;
7718
+ }
7719
+
7595
7720
  interface NavigatorID {
7596
7721
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName) */
7597
7722
  readonly appCodeName: string;
@@ -13882,7 +14007,7 @@ declare var WorkerLocation: {
13882
14007
  *
13883
14008
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)
13884
14009
  */
13885
- interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
14010
+ interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
13886
14011
  /**
13887
14012
  * 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).
13888
14013
  *
@@ -14891,6 +15016,7 @@ type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
14891
15016
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
14892
15017
  type GPUPipelineConstantValue = number;
14893
15018
  type GPUSampleMask = number;
15019
+ type GPUShaderStageFlags = number;
14894
15020
  type GPUSignedOffset32 = number;
14895
15021
  type GPUSize32 = number;
14896
15022
  type GPUSize32Out = number;
@@ -14959,6 +15085,7 @@ type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
14959
15085
  type GPUAutoLayoutMode = "auto";
14960
15086
  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";
14961
15087
  type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
15088
+ type GPUBufferBindingType = "read-only-storage" | "storage" | "uniform";
14962
15089
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
14963
15090
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
14964
15091
  type GPUCanvasToneMappingMode = "extended" | "standard";
@@ -14967,19 +15094,24 @@ type GPUCompilationMessageType = "error" | "info" | "warning";
14967
15094
  type GPUCullMode = "back" | "front" | "none";
14968
15095
  type GPUDeviceLostReason = "destroyed" | "unknown";
14969
15096
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
15097
+ 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";
14970
15098
  type GPUFilterMode = "linear" | "nearest";
14971
15099
  type GPUFrontFace = "ccw" | "cw";
14972
15100
  type GPUIndexFormat = "uint16" | "uint32";
14973
15101
  type GPULoadOp = "clear" | "load";
14974
15102
  type GPUMipmapFilterMode = "linear" | "nearest";
14975
15103
  type GPUPipelineErrorReason = "internal" | "validation";
15104
+ type GPUPowerPreference = "high-performance" | "low-power";
14976
15105
  type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
14977
15106
  type GPUQueryType = "occlusion" | "timestamp";
15107
+ type GPUSamplerBindingType = "comparison" | "filtering" | "non-filtering";
14978
15108
  type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
15109
+ type GPUStorageTextureAccess = "read-only" | "read-write" | "write-only";
14979
15110
  type GPUStoreOp = "discard" | "store";
14980
15111
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
14981
15112
  type GPUTextureDimension = "1d" | "2d" | "3d";
14982
15113
  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";
15114
+ type GPUTextureSampleType = "depth" | "float" | "sint" | "uint" | "unfilterable-float";
14983
15115
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
14984
15116
  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";
14985
15117
  type GPUVertexStepMode = "instance" | "vertex";
package/ts5.6/index.d.ts CHANGED
@@ -372,6 +372,20 @@ interface GPUBindGroupEntry {
372
372
  resource: GPUBindingResource;
373
373
  }
374
374
 
375
+ interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
376
+ entries: GPUBindGroupLayoutEntry[];
377
+ }
378
+
379
+ interface GPUBindGroupLayoutEntry {
380
+ binding: GPUIndex32;
381
+ buffer?: GPUBufferBindingLayout;
382
+ externalTexture?: GPUExternalTextureBindingLayout;
383
+ sampler?: GPUSamplerBindingLayout;
384
+ storageTexture?: GPUStorageTextureBindingLayout;
385
+ texture?: GPUTextureBindingLayout;
386
+ visibility: GPUShaderStageFlags;
387
+ }
388
+
375
389
  interface GPUBlendComponent {
376
390
  dstFactor?: GPUBlendFactor;
377
391
  operation?: GPUBlendOperation;
@@ -389,6 +403,12 @@ interface GPUBufferBinding {
389
403
  size?: GPUSize64;
390
404
  }
391
405
 
406
+ interface GPUBufferBindingLayout {
407
+ hasDynamicOffset?: boolean;
408
+ minBindingSize?: GPUSize64;
409
+ type?: GPUBufferBindingType;
410
+ }
411
+
392
412
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
393
413
  mappedAtCreation?: boolean;
394
414
  size: GPUSize64;
@@ -466,12 +486,21 @@ interface GPUDepthStencilState {
466
486
  stencilWriteMask?: GPUStencilValue;
467
487
  }
468
488
 
489
+ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
490
+ defaultQueue?: GPUQueueDescriptor;
491
+ requiredFeatures?: GPUFeatureName[];
492
+ requiredLimits?: Record<string, GPUSize64 | undefined>;
493
+ }
494
+
469
495
  interface GPUExtent3DDict {
470
496
  depthOrArrayLayers?: GPUIntegerCoordinate;
471
497
  height?: GPUIntegerCoordinate;
472
498
  width: GPUIntegerCoordinate;
473
499
  }
474
500
 
501
+ interface GPUExternalTextureBindingLayout {
502
+ }
503
+
475
504
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
476
505
  colorSpace?: PredefinedColorSpace;
477
506
  source: VideoFrame;
@@ -533,6 +562,9 @@ interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
533
562
  type: GPUQueryType;
534
563
  }
535
564
 
565
+ interface GPUQueueDescriptor extends GPUObjectDescriptorBase {
566
+ }
567
+
536
568
  interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {
537
569
  }
538
570
 
@@ -590,6 +622,15 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
590
622
  vertex: GPUVertexState;
591
623
  }
592
624
 
625
+ interface GPURequestAdapterOptions {
626
+ forceFallbackAdapter?: boolean;
627
+ powerPreference?: GPUPowerPreference;
628
+ }
629
+
630
+ interface GPUSamplerBindingLayout {
631
+ type?: GPUSamplerBindingType;
632
+ }
633
+
593
634
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
594
635
  addressModeU?: GPUAddressMode;
595
636
  addressModeV?: GPUAddressMode;
@@ -614,6 +655,12 @@ interface GPUStencilFaceState {
614
655
  passOp?: GPUStencilOperation;
615
656
  }
616
657
 
658
+ interface GPUStorageTextureBindingLayout {
659
+ access?: GPUStorageTextureAccess;
660
+ format: GPUTextureFormat;
661
+ viewDimension?: GPUTextureViewDimension;
662
+ }
663
+
617
664
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
618
665
  buffer: GPUBuffer;
619
666
  }
@@ -631,6 +678,12 @@ interface GPUTexelCopyTextureInfo {
631
678
  texture: GPUTexture;
632
679
  }
633
680
 
681
+ interface GPUTextureBindingLayout {
682
+ multisampled?: boolean;
683
+ sampleType?: GPUTextureSampleType;
684
+ viewDimension?: GPUTextureViewDimension;
685
+ }
686
+
634
687
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
635
688
  dimension?: GPUTextureDimension;
636
689
  format: GPUTextureFormat;
@@ -5186,6 +5239,76 @@ declare var FormData: {
5186
5239
  new(): FormData;
5187
5240
  };
5188
5241
 
5242
+ /**
5243
+ * 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.
5244
+ * Available only in secure contexts.
5245
+ *
5246
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU)
5247
+ */
5248
+ interface GPU {
5249
+ /**
5250
+ * The **`wgslLanguageFeatures`** read-only property of the GPU interface returns a WGSLLanguageFeatures object that reports the WGSL language extensions supported by the WebGPU implementation.
5251
+ *
5252
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures)
5253
+ */
5254
+ readonly wgslLanguageFeatures: WGSLLanguageFeatures;
5255
+ /**
5256
+ * 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.
5257
+ *
5258
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat)
5259
+ */
5260
+ getPreferredCanvasFormat(): GPUTextureFormat;
5261
+ /**
5262
+ * 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.
5263
+ *
5264
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter)
5265
+ */
5266
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
5267
+ }
5268
+
5269
+ declare var GPU: {
5270
+ prototype: GPU;
5271
+ new(): GPU;
5272
+ };
5273
+
5274
+ /**
5275
+ * The **`GPUAdapter`** interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.
5276
+ * Available only in secure contexts.
5277
+ *
5278
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter)
5279
+ */
5280
+ interface GPUAdapter {
5281
+ /**
5282
+ * The **`features`** read-only property of the GPUAdapter interface returns a GPUSupportedFeatures object that describes additional functionality supported by the adapter.
5283
+ *
5284
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/features)
5285
+ */
5286
+ readonly features: GPUSupportedFeatures;
5287
+ /**
5288
+ * The **`info`** read-only property of the GPUAdapter interface returns a GPUAdapterInfo object containing identifying information about the adapter.
5289
+ *
5290
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/info)
5291
+ */
5292
+ readonly info: GPUAdapterInfo;
5293
+ /**
5294
+ * The **`limits`** read-only property of the GPUAdapter interface returns a GPUSupportedLimits object that describes the limits supported by the adapter.
5295
+ *
5296
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/limits)
5297
+ */
5298
+ readonly limits: GPUSupportedLimits;
5299
+ /**
5300
+ * 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.
5301
+ *
5302
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/requestDevice)
5303
+ */
5304
+ requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
5305
+ }
5306
+
5307
+ declare var GPUAdapter: {
5308
+ prototype: GPUAdapter;
5309
+ new(): GPUAdapter;
5310
+ };
5311
+
5189
5312
  /**
5190
5313
  * The **`GPUAdapterInfo`** interface of the WebGPU API contains identifying information about a GPUAdapter.
5191
5314
  * Available only in secure contexts.
@@ -5639,6 +5762,12 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
5639
5762
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroup)
5640
5763
  */
5641
5764
  createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
5765
+ /**
5766
+ * 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.
5767
+ *
5768
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroupLayout)
5769
+ */
5770
+ createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;
5642
5771
  /**
5643
5772
  * The **`createBuffer()`** method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.
5644
5773
  *
@@ -7282,19 +7411,6 @@ interface ImportMeta {
7282
7411
  resolve(specifier: string): string;
7283
7412
  }
7284
7413
 
7285
- /**
7286
- * 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.
7287
- *
7288
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InstallEvent)
7289
- */
7290
- interface InstallEvent extends ExtendableEvent {
7291
- }
7292
-
7293
- declare var InstallEvent: {
7294
- prototype: InstallEvent;
7295
- new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent;
7296
- };
7297
-
7298
7414
  /**
7299
7415
  * 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.
7300
7416
  *
@@ -7592,6 +7708,15 @@ interface NavigatorConcurrentHardware {
7592
7708
  readonly hardwareConcurrency: number;
7593
7709
  }
7594
7710
 
7711
+ interface NavigatorGPU {
7712
+ /**
7713
+ * Available only in secure contexts.
7714
+ *
7715
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/gpu)
7716
+ */
7717
+ readonly gpu: GPU;
7718
+ }
7719
+
7595
7720
  interface NavigatorID {
7596
7721
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName) */
7597
7722
  readonly appCodeName: string;
@@ -13882,7 +14007,7 @@ declare var WorkerLocation: {
13882
14007
  *
13883
14008
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)
13884
14009
  */
13885
- interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
14010
+ interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
13886
14011
  /**
13887
14012
  * 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).
13888
14013
  *
@@ -14891,6 +15016,7 @@ type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
14891
15016
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
14892
15017
  type GPUPipelineConstantValue = number;
14893
15018
  type GPUSampleMask = number;
15019
+ type GPUShaderStageFlags = number;
14894
15020
  type GPUSignedOffset32 = number;
14895
15021
  type GPUSize32 = number;
14896
15022
  type GPUSize32Out = number;
@@ -14959,6 +15085,7 @@ type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
14959
15085
  type GPUAutoLayoutMode = "auto";
14960
15086
  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";
14961
15087
  type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
15088
+ type GPUBufferBindingType = "read-only-storage" | "storage" | "uniform";
14962
15089
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
14963
15090
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
14964
15091
  type GPUCanvasToneMappingMode = "extended" | "standard";
@@ -14967,19 +15094,24 @@ type GPUCompilationMessageType = "error" | "info" | "warning";
14967
15094
  type GPUCullMode = "back" | "front" | "none";
14968
15095
  type GPUDeviceLostReason = "destroyed" | "unknown";
14969
15096
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
15097
+ 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";
14970
15098
  type GPUFilterMode = "linear" | "nearest";
14971
15099
  type GPUFrontFace = "ccw" | "cw";
14972
15100
  type GPUIndexFormat = "uint16" | "uint32";
14973
15101
  type GPULoadOp = "clear" | "load";
14974
15102
  type GPUMipmapFilterMode = "linear" | "nearest";
14975
15103
  type GPUPipelineErrorReason = "internal" | "validation";
15104
+ type GPUPowerPreference = "high-performance" | "low-power";
14976
15105
  type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
14977
15106
  type GPUQueryType = "occlusion" | "timestamp";
15107
+ type GPUSamplerBindingType = "comparison" | "filtering" | "non-filtering";
14978
15108
  type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
15109
+ type GPUStorageTextureAccess = "read-only" | "read-write" | "write-only";
14979
15110
  type GPUStoreOp = "discard" | "store";
14980
15111
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
14981
15112
  type GPUTextureDimension = "1d" | "2d" | "3d";
14982
15113
  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";
15114
+ type GPUTextureSampleType = "depth" | "float" | "sint" | "uint" | "unfilterable-float";
14983
15115
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
14984
15116
  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";
14985
15117
  type GPUVertexStepMode = "instance" | "vertex";
package/ts5.9/index.d.ts CHANGED
@@ -372,6 +372,20 @@ interface GPUBindGroupEntry {
372
372
  resource: GPUBindingResource;
373
373
  }
374
374
 
375
+ interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase {
376
+ entries: GPUBindGroupLayoutEntry[];
377
+ }
378
+
379
+ interface GPUBindGroupLayoutEntry {
380
+ binding: GPUIndex32;
381
+ buffer?: GPUBufferBindingLayout;
382
+ externalTexture?: GPUExternalTextureBindingLayout;
383
+ sampler?: GPUSamplerBindingLayout;
384
+ storageTexture?: GPUStorageTextureBindingLayout;
385
+ texture?: GPUTextureBindingLayout;
386
+ visibility: GPUShaderStageFlags;
387
+ }
388
+
375
389
  interface GPUBlendComponent {
376
390
  dstFactor?: GPUBlendFactor;
377
391
  operation?: GPUBlendOperation;
@@ -389,6 +403,12 @@ interface GPUBufferBinding {
389
403
  size?: GPUSize64;
390
404
  }
391
405
 
406
+ interface GPUBufferBindingLayout {
407
+ hasDynamicOffset?: boolean;
408
+ minBindingSize?: GPUSize64;
409
+ type?: GPUBufferBindingType;
410
+ }
411
+
392
412
  interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
393
413
  mappedAtCreation?: boolean;
394
414
  size: GPUSize64;
@@ -466,12 +486,21 @@ interface GPUDepthStencilState {
466
486
  stencilWriteMask?: GPUStencilValue;
467
487
  }
468
488
 
489
+ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
490
+ defaultQueue?: GPUQueueDescriptor;
491
+ requiredFeatures?: GPUFeatureName[];
492
+ requiredLimits?: Record<string, GPUSize64 | undefined>;
493
+ }
494
+
469
495
  interface GPUExtent3DDict {
470
496
  depthOrArrayLayers?: GPUIntegerCoordinate;
471
497
  height?: GPUIntegerCoordinate;
472
498
  width: GPUIntegerCoordinate;
473
499
  }
474
500
 
501
+ interface GPUExternalTextureBindingLayout {
502
+ }
503
+
475
504
  interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
476
505
  colorSpace?: PredefinedColorSpace;
477
506
  source: VideoFrame;
@@ -533,6 +562,9 @@ interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
533
562
  type: GPUQueryType;
534
563
  }
535
564
 
565
+ interface GPUQueueDescriptor extends GPUObjectDescriptorBase {
566
+ }
567
+
536
568
  interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {
537
569
  }
538
570
 
@@ -590,6 +622,15 @@ interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase {
590
622
  vertex: GPUVertexState;
591
623
  }
592
624
 
625
+ interface GPURequestAdapterOptions {
626
+ forceFallbackAdapter?: boolean;
627
+ powerPreference?: GPUPowerPreference;
628
+ }
629
+
630
+ interface GPUSamplerBindingLayout {
631
+ type?: GPUSamplerBindingType;
632
+ }
633
+
593
634
  interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
594
635
  addressModeU?: GPUAddressMode;
595
636
  addressModeV?: GPUAddressMode;
@@ -614,6 +655,12 @@ interface GPUStencilFaceState {
614
655
  passOp?: GPUStencilOperation;
615
656
  }
616
657
 
658
+ interface GPUStorageTextureBindingLayout {
659
+ access?: GPUStorageTextureAccess;
660
+ format: GPUTextureFormat;
661
+ viewDimension?: GPUTextureViewDimension;
662
+ }
663
+
617
664
  interface GPUTexelCopyBufferInfo extends GPUTexelCopyBufferLayout {
618
665
  buffer: GPUBuffer;
619
666
  }
@@ -631,6 +678,12 @@ interface GPUTexelCopyTextureInfo {
631
678
  texture: GPUTexture;
632
679
  }
633
680
 
681
+ interface GPUTextureBindingLayout {
682
+ multisampled?: boolean;
683
+ sampleType?: GPUTextureSampleType;
684
+ viewDimension?: GPUTextureViewDimension;
685
+ }
686
+
634
687
  interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
635
688
  dimension?: GPUTextureDimension;
636
689
  format: GPUTextureFormat;
@@ -5186,6 +5239,76 @@ declare var FormData: {
5186
5239
  new(): FormData;
5187
5240
  };
5188
5241
 
5242
+ /**
5243
+ * 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.
5244
+ * Available only in secure contexts.
5245
+ *
5246
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU)
5247
+ */
5248
+ interface GPU {
5249
+ /**
5250
+ * The **`wgslLanguageFeatures`** read-only property of the GPU interface returns a WGSLLanguageFeatures object that reports the WGSL language extensions supported by the WebGPU implementation.
5251
+ *
5252
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/wgslLanguageFeatures)
5253
+ */
5254
+ readonly wgslLanguageFeatures: WGSLLanguageFeatures;
5255
+ /**
5256
+ * 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.
5257
+ *
5258
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/getPreferredCanvasFormat)
5259
+ */
5260
+ getPreferredCanvasFormat(): GPUTextureFormat;
5261
+ /**
5262
+ * 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.
5263
+ *
5264
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPU/requestAdapter)
5265
+ */
5266
+ requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | null>;
5267
+ }
5268
+
5269
+ declare var GPU: {
5270
+ prototype: GPU;
5271
+ new(): GPU;
5272
+ };
5273
+
5274
+ /**
5275
+ * The **`GPUAdapter`** interface of the WebGPU API represents a GPU adapter. From this you can request a GPUDevice, adapter info, features, and limits.
5276
+ * Available only in secure contexts.
5277
+ *
5278
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter)
5279
+ */
5280
+ interface GPUAdapter {
5281
+ /**
5282
+ * The **`features`** read-only property of the GPUAdapter interface returns a GPUSupportedFeatures object that describes additional functionality supported by the adapter.
5283
+ *
5284
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/features)
5285
+ */
5286
+ readonly features: GPUSupportedFeatures;
5287
+ /**
5288
+ * The **`info`** read-only property of the GPUAdapter interface returns a GPUAdapterInfo object containing identifying information about the adapter.
5289
+ *
5290
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/info)
5291
+ */
5292
+ readonly info: GPUAdapterInfo;
5293
+ /**
5294
+ * The **`limits`** read-only property of the GPUAdapter interface returns a GPUSupportedLimits object that describes the limits supported by the adapter.
5295
+ *
5296
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/limits)
5297
+ */
5298
+ readonly limits: GPUSupportedLimits;
5299
+ /**
5300
+ * 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.
5301
+ *
5302
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUAdapter/requestDevice)
5303
+ */
5304
+ requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
5305
+ }
5306
+
5307
+ declare var GPUAdapter: {
5308
+ prototype: GPUAdapter;
5309
+ new(): GPUAdapter;
5310
+ };
5311
+
5189
5312
  /**
5190
5313
  * The **`GPUAdapterInfo`** interface of the WebGPU API contains identifying information about a GPUAdapter.
5191
5314
  * Available only in secure contexts.
@@ -5639,6 +5762,12 @@ interface GPUDevice extends EventTarget, GPUObjectBase {
5639
5762
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroup)
5640
5763
  */
5641
5764
  createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup;
5765
+ /**
5766
+ * 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.
5767
+ *
5768
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GPUDevice/createBindGroupLayout)
5769
+ */
5770
+ createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout;
5642
5771
  /**
5643
5772
  * The **`createBuffer()`** method of the GPUDevice interface creates a GPUBuffer in which to store raw data to use in GPU operations.
5644
5773
  *
@@ -7282,19 +7411,6 @@ interface ImportMeta {
7282
7411
  resolve(specifier: string): string;
7283
7412
  }
7284
7413
 
7285
- /**
7286
- * 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.
7287
- *
7288
- * [MDN Reference](https://developer.mozilla.org/docs/Web/API/InstallEvent)
7289
- */
7290
- interface InstallEvent extends ExtendableEvent {
7291
- }
7292
-
7293
- declare var InstallEvent: {
7294
- prototype: InstallEvent;
7295
- new(type: string, eventInitDict?: ExtendableEventInit): InstallEvent;
7296
- };
7297
-
7298
7414
  /**
7299
7415
  * 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.
7300
7416
  *
@@ -7592,6 +7708,15 @@ interface NavigatorConcurrentHardware {
7592
7708
  readonly hardwareConcurrency: number;
7593
7709
  }
7594
7710
 
7711
+ interface NavigatorGPU {
7712
+ /**
7713
+ * Available only in secure contexts.
7714
+ *
7715
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/gpu)
7716
+ */
7717
+ readonly gpu: GPU;
7718
+ }
7719
+
7595
7720
  interface NavigatorID {
7596
7721
  /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/appCodeName) */
7597
7722
  readonly appCodeName: string;
@@ -13882,7 +14007,7 @@ declare var WorkerLocation: {
13882
14007
  *
13883
14008
  * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerNavigator)
13884
14009
  */
13885
- interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
14010
+ interface WorkerNavigator extends NavigatorBadge, NavigatorConcurrentHardware, NavigatorGPU, NavigatorID, NavigatorLanguage, NavigatorLocks, NavigatorOnLine, NavigatorStorage {
13886
14011
  /**
13887
14012
  * 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).
13888
14013
  *
@@ -14891,6 +15016,7 @@ type GPUOrigin2D = GPUIntegerCoordinate[] | GPUOrigin2DDict;
14891
15016
  type GPUOrigin3D = GPUIntegerCoordinate[] | GPUOrigin3DDict;
14892
15017
  type GPUPipelineConstantValue = number;
14893
15018
  type GPUSampleMask = number;
15019
+ type GPUShaderStageFlags = number;
14894
15020
  type GPUSignedOffset32 = number;
14895
15021
  type GPUSize32 = number;
14896
15022
  type GPUSize32Out = number;
@@ -14959,6 +15085,7 @@ type GPUAddressMode = "clamp-to-edge" | "mirror-repeat" | "repeat";
14959
15085
  type GPUAutoLayoutMode = "auto";
14960
15086
  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";
14961
15087
  type GPUBlendOperation = "add" | "max" | "min" | "reverse-subtract" | "subtract";
15088
+ type GPUBufferBindingType = "read-only-storage" | "storage" | "uniform";
14962
15089
  type GPUBufferMapState = "mapped" | "pending" | "unmapped";
14963
15090
  type GPUCanvasAlphaMode = "opaque" | "premultiplied";
14964
15091
  type GPUCanvasToneMappingMode = "extended" | "standard";
@@ -14967,19 +15094,24 @@ type GPUCompilationMessageType = "error" | "info" | "warning";
14967
15094
  type GPUCullMode = "back" | "front" | "none";
14968
15095
  type GPUDeviceLostReason = "destroyed" | "unknown";
14969
15096
  type GPUErrorFilter = "internal" | "out-of-memory" | "validation";
15097
+ 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";
14970
15098
  type GPUFilterMode = "linear" | "nearest";
14971
15099
  type GPUFrontFace = "ccw" | "cw";
14972
15100
  type GPUIndexFormat = "uint16" | "uint32";
14973
15101
  type GPULoadOp = "clear" | "load";
14974
15102
  type GPUMipmapFilterMode = "linear" | "nearest";
14975
15103
  type GPUPipelineErrorReason = "internal" | "validation";
15104
+ type GPUPowerPreference = "high-performance" | "low-power";
14976
15105
  type GPUPrimitiveTopology = "line-list" | "line-strip" | "point-list" | "triangle-list" | "triangle-strip";
14977
15106
  type GPUQueryType = "occlusion" | "timestamp";
15107
+ type GPUSamplerBindingType = "comparison" | "filtering" | "non-filtering";
14978
15108
  type GPUStencilOperation = "decrement-clamp" | "decrement-wrap" | "increment-clamp" | "increment-wrap" | "invert" | "keep" | "replace" | "zero";
15109
+ type GPUStorageTextureAccess = "read-only" | "read-write" | "write-only";
14979
15110
  type GPUStoreOp = "discard" | "store";
14980
15111
  type GPUTextureAspect = "all" | "depth-only" | "stencil-only";
14981
15112
  type GPUTextureDimension = "1d" | "2d" | "3d";
14982
15113
  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";
15114
+ type GPUTextureSampleType = "depth" | "float" | "sint" | "uint" | "unfilterable-float";
14983
15115
  type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "3d" | "cube" | "cube-array";
14984
15116
  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";
14985
15117
  type GPUVertexStepMode = "instance" | "vertex";