@luma.gl/webgpu 9.2.6 → 9.3.0-alpha.4

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.
Files changed (52) hide show
  1. package/dist/adapter/helpers/get-bind-group.d.ts.map +1 -1
  2. package/dist/adapter/helpers/get-bind-group.js +11 -5
  3. package/dist/adapter/helpers/get-bind-group.js.map +1 -1
  4. package/dist/adapter/resources/webgpu-buffer.d.ts +7 -0
  5. package/dist/adapter/resources/webgpu-buffer.d.ts.map +1 -1
  6. package/dist/adapter/resources/webgpu-buffer.js +39 -12
  7. package/dist/adapter/resources/webgpu-buffer.js.map +1 -1
  8. package/dist/adapter/resources/webgpu-fence.d.ts +13 -0
  9. package/dist/adapter/resources/webgpu-fence.d.ts.map +1 -0
  10. package/dist/adapter/resources/webgpu-fence.js +25 -0
  11. package/dist/adapter/resources/webgpu-fence.js.map +1 -0
  12. package/dist/adapter/resources/webgpu-pipeline-layout.d.ts.map +1 -1
  13. package/dist/adapter/resources/webgpu-pipeline-layout.js +1 -2
  14. package/dist/adapter/resources/webgpu-pipeline-layout.js.map +1 -1
  15. package/dist/adapter/resources/webgpu-texture.d.ts +12 -3
  16. package/dist/adapter/resources/webgpu-texture.d.ts.map +1 -1
  17. package/dist/adapter/resources/webgpu-texture.js +143 -26
  18. package/dist/adapter/resources/webgpu-texture.js.map +1 -1
  19. package/dist/adapter/webgpu-adapter.d.ts.map +1 -1
  20. package/dist/adapter/webgpu-adapter.js +34 -34
  21. package/dist/adapter/webgpu-adapter.js.map +1 -1
  22. package/dist/adapter/webgpu-canvas-context.d.ts +4 -3
  23. package/dist/adapter/webgpu-canvas-context.d.ts.map +1 -1
  24. package/dist/adapter/webgpu-canvas-context.js +22 -21
  25. package/dist/adapter/webgpu-canvas-context.js.map +1 -1
  26. package/dist/adapter/webgpu-device.d.ts +3 -1
  27. package/dist/adapter/webgpu-device.d.ts.map +1 -1
  28. package/dist/adapter/webgpu-device.js +14 -3
  29. package/dist/adapter/webgpu-device.js.map +1 -1
  30. package/dist/dist.dev.js +6485 -293
  31. package/dist/dist.min.js +10 -6
  32. package/dist/index.cjs +398 -114
  33. package/dist/index.cjs.map +4 -4
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +2 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/wgsl/get-shader-layout-wgsl.d.ts +8 -0
  39. package/dist/wgsl/get-shader-layout-wgsl.d.ts.map +1 -0
  40. package/dist/wgsl/get-shader-layout-wgsl.js +136 -0
  41. package/dist/wgsl/get-shader-layout-wgsl.js.map +1 -0
  42. package/package.json +6 -5
  43. package/src/adapter/helpers/get-bind-group.ts +18 -5
  44. package/src/adapter/resources/webgpu-buffer.ts +43 -12
  45. package/src/adapter/resources/webgpu-fence.ts +30 -0
  46. package/src/adapter/resources/webgpu-pipeline-layout.ts +1 -2
  47. package/src/adapter/resources/webgpu-texture.ts +202 -88
  48. package/src/adapter/webgpu-adapter.ts +40 -42
  49. package/src/adapter/webgpu-canvas-context.ts +25 -23
  50. package/src/adapter/webgpu-device.ts +19 -4
  51. package/src/index.ts +3 -0
  52. package/src/wgsl/get-shader-layout-wgsl.ts +156 -0
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgpu-texture.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-texture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-adapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,OAAO,EAAE,WAAW,EAAM,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAC,YAAY,EAAC,2BAAwB;AAElD,qBAAa,aAAc,SAAQ,OAAO;IACxC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,YAAkC;IAE/C,WAAW,IAAI,OAAO;IAKtB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IAalC,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAmEjD,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;CAGvD;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
1
+ {"version":3,"file":"webgpu-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-adapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,OAAO,EAAE,WAAW,EAAM,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAC,YAAY,EAAC,2BAAwB;AAElD,qBAAa,aAAc,SAAQ,OAAO;IACxC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,YAAkC;IAE/C,WAAW,IAAI,OAAO;IAKtB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IAalC,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAiEjD,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;CAGvD;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -25,42 +25,42 @@ export class WebGPUAdapter extends Adapter {
25
25
  if (!navigator.gpu) {
26
26
  throw new Error('WebGPU not available. Recent Chrome browsers should work.');
27
27
  }
28
- log.groupCollapsed(1, 'WebGPUDevice created')();
29
- try {
30
- const adapter = await navigator.gpu.requestAdapter({
31
- powerPreference: 'high-performance'
32
- // forceSoftware: false
33
- });
34
- if (!adapter) {
35
- throw new Error('Failed to request WebGPU adapter');
36
- }
37
- // Note: adapter.requestAdapterInfo() has been replaced with adapter.info. Fall back in case adapter.info is not available
38
- const adapterInfo = adapter.info ||
39
- // @ts-ignore
40
- (await adapter.requestAdapterInfo?.());
41
- log.probe(2, 'Adapter available', adapterInfo)();
42
- const requiredFeatures = [];
43
- const requiredLimits = {};
44
- if (props._requestMaxLimits) {
45
- // Require all features
46
- requiredFeatures.push(...Array.from(adapter.features));
47
- // Require all limits
48
- // Filter out chrome specific keys (avoid crash)
49
- const limits = Object.keys(adapter.limits).filter(key => !['minSubgroupSize', 'maxSubgroupSize'].includes(key));
50
- for (const key of limits) {
51
- const limit = key;
52
- const value = adapter.limits[limit];
53
- if (typeof value === 'number') {
54
- requiredLimits[limit] = value;
55
- }
28
+ const adapter = await navigator.gpu.requestAdapter({
29
+ powerPreference: 'high-performance'
30
+ // forceSoftware: false
31
+ });
32
+ if (!adapter) {
33
+ throw new Error('Failed to request WebGPU adapter');
34
+ }
35
+ // Note: adapter.requestAdapterInfo() has been replaced with adapter.info. Fall back in case adapter.info is not available
36
+ const adapterInfo = adapter.info ||
37
+ // @ts-ignore
38
+ (await adapter.requestAdapterInfo?.());
39
+ // log.probe(2, 'Adapter available', adapterInfo)();
40
+ const requiredFeatures = [];
41
+ const requiredLimits = {};
42
+ if (props._requestMaxLimits) {
43
+ // Require all features
44
+ requiredFeatures.push(...Array.from(adapter.features));
45
+ // Require all limits
46
+ // Filter out chrome specific keys (avoid crash)
47
+ const limits = Object.keys(adapter.limits).filter(key => !['minSubgroupSize', 'maxSubgroupSize'].includes(key));
48
+ for (const key of limits) {
49
+ const limit = key;
50
+ const value = adapter.limits[limit];
51
+ if (typeof value === 'number') {
52
+ requiredLimits[limit] = value;
56
53
  }
57
54
  }
58
- const gpuDevice = await adapter.requestDevice({
59
- requiredFeatures,
60
- requiredLimits
61
- });
62
- log.probe(1, 'GPUDevice available')();
63
- const { WebGPUDevice } = await import("./webgpu-device.js");
55
+ }
56
+ const gpuDevice = await adapter.requestDevice({
57
+ requiredFeatures,
58
+ requiredLimits
59
+ });
60
+ // log.probe(1, 'GPUDevice available')();
61
+ const { WebGPUDevice } = await import("./webgpu-device.js");
62
+ log.groupCollapsed(1, 'WebGPUDevice created')();
63
+ try {
64
64
  const device = new WebGPUDevice(props, gpuDevice, adapter, adapterInfo);
65
65
  log.probe(1, 'Device created. For more info, set chrome://flags/#enable-webgpu-developer-features')();
66
66
  log.table(1, device.info)();
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-adapter.js","sourceRoot":"","sources":["../../src/adapter/webgpu-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgpu-adapter.js","sourceRoot":"","sources":["../../src/adapter/webgpu-adapter.ts"],"names":[],"mappings":"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"}
@@ -16,13 +16,14 @@ export declare class WebGPUCanvasContext extends CanvasContext {
16
16
  constructor(device: WebGPUDevice, adapter: GPUAdapter, props: CanvasContextProps);
17
17
  /** Destroy any textures produced while configured and remove the context configuration. */
18
18
  destroy(): void;
19
+ /** @see https://www.w3.org/TR/webgpu/#canvas-configuration */
20
+ _configureDevice(): void;
19
21
  /** Update framebuffer with properly resized "swap chain" texture views */
20
- getCurrentFramebuffer(options?: {
22
+ _getCurrentFramebuffer(options?: {
21
23
  depthStencilFormat?: TextureFormatDepthStencil | false;
22
24
  }): WebGPUFramebuffer;
23
- _updateDevice(): void;
24
25
  /** Wrap the current canvas context texture in a luma.gl texture */
25
- getCurrentTexture(): WebGPUTexture;
26
+ _getCurrentTexture(): WebGPUTexture;
26
27
  /** We build render targets on demand (i.e. not when size changes but when about to render) */
27
28
  _createDepthStencilAttachment(depthStencilFormat: TextureFormatDepthStencil): WebGPUTexture;
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-canvas-context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,yBAAyB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjF,OAAO,EAAC,aAAa,EAAe,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,EAAC,iBAAiB,EAAC,0CAAuC;AACjE,OAAO,EAAC,aAAa,EAAC,sCAAmC;AAEzD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC,OAAO,CAAC,sBAAsB,CAA8B;IAE5D,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;gBAEW,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB;IAehF,2FAA2F;IAClF,OAAO,IAAI,IAAI;IAKxB,0EAA0E;IAC1E,qBAAqB,CACnB,OAAO,GAAE;QAAC,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,KAAK,CAAA;KAE/D,GACA,iBAAiB;IA8BpB,aAAa,IAAI,IAAI;IAkBrB,mEAAmE;IACnE,iBAAiB,IAAI,aAAa;IAWlC,8FAA8F;IAC9F,6BAA6B,CAAC,kBAAkB,EAAE,yBAAyB,GAAG,aAAa;CAY5F"}
1
+ {"version":3,"file":"webgpu-canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-canvas-context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,yBAAyB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjF,OAAO,EAAC,aAAa,EAAe,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,EAAC,iBAAiB,EAAC,0CAAuC;AACjE,OAAO,EAAC,aAAa,EAAC,sCAAmC;AAEzD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC,OAAO,CAAC,sBAAsB,CAA8B;IAE5D,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;gBAEW,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB;IAehF,2FAA2F;IAClF,OAAO,IAAI,IAAI;IAOxB,8DAA8D;IAC9D,gBAAgB,IAAI,IAAI;IAiBxB,0EAA0E;IAC1E,sBAAsB,CACpB,OAAO,GAAE;QAAC,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,KAAK,CAAA;KAE/D,GACA,iBAAiB;IA8BpB,mEAAmE;IACnE,kBAAkB,IAAI,aAAa;IAWnC,8FAA8F;IAC9F,6BAA6B,CAAC,kBAAkB,EAAE,yBAAyB,GAAG,aAAa;CAY5F"}
@@ -25,19 +25,36 @@ export class WebGPUCanvasContext extends CanvasContext {
25
25
  this.handle = context;
26
26
  // Base class constructor cannot access derived methods/fields, so we need to call these functions in the subclass constructor
27
27
  this._setAutoCreatedCanvasId(`${this.device.id}-canvas`);
28
- this._updateDevice();
28
+ this._configureDevice();
29
29
  }
30
30
  /** Destroy any textures produced while configured and remove the context configuration. */
31
31
  destroy() {
32
32
  this.handle.unconfigure();
33
33
  super.destroy();
34
34
  }
35
+ // IMPLEMENTATION OF ABSTRACT METHODS
36
+ /** @see https://www.w3.org/TR/webgpu/#canvas-configuration */
37
+ _configureDevice() {
38
+ if (this.depthStencilAttachment) {
39
+ this.depthStencilAttachment.destroy();
40
+ this.depthStencilAttachment = null;
41
+ }
42
+ // Reconfigure the canvas size.
43
+ this.handle.configure({
44
+ device: this.device.handle,
45
+ format: this.device.preferredColorFormat,
46
+ // Can be used to define e.g. -srgb views
47
+ // viewFormats: [...]
48
+ colorSpace: this.props.colorSpace,
49
+ alphaMode: this.props.alphaMode
50
+ });
51
+ }
35
52
  /** Update framebuffer with properly resized "swap chain" texture views */
36
- getCurrentFramebuffer(options = {
53
+ _getCurrentFramebuffer(options = {
37
54
  depthStencilFormat: 'depth24plus'
38
55
  }) {
39
56
  // Wrap the current canvas context texture in a luma.gl texture
40
- const currentColorAttachment = this.getCurrentTexture();
57
+ const currentColorAttachment = this._getCurrentTexture();
41
58
  // TODO - temporary debug code
42
59
  if (currentColorAttachment.width !== this.drawingBufferWidth ||
43
60
  currentColorAttachment.height !== this.drawingBufferHeight) {
@@ -55,25 +72,9 @@ export class WebGPUCanvasContext extends CanvasContext {
55
72
  depthStencilAttachment: this.depthStencilAttachment
56
73
  });
57
74
  }
58
- // IMPLEMENTATION OF ABSTRACT METHODS
59
- _updateDevice() {
60
- if (this.depthStencilAttachment) {
61
- this.depthStencilAttachment.destroy();
62
- this.depthStencilAttachment = null;
63
- }
64
- // Reconfigure the canvas size.
65
- // https://www.w3.org/TR/webgpu/#canvas-configuration
66
- this.handle.configure({
67
- device: this.device.handle,
68
- format: this.device.preferredColorFormat,
69
- // Can be used to define e.g. -srgb views
70
- // viewFormats: [...]
71
- colorSpace: this.props.colorSpace,
72
- alphaMode: this.props.alphaMode
73
- });
74
- }
75
+ // PRIMARY METHODS
75
76
  /** Wrap the current canvas context texture in a luma.gl texture */
76
- getCurrentTexture() {
77
+ _getCurrentTexture() {
77
78
  const handle = this.handle.getCurrentTexture();
78
79
  return this.device.createTexture({
79
80
  id: `${this.id}#color-texture`,
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-canvas-context.js","sourceRoot":"","sources":["../../src/adapter/webgpu-canvas-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgpu-canvas-context.js","sourceRoot":"","sources":["../../src/adapter/webgpu-canvas-context.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { WebGPUCanvasContext } from "./webgpu-canvas-context.js";
13
13
  import { WebGPUCommandEncoder } from "./resources/webgpu-command-encoder.js";
14
14
  import { WebGPUCommandBuffer } from "./resources/webgpu-command-buffer.js";
15
15
  import { WebGPUPipelineLayout } from "./resources/webgpu-pipeline-layout.js";
16
+ import { WebGPUFence } from "./resources/webgpu-fence.js";
16
17
  /** WebGPU Device implementation */
17
18
  export declare class WebGPUDevice extends Device {
18
19
  /** The underlying WebGPU device */
@@ -38,8 +39,8 @@ export declare class WebGPUDevice extends Device {
38
39
  constructor(props: DeviceProps, device: GPUDevice, adapter: GPUAdapter, adapterInfo: GPUAdapterInfo);
39
40
  destroy(): void;
40
41
  get isLost(): boolean;
42
+ getShaderLayout(source: string): import("@luma.gl/core").ShaderLayout;
41
43
  isVertexFormatSupported(format: VertexFormat): boolean;
42
- getTextureByteAlignment(): number;
43
44
  createBuffer(props: BufferProps | ArrayBuffer | ArrayBufferView): WebGPUBuffer;
44
45
  createTexture(props: TextureProps): WebGPUTexture;
45
46
  createExternalTexture(props: ExternalTextureProps): WebGPUExternalTexture;
@@ -52,6 +53,7 @@ export declare class WebGPUDevice extends Device {
52
53
  createCommandEncoder(props?: CommandEncoderProps): WebGPUCommandEncoder;
53
54
  createTransformFeedback(props: TransformFeedbackProps): TransformFeedback;
54
55
  createQuerySet(props: QuerySetProps): QuerySet;
56
+ createFence(): WebGPUFence;
55
57
  createCanvasContext(props: CanvasContextProps): WebGPUCanvasContext;
56
58
  createPipelineLayout(props: PipelineLayoutProps): WebGPUPipelineLayout;
57
59
  submit(commandBuffer?: WebGPUCommandBuffer): void;
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-device.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgpu-device.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-device.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EAEZ,+BAA+B,EAC/B,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,qCAAkC;AACvD,OAAO,EAAC,aAAa,EAAC,sCAAmC;AACzD,OAAO,EAAC,qBAAqB,EAAC,+CAA4C;AAC1E,OAAO,EAAC,aAAa,EAAC,sCAAmC;AACzD,OAAO,EAAC,YAAY,EAAC,qCAAkC;AACvD,OAAO,EAAC,oBAAoB,EAAC,8CAA2C;AACxE,OAAO,EAAC,iBAAiB,EAAC,0CAAuC;AACjE,OAAO,EAAC,qBAAqB,EAAC,+CAA4C;AAC1E,OAAO,EAAC,iBAAiB,EAAC,2CAAwC;AAElE,OAAO,EAAC,mBAAmB,EAAC,mCAAgC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,8CAA2C;AACxE,OAAO,EAAC,mBAAmB,EAAC,6CAA0C;AAEtE,OAAO,EAAC,oBAAoB,EAAC,8CAA2C;AACxE,OAAO,EAAC,WAAW,EAAC,oCAAiC;AAIrD,mCAAmC;AACnC,qBAAa,YAAa,SAAQ,MAAM;IACtC,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IAErC,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,YAAY;IAEzB,QAAQ,CAAC,oBAAoB,EACzB,YAAY,GACZ,YAAY,CAAC;IACjB,QAAQ,CAAC,oBAAoB,iBAAiB;IAE9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAEtD,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAE1D,OAAO,CAAC,OAAO,CAAkB;IACjC,cAAc,EAAE,oBAAoB,CAAC;IAErC,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAE1C;IAEQ,QAAQ,IAAI,MAAM;gBAKzB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,cAAc;IA0C7B,OAAO,IAAI,IAAI;IAIf,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,eAAe,CAAC,MAAM,EAAE,MAAM;IAIrB,uBAAuB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAK/D,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,YAAY;IAK9E,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa;IAIjD,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB;IAIzE,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY;IAI9C,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa;IAIjD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB;IAItE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB;IAI7D,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB;IAIzE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB;IAIpD,oBAAoB,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,oBAAoB;IAMhF,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,iBAAiB;IAIhE,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ;IAI9C,WAAW,IAAI,WAAW;IAInC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB;IAInE,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB;IAItE,MAAM,CAAC,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAiBjD,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI;IAI3D,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI;IAUvD,SAAS,CAAC,QAAQ,IAAI,UAAU;IA2BhC,SAAS,CAAC,YAAY,IAAI,cAAc;IAyC/B,2CAA2C,CAClD,YAAY,EAAE,+BAA+B,GAC5C,+BAA+B;CAOnC"}
@@ -15,6 +15,8 @@ import { WebGPUCanvasContext } from "./webgpu-canvas-context.js";
15
15
  import { WebGPUCommandEncoder } from "./resources/webgpu-command-encoder.js";
16
16
  import { WebGPUQuerySet } from "./resources/webgpu-query-set.js";
17
17
  import { WebGPUPipelineLayout } from "./resources/webgpu-pipeline-layout.js";
18
+ import { WebGPUFence } from "./resources/webgpu-fence.js";
19
+ import { getShaderLayoutFromWGSL } from "../wgsl/get-shader-layout-wgsl.js";
18
20
  /** WebGPU Device implementation */
19
21
  export class WebGPUDevice extends Device {
20
22
  /** The underlying WebGPU device */
@@ -79,13 +81,13 @@ export class WebGPUDevice extends Device {
79
81
  get isLost() {
80
82
  return this._isLost;
81
83
  }
84
+ getShaderLayout(source) {
85
+ return getShaderLayoutFromWGSL(source);
86
+ }
82
87
  isVertexFormatSupported(format) {
83
88
  const info = this.getVertexFormatInfo(format);
84
89
  return !info.webglOnly;
85
90
  }
86
- getTextureByteAlignment() {
87
- return 1;
88
- }
89
91
  createBuffer(props) {
90
92
  const newProps = this._normalizeBufferProps(props);
91
93
  return new WebGPUBuffer(this, newProps);
@@ -124,6 +126,9 @@ export class WebGPUDevice extends Device {
124
126
  createQuerySet(props) {
125
127
  return new WebGPUQuerySet(this, props);
126
128
  }
129
+ createFence() {
130
+ return new WebGPUFence(this);
131
+ }
127
132
  createCanvasContext(props) {
128
133
  return new WebGPUCanvasContext(this, this.adapter, props);
129
134
  }
@@ -192,6 +197,12 @@ export class WebGPUDevice extends Device {
192
197
  if (features.has('texture-compression-bc')) {
193
198
  features.add('texture-compression-bc5-webgl');
194
199
  }
200
+ if (this.handle.features.has('chromium-experimental-norm16-texture-formats')) {
201
+ features.add('norm16-renderable-webgl');
202
+ }
203
+ if (this.handle.features.has('chromium-experimental-snorm16-texture-formats')) {
204
+ features.add('snorm16-renderable-webgl');
205
+ }
195
206
  const WEBGPU_ALWAYS_FEATURES = [
196
207
  'timer-query-webgl',
197
208
  'compilation-status-async-webgl',
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-device.js","sourceRoot":"","sources":["../../src/adapter/webgpu-device.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AA6BpC,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,qCAAkC;AACvD,OAAO,EAAC,aAAa,EAAC,sCAAmC;AACzD,OAAO,EAAC,qBAAqB,EAAC,+CAA4C;AAC1E,OAAO,EAAC,aAAa,EAAC,sCAAmC;AACzD,OAAO,EAAC,YAAY,EAAC,qCAAkC;AACvD,OAAO,EAAC,oBAAoB,EAAC,8CAA2C;AACxE,OAAO,EAAC,iBAAiB,EAAC,0CAAuC;AACjE,OAAO,EAAC,qBAAqB,EAAC,+CAA4C;AAC1E,OAAO,EAAC,iBAAiB,EAAC,2CAAwC;AAElE,OAAO,EAAC,mBAAmB,EAAC,mCAAgC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,8CAA2C;AAExE,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,8CAA2C;AAExE,mCAAmC;AACnC,MAAM,OAAO,YAAa,SAAQ,MAAM;IACtC,mCAAmC;IAC1B,MAAM,CAAY;IAC3B,mCAAmC;IAC1B,OAAO,CAAa;IAC7B,0CAA0C;IACjC,WAAW,CAAiB;IAErC,0BAA0B;IACjB,IAAI,GAAG,QAAQ,CAAC;IAEhB,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,wBAAwB,EAEtD,CAAC;IACR,oBAAoB,GAAG,aAAa,CAAC;IAErC,QAAQ,CAAiB;IACzB,IAAI,CAAa;IACjB,MAAM,CAAe;IAErB,IAAI,CAAkD;IAEtD,aAAa,GAA+B,IAAI,CAAC;IAElD,OAAO,GAAY,KAAK,CAAC;IACjC,cAAc,CAAuB;IAErC,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QAC/B,OAAO,cAAc,CAAC;IACxB,CAAC;IAEQ,QAAQ;QACf,OAAO,gBAAgB,IAAI,CAAC,EAAE,GAAG,CAAC;IACpC,CAAC;IAED,YACE,KAAkB,EAClB,MAAiB,EACjB,OAAmB,EACnB,WAA2B;QAE3B,KAAK,CAAC,EAAC,GAAG,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,eAAe,EAAC,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAEjC,sCAAsC;QACtC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,KAAY,EAAE,EAAE;YAC1D,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,0EAA0E;YAC1E,MAAM,YAAY,GAChB,KAAK,YAAY,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;YAC1F,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAyC,KAAK,EAAC,OAAO,EAAC,EAAE;YAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,oFAAoF;QACpF,MAAM,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;IACP,2FAA2F;IAC3F,+BAA+B;IAC/B,oDAAoD;IAEpD,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,uBAAuB,CAAC,MAAoB;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,uBAAuB;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,YAAY,CAAC,KAAkD;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,KAAmB;QAC/B,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,qBAAqB,CAAC,KAA2B;QAC/C,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,YAAY,CAAC,KAAkB;QAC7B,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,aAAa,CAAC,KAAmB;QAC/B,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,oBAAoB,CAAC,KAA0B;QAC7C,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,iBAAiB,CAAC,KAAuB;QACvC,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,qBAAqB,CAAC,KAA2B;QAC/C,OAAO,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB,CAAC,KAAuB;QACvC,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEQ,oBAAoB,CAAC,KAA2B;QACvD,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,mBAAmB;IAEnB,uBAAuB,CAAC,KAA6B;QACnD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAEQ,cAAc,CAAC,KAAoB;QAC1C,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,mBAAmB,CAAC,KAAyB;QAC3C,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,oBAAoB,CAAC,KAA0B;QAC7C,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,aAAmC;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAC,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,kBAAkB,EAAC,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,CAAC,KAAe,EAAE,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACpF,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAElB,cAAc,CAAC,KAAqC;QAClD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,CAAC,OAAkC;QAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAER,QAAQ;QAChB,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAE,IAAI,CAAC,WAAmB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE5F,sFAAsF;QACtF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,aAAa,IAAI,EAAE,CAAC;QAEpC,MAAM,GAAG,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,oDAAoD;QAC1G,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,SAAS,CAAC;QACnE,MAAM,UAAU,GAAI,IAAI,CAAC,WAAmB,CAAC,OAAO,IAAI,SAAS,CAAC;QAClE,MAAM,OAAO,GAAG,CAAE,IAAI,CAAC,WAAmB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC;QAEhG,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM;YACN,QAAQ;YACR,OAAO;YACP,GAAG;YACH,OAAO;YACP,UAAU;YACV,eAAe;YACf,eAAe,EAAE,MAAM;YACvB,sBAAsB,EAAE,GAAG;SAC5B,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,uGAAuG;QACvG,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAgB,IAAI,CAAC,MAAM,CAAC,QAA8B,CAAC,CAAC;QACpF,4FAA4F;QAC5F,qCAAqC;QACrC,IAAI,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnC,qCAAqC;YACrC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAClC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;QAED,mEAAmE;QACnE,IAAI,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,sBAAsB,GAAoB;YAC9C,mBAAmB;YACnB,gCAAgC;YAChC,0BAA0B;YAC1B,0BAA0B;YAC1B,yBAAyB;YACzB,sCAAsC;YACtC,0CAA0C;SAC3C,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;YAC7C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC;IAEQ,2CAA2C,CAClD,YAA6C;QAE7C,MAAM,EAAC,MAAM,EAAC,GAAG,YAAY,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;QAC3F,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"webgpu-device.js","sourceRoot":"","sources":["../../src/adapter/webgpu-device.ts"],"names":[],"mappings":"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"}