@luma.gl/webgpu 9.1.0-alpha.2 → 9.1.0-alpha.9

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 (53) hide show
  1. package/dist/adapter/helpers/convert-texture-format.d.ts +0 -1
  2. package/dist/adapter/helpers/convert-texture-format.d.ts.map +1 -1
  3. package/dist/adapter/helpers/get-bind-group.d.ts +0 -1
  4. package/dist/adapter/helpers/get-bind-group.d.ts.map +1 -1
  5. package/dist/adapter/helpers/get-vertex-buffer-layout.d.ts +0 -1
  6. package/dist/adapter/helpers/get-vertex-buffer-layout.d.ts.map +1 -1
  7. package/dist/adapter/helpers/webgpu-parameters.d.ts +0 -1
  8. package/dist/adapter/helpers/webgpu-parameters.d.ts.map +1 -1
  9. package/dist/adapter/resources/webgpu-buffer.d.ts +0 -1
  10. package/dist/adapter/resources/webgpu-buffer.d.ts.map +1 -1
  11. package/dist/adapter/resources/webgpu-command-encoder.d.ts +0 -1
  12. package/dist/adapter/resources/webgpu-command-encoder.d.ts.map +1 -1
  13. package/dist/adapter/resources/webgpu-compute-pass.d.ts +0 -1
  14. package/dist/adapter/resources/webgpu-compute-pass.d.ts.map +1 -1
  15. package/dist/adapter/resources/webgpu-compute-pipeline.d.ts +0 -1
  16. package/dist/adapter/resources/webgpu-compute-pipeline.d.ts.map +1 -1
  17. package/dist/adapter/resources/webgpu-external-texture.d.ts +0 -1
  18. package/dist/adapter/resources/webgpu-external-texture.d.ts.map +1 -1
  19. package/dist/adapter/resources/webgpu-query-set.d.ts +0 -1
  20. package/dist/adapter/resources/webgpu-query-set.d.ts.map +1 -1
  21. package/dist/adapter/resources/webgpu-render-pass.d.ts +0 -1
  22. package/dist/adapter/resources/webgpu-render-pass.d.ts.map +1 -1
  23. package/dist/adapter/resources/webgpu-render-pipeline.d.ts +0 -1
  24. package/dist/adapter/resources/webgpu-render-pipeline.d.ts.map +1 -1
  25. package/dist/adapter/resources/webgpu-sampler.d.ts +0 -1
  26. package/dist/adapter/resources/webgpu-sampler.d.ts.map +1 -1
  27. package/dist/adapter/resources/webgpu-shader.d.ts +0 -1
  28. package/dist/adapter/resources/webgpu-shader.d.ts.map +1 -1
  29. package/dist/adapter/resources/webgpu-texture-view.d.ts +0 -1
  30. package/dist/adapter/resources/webgpu-texture-view.d.ts.map +1 -1
  31. package/dist/adapter/resources/webgpu-texture.d.ts +2 -3
  32. package/dist/adapter/resources/webgpu-texture.d.ts.map +1 -1
  33. package/dist/adapter/resources/webgpu-texture.js +27 -3
  34. package/dist/adapter/webgpu-adapter.d.ts +13 -0
  35. package/dist/adapter/webgpu-adapter.d.ts.map +1 -0
  36. package/dist/adapter/webgpu-adapter.js +68 -0
  37. package/dist/adapter/webgpu-canvas-context.d.ts +0 -1
  38. package/dist/adapter/webgpu-canvas-context.d.ts.map +1 -1
  39. package/dist/adapter/webgpu-device.d.ts +1 -6
  40. package/dist/adapter/webgpu-device.d.ts.map +1 -1
  41. package/dist/adapter/webgpu-device.js +2 -52
  42. package/dist/dist.dev.js +101 -83
  43. package/dist/dist.min.js +1 -1
  44. package/dist/index.cjs +93 -60
  45. package/dist/index.cjs.map +4 -4
  46. package/dist/index.d.ts +2 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -2
  49. package/package.json +2 -2
  50. package/src/adapter/resources/webgpu-texture.ts +36 -22
  51. package/src/adapter/webgpu-adapter.ts +93 -0
  52. package/src/adapter/webgpu-device.ts +3 -72
  53. package/src/index.ts +3 -1
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { TextureFormat } from '@luma.gl/core';
3
2
  /** Ensure a texture format is WebGPU compatible */
4
3
  export declare function getWebGPUTextureFormat(format: TextureFormat): GPUTextureFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"convert-texture-format.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/convert-texture-format.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAE5C,mDAAmD;AACnD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAK9E"}
1
+ {"version":3,"file":"convert-texture-format.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/convert-texture-format.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAE5C,mDAAmD;AACnD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAK9E"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import type { ComputeShaderLayout, BindingDeclaration, Binding } from '@luma.gl/core';
3
2
  /**
4
3
  * Create a WebGPU "bind group layout" from an array of luma.gl bindings
@@ -1 +1 @@
1
- {"version":3,"file":"get-bind-group.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/get-bind-group.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAC,mBAAmB,EAAE,kBAAkB,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAMpF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,OAAO,EAAE,GAClB,kBAAkB,CAMpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,kBAAkB,EACnC,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,YAAY,CAMd;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,MAAM,GAClB,kBAAkB,GAAG,IAAI,CAS3B"}
1
+ {"version":3,"file":"get-bind-group.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/get-bind-group.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,mBAAmB,EAAE,kBAAkB,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAMpF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,OAAO,EAAE,GAClB,kBAAkB,CAMpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,kBAAkB,EACnC,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,YAAY,CAMd;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,MAAM,GAClB,kBAAkB,GAAG,IAAI,CAS3B"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import type { ShaderLayout, BufferLayout } from '@luma.gl/core';
3
2
  /**
4
3
  * Build a WebGPU vertex buffer layout intended for use in a GPURenderPassDescriptor.
@@ -1 +1 @@
1
- {"version":3,"file":"get-vertex-buffer-layout.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/get-vertex-buffer-layout.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAqC,MAAM,eAAe,CAAC;AAYlG;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,GAC3B,qBAAqB,EAAE,CAkFzB;AAED,wBAAgB,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BxB"}
1
+ {"version":3,"file":"get-vertex-buffer-layout.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/get-vertex-buffer-layout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAqC,MAAM,eAAe,CAAC;AAYlG;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,GAC3B,qBAAqB,EAAE,CAkFzB;AAED,wBAAgB,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BxB"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { Parameters } from '@luma.gl/core';
3
2
  /**
4
3
  * Supports for luma.gl's flat parameter space
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-parameters.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/webgpu-parameters.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AA2BzC;;;GAGG;AAEH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,UAAU,EAAE,QAAQ,CAsN9D,CAAC;AAgCF,wBAAgB,yCAAyC,CACvD,kBAAkB,EAAE,2BAA2B,EAC/C,UAAU,GAAE,UAAe,GAC1B,IAAI,CAIN"}
1
+ {"version":3,"file":"webgpu-parameters.d.ts","sourceRoot":"","sources":["../../../src/adapter/helpers/webgpu-parameters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AA2BzC;;;GAGG;AAEH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,UAAU,EAAE,QAAQ,CAsN9D,CAAC;AAgCF,wBAAgB,yCAAyC,CACvD,kBAAkB,EAAE,2BAA2B,EAC/C,UAAU,GAAE,UAAe,GAC1B,IAAI,CAIN"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { Buffer, BufferProps } from '@luma.gl/core';
3
2
  import type { WebGPUDevice } from "../webgpu-device.js";
4
3
  export declare class WebGPUBuffer extends Buffer {
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-buffer.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-buffer.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAMnD,qBAAa,YAAa,SAAQ,MAAM;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW;IA8B3C,OAAO,IAAI,IAAI;IAOf,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,SAAI;IAUrC,SAAS,CACtB,UAAU,GAAE,MAAU,EACtB,UAAU,GAAE,MAAwB,GACnC,OAAO,CAAC,UAAU,CAAC;IAsBtB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAQtD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,cAAc,CAAC,MAAM,GAAE,MAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW;IAI9D,KAAK,IAAI,IAAI;CAGd;AA4CD;;;;;;;;EAQE"}
1
+ {"version":3,"file":"webgpu-buffer.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-buffer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAMnD,qBAAa,YAAa,SAAQ,MAAM;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW;IA8B3C,OAAO,IAAI,IAAI;IAOf,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,SAAI;IAUrC,SAAS,CACtB,UAAU,GAAE,MAAU,EACtB,UAAU,GAAE,MAAwB,GACnC,OAAO,CAAC,UAAU,CAAC;IAsBtB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAQtD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,cAAc,CAAC,MAAM,GAAE,MAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW;IAI9D,KAAK,IAAI,IAAI;CAGd;AA4CD;;;;;;;;EAQE"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { CommandEncoder, CommandEncoderProps, Buffer, Texture } from '@luma.gl/core';
3
2
  import type { CopyTextureToTextureOptions, CopyTextureToBufferOptions } from '@luma.gl/core';
4
3
  import { WebGPUDevice } from "../webgpu-device.js";
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-command-encoder.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-command-encoder.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AACnF,OAAO,KAAK,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAG9C,OAAO,EAAC,cAAc,EAAC,8BAA2B;AAElD,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB;IAYnD,OAAO,IAAI,IAAI;IAExB,MAAM,CAAC,OAAO,CAAC,EAAE;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,gBAAgB;IAOjD,kBAAkB,CAAC,OAAO,EAC1B;QACE,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI;IAYR,mBAAmB,CAAC,OAAO,EAC3B;QACE,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QAErB,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;QAE/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9C,GAAG,IAAI;IAyBR,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAW9D,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI;IAWvD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,aAAa,IAAI,IAAI;IAIrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C,eAAe,CACtB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GACA,IAAI;CAWR"}
1
+ {"version":3,"file":"webgpu-command-encoder.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-command-encoder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AACnF,OAAO,KAAK,EAAC,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAG9C,OAAO,EAAC,cAAc,EAAC,8BAA2B;AAElD,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB;IAYnD,OAAO,IAAI,IAAI;IAExB,MAAM,CAAC,OAAO,CAAC,EAAE;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,gBAAgB;IAOjD,kBAAkB,CAAC,OAAO,EAC1B;QACE,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI;IAYR,mBAAmB,CAAC,OAAO,EAC3B;QACE,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QAErB,WAAW,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;QAE/C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9C,GAAG,IAAI;IAyBR,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAW9D,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI;IAWvD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,aAAa,IAAI,IAAI;IAIrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C,eAAe,CACtB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GACA,IAAI;CAWR"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { ComputePass, ComputePassProps, ComputePipeline, Buffer, Binding } from '@luma.gl/core';
3
2
  import { WebGPUDevice } from "../webgpu-device.js";
4
3
  import { WebGPUComputePipeline } from "./webgpu-compute-pipeline.js";
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-compute-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-compute-pass.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,OAAO,EAAC,qBAAqB,EAAC,qCAAkC;AAGhE,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAQ;gBAEzC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAyBzD,8CAA8C;IACrC,OAAO,IAAI,IAAI;IAExB,GAAG,IAAI,IAAI;IAIX,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAO5C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAMtC;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD;;;;;;OAMG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,GAAE,MAAU,GAAG,IAAI;IAK9E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,aAAa,IAAI,IAAI;IAIrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAG7C"}
1
+ {"version":3,"file":"webgpu-compute-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-compute-pass.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,OAAO,EAAC,qBAAqB,EAAC,qCAAkC;AAGhE,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAQ;gBAEzC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAyBzD,8CAA8C;IACrC,OAAO,IAAI,IAAI;IAExB,GAAG,IAAI,IAAI;IAIX,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAO5C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAMtC;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD;;;;;;OAMG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,GAAE,MAAU,GAAG,IAAI;IAK9E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC,aAAa,IAAI,IAAI;IAIrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAG7C"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { ComputePipeline, ComputePipelineProps, Binding } from '@luma.gl/core';
3
2
  import { WebGPUDevice } from "../webgpu-device.js";
4
3
  /** Creates a new compute pipeline when parameters change */
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-compute-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-compute-pipeline.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAK9C,4DAA4D;AAC5D,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAE3B,4CAA4C;IAC5C,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,UAAU,CAA6B;IAC/C,4CAA4C;IAC5C,OAAO,CAAC,SAAS,CAA+B;gBAEpC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB;IAmB7D;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIpD,iDAAiD;IACjD,aAAa;CAWd"}
1
+ {"version":3,"file":"webgpu-compute-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-compute-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAK9C,4DAA4D;AAC5D,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAE3B,4CAA4C;IAC5C,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,UAAU,CAA6B;IAC/C,4CAA4C;IAC5C,OAAO,CAAC,SAAS,CAA+B;gBAEpC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB;IAmB7D;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIpD,iDAAiD;IACjD,aAAa;CAWd"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { ExternalTexture, ExternalTextureProps, Sampler, SamplerProps } from '@luma.gl/core';
3
2
  import type { WebGPUDevice } from "../webgpu-device.js";
4
3
  import { WebGPUSampler } from "./webgpu-sampler.js";
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-external-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-external-texture.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AACnD,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAE/C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,OAAO,EAAE,aAAa,CAAC;gBAEX,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB;IAapD,OAAO,IAAI,IAAI;IAQxB,0BAA0B;IAC1B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;CAMlD"}
1
+ {"version":3,"file":"webgpu-external-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-external-texture.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3F,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AACnD,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAE/C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,OAAO,EAAE,aAAa,CAAC;gBAEX,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,oBAAoB;IAapD,OAAO,IAAI,IAAI;IAQxB,0BAA0B;IAC1B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;CAMlD"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { QuerySet, QuerySetProps } from '@luma.gl/core';
3
2
  import { WebGPUDevice } from "../webgpu-device.js";
4
3
  export type QuerySetProps2 = {
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-query-set.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-query-set.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa;IAY7C,OAAO,IAAI,IAAI;CAKzB"}
1
+ {"version":3,"file":"webgpu-query-set.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-query-set.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa;IAY7C,OAAO,IAAI,IAAI;CAKzB"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import type { RenderPassProps, RenderPassParameters, Binding } from '@luma.gl/core';
3
2
  import { Buffer, RenderPass, RenderPipeline } from '@luma.gl/core';
4
3
  import { WebGPUDevice } from "../webgpu-device.js";
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-render-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-render-pass.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAC,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAClF,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAM,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAG9C,OAAO,EAAC,oBAAoB,EAAC,oCAAiC;AAE9D,OAAO,EAAC,iBAAiB,EAAC,gCAA6B;AAEvD,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEtC,sBAAsB;IACtB,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAQ;gBAEjC,MAAM,EAAE,YAAY,EAAE,KAAK,GAAE,eAAoB;IAmCpD,OAAO,IAAI,IAAI;IAExB,GAAG,IAAI,IAAI;IAIX,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAK3C,2EAA2E;IAC3E,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQpD,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAC3B,MAAM,GAAE,MAAU,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI;IAIP,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,IAAI;IAIvE,IAAI,CAAC,OAAO,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI;IAmBR,YAAY,IAAI,IAAI;IAKpB,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAwBrD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAGxC,aAAa,IAAI,IAAI;IAGrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAG7C,iBAAiB,IAAI,IAAI;IAQzB;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,uBAAuB;CA2C3F"}
1
+ {"version":3,"file":"webgpu-render-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-render-pass.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAE,oBAAoB,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAClF,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAM,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAG9C,OAAO,EAAC,oBAAoB,EAAC,oCAAiC;AAE9D,OAAO,EAAC,iBAAiB,EAAC,gCAA6B;AAEvD,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEtC,sBAAsB;IACtB,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAQ;gBAEjC,MAAM,EAAE,YAAY,EAAE,KAAK,GAAE,eAAoB;IAmCpD,OAAO,IAAI,IAAI;IAExB,GAAG,IAAI,IAAI;IAIX,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAK3C,2EAA2E;IAC3E,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQpD,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAC3B,MAAM,GAAE,MAAU,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI;IAIP,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,IAAI;IAIvE,IAAI,CAAC,OAAO,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,IAAI;IAmBR,YAAY,IAAI,IAAI;IAKpB,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAwBrD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAGxC,aAAa,IAAI,IAAI;IAGrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAG7C,iBAAiB,IAAI,IAAI;IAQzB;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,uBAAuB;CA2C3F"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import type { Binding, RenderPass, VertexArray } from '@luma.gl/core';
3
2
  import { RenderPipeline, RenderPipelineProps } from '@luma.gl/core';
4
3
  import type { WebGPUDevice } from "../webgpu-device.js";
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-render-pipeline.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAM,MAAM,eAAe,CAAC;AASvE,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAEnD,OAAO,KAAK,EAAC,YAAY,EAAC,2BAAwB;AAKlD,2DAA2D;AAC3D,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAE1B,EAAE,EAAE,YAAY,CAAC;IACjB,EAAE,EAAE,YAAY,GAAG,IAAI,CAAQ;IAE/B,4CAA4C;IAC5C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,UAAU,CAA6B;gBAEnC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB;IAmBnD,OAAO,IAAI,IAAI;IAMxB;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIpD,kDAAkD;IAClD,IAAI,CAAC,OAAO,EAAE;QACZ,UAAU,EAAE,UAAU,CAAC;QACvB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO;IAuCX,iDAAiD;IACjD,aAAa;IAiBb;;OAEG;IACH,SAAS,CAAC,4BAA4B;CAmCvC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCE"}
1
+ {"version":3,"file":"webgpu-render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-render-pipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAM,MAAM,eAAe,CAAC;AASvE,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAEnD,OAAO,KAAK,EAAC,YAAY,EAAC,2BAAwB;AAKlD,2DAA2D;AAC3D,qBAAa,oBAAqB,SAAQ,cAAc;IACtD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAE1B,EAAE,EAAE,YAAY,CAAC;IACjB,EAAE,EAAE,YAAY,GAAG,IAAI,CAAQ;IAE/B,4CAA4C;IAC5C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,UAAU,CAA6B;gBAEnC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB;IAmBnD,OAAO,IAAI,IAAI;IAMxB;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIpD,kDAAkD;IAClD,IAAI,CAAC,OAAO,EAAE;QACZ,UAAU,EAAE,UAAU,CAAC;QACvB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO;IAuCX,iDAAiD;IACjD,aAAa;IAiBb;;OAEG;IACH,SAAS,CAAC,4BAA4B;CAmCvC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCE"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { Sampler, SamplerProps } from '@luma.gl/core';
3
2
  import type { WebGPUDevice } from "../webgpu-device.js";
4
3
  export type WebGPUSamplerProps = SamplerProps & {
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-sampler.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-sampler.ts"],"names":[],"mappings":";AAGA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAEnD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACxC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEhB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB;IAclD,OAAO,IAAI,IAAI;CAMzB"}
1
+ {"version":3,"file":"webgpu-sampler.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-sampler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAEnD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAc,SAAQ,OAAO;IACxC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEhB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB;IAclD,OAAO,IAAI,IAAI;CAMzB"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import type { ShaderProps, CompilerMessage } from '@luma.gl/core';
3
2
  import { Shader } from '@luma.gl/core';
4
3
  import type { WebGPUDevice } from "../webgpu-device.js";
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-shader.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-shader.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,MAAM,EAAM,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAEnD;;GAEG;AACH,qBAAa,YAAa,SAAQ,MAAM;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;gBAErB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW;IAY9C,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,OAAO,IAAI,IAAI;IAOxB,+CAA+C;IACzC,kBAAkB,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAO/D,SAAS,CAAC,YAAY,IAAI,eAAe;CAU1C"}
1
+ {"version":3,"file":"webgpu-shader.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-shader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,MAAM,EAAM,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AAEnD;;GAEG;AACH,qBAAa,YAAa,SAAQ,MAAM;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;gBAErB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW;IAY9C,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,OAAO,IAAI,IAAI;IAOxB,+CAA+C;IACzC,kBAAkB,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAO/D,SAAS,CAAC,YAAY,IAAI,eAAe;CAU1C"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import { TextureView, TextureViewProps } from '@luma.gl/core';
3
2
  import type { WebGPUDevice } from "../webgpu-device.js";
4
3
  import type { WebGPUTexture } from "./webgpu-texture.js";
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-texture-view.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-texture-view.ts"],"names":[],"mappings":";AAIA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AACnD,OAAO,KAAK,EAAC,aAAa,EAAC,4BAAyB;AAiBpD,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG;IACtD,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;gBAEpB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,GAAG;QAAC,OAAO,EAAE,aAAa,CAAA;KAAC;IAmBjF,OAAO,IAAI,IAAI;CAMzB"}
1
+ {"version":3,"file":"webgpu-texture-view.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-texture-view.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AACnD,OAAO,KAAK,EAAC,aAAa,EAAC,4BAAyB;AAiBpD,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG;IACtD,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;gBAEpB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,GAAG;QAAC,OAAO,EAAE,aAAa,CAAA;KAAC;IAmBjF,OAAO,IAAI,IAAI;CAMzB"}
@@ -1,5 +1,4 @@
1
- /// <reference types="dist" />
2
- import type { TextureProps, TextureViewProps, Sampler, SamplerProps, Texture1DData, Texture2DData, Texture3DData, TextureCubeData, TextureArrayData, TextureCubeArrayData } from '@luma.gl/core';
1
+ import type { TextureProps, TextureViewProps, Sampler, SamplerProps, Texture1DData, Texture2DData, Texture3DData, TextureCubeData, TextureArrayData, TextureCubeArrayData, ExternalImage } from '@luma.gl/core';
3
2
  import { Texture } from '@luma.gl/core';
4
3
  import type { WebGPUDevice } from "../webgpu-device.js";
5
4
  import { WebGPUSampler } from "./webgpu-sampler.js";
@@ -37,7 +36,7 @@ export declare class WebGPUTexture extends Texture {
37
36
  };
38
37
  /** Set image */
39
38
  setImage(options: {
40
- source: ImageBitmap | HTMLCanvasElement | OffscreenCanvas;
39
+ source: ExternalImage;
41
40
  width?: number;
42
41
  height?: number;
43
42
  depth?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-texture.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAEV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,YAAY,EAKZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAGtC,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AACnD,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAC/C,OAAO,EAAC,iBAAiB,EAAC,iCAA8B;AAWxD,qBAAa,aAAc,SAAQ,OAAO;IACxC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAK;IACnB,KAAK,EAAE,MAAM,CAAK;IAE3B,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;gBASZ,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY;IAiB5C,OAAO,IAAI,IAAI;IAMxB,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB;IAItD,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAwC/C,SAAS,CAAC,YAAY,IAAI,UAAU;IAsBpC,kEAAkE;IAClE,oBAAoB,IAAI,cAAc;IAItC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;IAMjD,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAI3C,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/E,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/E,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/D,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAIjD,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAIzD,OAAO,CAAC,OAAO,EAAE;QAAC,IAAI,EAAE,GAAG,CAAA;KAAC;;;;IAI5B,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE;QAChB,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC;QAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;QAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;CA2HpC"}
1
+ {"version":3,"file":"webgpu-texture.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgpu-texture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,YAAY,EAKZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAGtC,OAAO,KAAK,EAAC,YAAY,EAAC,4BAAyB;AACnD,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAC/C,OAAO,EAAC,iBAAiB,EAAC,iCAA8B;AAWxD,qBAAa,aAAc,SAAQ,OAAO;IACxC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAK;IACnB,KAAK,EAAE,MAAM,CAAK;IAE3B,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;gBASZ,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY;IAiB5C,OAAO,IAAI,IAAI;IAMxB,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB;IAItD,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IA4C/C,SAAS,CAAC,YAAY,IAAI,UAAU;IAsBpC,kEAAkE;IAClE,oBAAoB,IAAI,cAAc;IAItC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;IAMjD,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAI3C,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/E,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/E,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/D,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAIjD,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAIzD,OAAO,CAAC,OAAO,EAAE;QAAC,IAAI,EAAE,GAAG,CAAA;KAAC,GAAG;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IA2B9D,gBAAgB;IAChB,QAAQ,CAAC,OAAO,EAAE;QAChB,MAAM,EAAE,aAAa,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,KAAK,GAAG,cAAc,GAAG,YAAY,CAAC;QAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;CA6GpC"}
@@ -49,7 +49,12 @@ export class WebGPUTexture extends Texture {
49
49
  this.handle = this.props.handle || this.createHandle();
50
50
  this.handle.label ||= this.id;
51
51
  if (this.props.data) {
52
- this.setData({ data: this.props.data });
52
+ if (Texture.isExternalImage(this.props.data)) {
53
+ this.setImage({ source: this.props.data });
54
+ }
55
+ else {
56
+ this.setData({ data: this.props.data });
57
+ }
53
58
  }
54
59
  this.width = this.handle.width;
55
60
  this.height = this.handle.height;
@@ -130,11 +135,30 @@ export class WebGPUTexture extends Texture {
130
135
  throw new Error('not implemented');
131
136
  }
132
137
  setData(options) {
133
- return this.setImage({ source: options.data });
138
+ let source = options.data;
139
+ if (ArrayBuffer.isView(options.data)) {
140
+ const clampedArray = new Uint8ClampedArray(options.data.buffer);
141
+ // TODO - pass through src data color space as ImageData Options?
142
+ source = new ImageData(clampedArray, this.width, this.height);
143
+ }
144
+ return this.setImage({ source });
134
145
  }
146
+ // setDataFromTypedArray(data): this {
147
+ // const textureDataBuffer = this.device.handle.createBuffer({
148
+ // size: data.byteLength,
149
+ // usage: Buffer.COPY_DST | Buffer.COPY_SRC,
150
+ // mappedAtCreation: true
151
+ // });
152
+ // new Uint8Array(textureDataBuffer.getMappedRange()).set(data);
153
+ // textureDataBuffer.unmap();
154
+ // this.setBuffer(textureDataBuffer);
155
+ // textureDataBuffer.destroy();
156
+ // return this;
157
+ // }
135
158
  /** Set image */
136
159
  setImage(options) {
137
- const { source, width = options.source.width, height = options.source.height, depth = 1, sourceX = 0, sourceY = 0, mipLevel = 0, x = 0, y = 0, z = 0, aspect = 'all', colorSpace = 'srgb', premultipliedAlpha = false } = options;
160
+ const size = Texture.getExternalImageSize(options.source);
161
+ const { source, width = size.width, height = size.height, depth = 1, sourceX = 0, sourceY = 0, mipLevel = 0, x = 0, y = 0, z = 0, aspect = 'all', colorSpace = 'srgb', premultipliedAlpha = false } = options;
138
162
  // TODO - max out width
139
163
  this.device.handle.queue.copyExternalImageToTexture(
140
164
  // source: GPUImageCopyExternalImage
@@ -0,0 +1,13 @@
1
+ import { Adapter, DeviceProps } from '@luma.gl/core';
2
+ import { WebGPUDevice } from "./webgpu-device.js";
3
+ export declare class WebGPUAdapter extends Adapter {
4
+ /** type of device's created by this adapter */
5
+ readonly type = "webgpu";
6
+ constructor();
7
+ /** Check if WebGPU is available */
8
+ isSupported(): boolean;
9
+ create(props: DeviceProps): Promise<WebGPUDevice>;
10
+ attach(handle: GPUDevice): Promise<WebGPUDevice>;
11
+ }
12
+ export declare const webgpuAdapter: WebGPUAdapter;
13
+ //# sourceMappingURL=webgpu-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgpu-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAI7C,qBAAa,aAAc,SAAQ,OAAO;IACxC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,YAAkC;;IAQ/C,mCAAmC;IACnC,WAAW,IAAI,OAAO;IAIhB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA+DjD,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;CAGvD;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -0,0 +1,68 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { Adapter, CanvasContext, log } from '@luma.gl/core';
5
+ import { WebGPUDevice } from "./webgpu-device.js";
6
+ // / <reference types="@webgpu/types" />
7
+ export class WebGPUAdapter extends Adapter {
8
+ /** type of device's created by this adapter */
9
+ type = 'webgpu';
10
+ constructor() {
11
+ super();
12
+ // @ts-ignore For backwards compatibility luma.registerDevices
13
+ WebGPUDevice.adapter = this;
14
+ }
15
+ /** Check if WebGPU is available */
16
+ isSupported() {
17
+ return Boolean(typeof navigator !== 'undefined' && navigator.gpu);
18
+ }
19
+ async create(props) {
20
+ if (!navigator.gpu) {
21
+ throw new Error('WebGPU not available. Open in Chrome Canary and turn on chrome://flags/#enable-unsafe-webgpu');
22
+ }
23
+ log.groupCollapsed(1, 'WebGPUDevice created')();
24
+ const adapter = await navigator.gpu.requestAdapter({
25
+ powerPreference: 'high-performance'
26
+ // forceSoftware: false
27
+ });
28
+ if (!adapter) {
29
+ throw new Error('Failed to request WebGPU adapter');
30
+ }
31
+ const adapterInfo = await adapter.requestAdapterInfo();
32
+ log.probe(2, 'Adapter available', adapterInfo)();
33
+ const requiredFeatures = [];
34
+ const requiredLimits = {};
35
+ if (props.requestMaxLimits) {
36
+ // Require all features
37
+ requiredFeatures.push(...Array.from(adapter.features));
38
+ // Require all limits
39
+ // Filter out chrome specific keys (avoid crash)
40
+ const limits = Object.keys(adapter.limits).filter(key => !['minSubgroupSize', 'maxSubgroupSize'].includes(key));
41
+ for (const key of limits) {
42
+ const limit = key;
43
+ const value = adapter.limits[limit];
44
+ if (typeof value === 'number') {
45
+ requiredLimits[limit] = value;
46
+ }
47
+ }
48
+ }
49
+ const gpuDevice = await adapter.requestDevice({
50
+ requiredFeatures,
51
+ requiredLimits
52
+ });
53
+ log.probe(1, 'GPUDevice available')();
54
+ if (typeof props.canvas === 'string') {
55
+ await CanvasContext.pageLoaded;
56
+ log.probe(1, 'DOM is loaded')();
57
+ }
58
+ const device = new WebGPUDevice(props, gpuDevice, adapter, adapterInfo);
59
+ log.probe(1, 'Device created. For more info, set chrome://flags/#enable-webgpu-developer-features')();
60
+ log.table(1, device.info)();
61
+ log.groupEnd(1)();
62
+ return device;
63
+ }
64
+ async attach(handle) {
65
+ throw new Error('WebGPUAdapter.attach() not implemented');
66
+ }
67
+ }
68
+ export const webgpuAdapter = new WebGPUAdapter();
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import type { Texture, TextureFormat, CanvasContextProps } from '@luma.gl/core';
3
2
  import { CanvasContext } from '@luma.gl/core';
4
3
  import { WebGPUDevice } from "./webgpu-device.js";
@@ -1 +1 @@
1
- {"version":3,"file":"webgpu-canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-canvas-context.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAC,aAAa,EAAM,MAAM,eAAe,CAAC;AAEjD,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,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,aAAa,CAA6D;IAC3F,gDAAgD;IAChD,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAiB;IAE3D,OAAO,CAAC,sBAAsB,CAAwB;gBAE1C,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB;IAehF,2FAA2F;IAC3F,OAAO,IAAI,IAAI;IAIf,0EAA0E;IAC1E,qBAAqB,IAAI,iBAAiB;IA2B1C,sDAAsD;IACtD,MAAM;IA6BN,MAAM,CAAC,OAAO,CAAC,EAAE;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAC,GAAG,IAAI;IAI7F,mEAAmE;IACnE,iBAAiB,IAAI,aAAa;IAQlC,8FAA8F;IAC9F,6BAA6B;CAY9B"}
1
+ {"version":3,"file":"webgpu-canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/webgpu-canvas-context.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAC,aAAa,EAAM,MAAM,eAAe,CAAC;AAEjD,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,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,aAAa,CAA6D;IAC3F,gDAAgD;IAChD,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAiB;IAE3D,OAAO,CAAC,sBAAsB,CAAwB;gBAE1C,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB;IAehF,2FAA2F;IAC3F,OAAO,IAAI,IAAI;IAIf,0EAA0E;IAC1E,qBAAqB,IAAI,iBAAiB;IA2B1C,sDAAsD;IACtD,MAAM;IA6BN,MAAM,CAAC,OAAO,CAAC,EAAE;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAC,GAAG,IAAI;IAI7F,mEAAmE;IACnE,iBAAiB,IAAI,aAAa;IAQlC,8FAA8F;IAC9F,6BAA6B;CAY9B"}
@@ -1,4 +1,3 @@
1
- /// <reference types="dist" />
2
1
  import type { DeviceProps, DeviceInfo, DeviceLimits, CanvasContextProps, BufferProps, SamplerProps, ShaderProps, Texture, TextureProps, TextureFormat, ExternalTextureProps, FramebufferProps, RenderPipelineProps, ComputePipelineProps, RenderPassProps, ComputePassProps, VertexArrayProps, TransformFeedback, TransformFeedbackProps, QuerySet, QuerySetProps } from '@luma.gl/core';
3
2
  import { Device, DeviceFeatures } from '@luma.gl/core';
4
3
  import { WebGPUBuffer } from "./resources/webgpu-buffer.js";
@@ -15,7 +14,6 @@ import { WebGPUVertexArray } from "./resources/webgpu-vertex-array.js";
15
14
  import { WebGPUCanvasContext } from "./webgpu-canvas-context.js";
16
15
  /** WebGPU Device implementation */
17
16
  export declare class WebGPUDevice extends Device {
18
- static type: string;
19
17
  /** type of this device */
20
18
  readonly type = "webgpu";
21
19
  /** The underlying WebGPU device */
@@ -33,10 +31,7 @@ export declare class WebGPUDevice extends Device {
33
31
  private _isLost;
34
32
  commandEncoder: GPUCommandEncoder | null;
35
33
  renderPass: WebGPURenderPass | null;
36
- /** Check if WebGPU is available */
37
- static isSupported(): boolean;
38
- static create(props: DeviceProps): Promise<WebGPUDevice>;
39
- constructor(device: GPUDevice, adapter: GPUAdapter, adapterInfo: GPUAdapterInfo, props: DeviceProps);
34
+ constructor(props: DeviceProps, device: GPUDevice, adapter: GPUAdapter, adapterInfo: GPUAdapterInfo);
40
35
  destroy(): void;
41
36
  isTextureFormatSupported(format: TextureFormat): boolean;
42
37
  /** @todo implement proper check? */
@@ -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":"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"}
@@ -1,7 +1,7 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { Device, DeviceFeatures, CanvasContext, log } from '@luma.gl/core';
4
+ import { Device, DeviceFeatures } from '@luma.gl/core';
5
5
  import { WebGPUBuffer } from "./resources/webgpu-buffer.js";
6
6
  import { WebGPUTexture } from "./resources/webgpu-texture.js";
7
7
  import { WebGPUExternalTexture } from "./resources/webgpu-external-texture.js";
@@ -18,7 +18,6 @@ import { WebGPUCanvasContext } from "./webgpu-canvas-context.js";
18
18
  import { WebGPUQuerySet } from "./resources/webgpu-query-set.js";
19
19
  /** WebGPU Device implementation */
20
20
  export class WebGPUDevice extends Device {
21
- static type = 'webgpu';
22
21
  /** type of this device */
23
22
  type = 'webgpu';
24
23
  /** The underlying WebGPU device */
@@ -35,56 +34,7 @@ export class WebGPUDevice extends Device {
35
34
  _isLost = false;
36
35
  commandEncoder = null;
37
36
  renderPass = null;
38
- /** Check if WebGPU is available */
39
- static isSupported() {
40
- return Boolean(typeof navigator !== 'undefined' && navigator.gpu);
41
- }
42
- static async create(props) {
43
- if (!navigator.gpu) {
44
- throw new Error('WebGPU not available. Open in Chrome Canary and turn on chrome://flags/#enable-unsafe-webgpu');
45
- }
46
- log.groupCollapsed(1, 'WebGPUDevice created')();
47
- const adapter = await navigator.gpu.requestAdapter({
48
- powerPreference: 'high-performance'
49
- // forceSoftware: false
50
- });
51
- if (!adapter) {
52
- throw new Error('Failed to request WebGPU adapter');
53
- }
54
- const adapterInfo = await adapter.requestAdapterInfo();
55
- log.probe(2, 'Adapter available', adapterInfo)();
56
- const requiredFeatures = [];
57
- const requiredLimits = {};
58
- if (props.requestMaxLimits) {
59
- // Require all features
60
- requiredFeatures.push(...Array.from(adapter.features));
61
- // Require all limits
62
- // Filter out chrome specific keys (avoid crash)
63
- const limits = Object.keys(adapter.limits).filter(key => !['minSubgroupSize', 'maxSubgroupSize'].includes(key));
64
- for (const key of limits) {
65
- const limit = key;
66
- const value = adapter.limits[limit];
67
- if (typeof value === 'number') {
68
- requiredLimits[limit] = value;
69
- }
70
- }
71
- }
72
- const gpuDevice = await adapter.requestDevice({
73
- requiredFeatures,
74
- requiredLimits
75
- });
76
- log.probe(1, 'GPUDevice available')();
77
- if (typeof props.canvas === 'string') {
78
- await CanvasContext.pageLoaded;
79
- log.probe(1, 'DOM is loaded')();
80
- }
81
- const device = new WebGPUDevice(gpuDevice, adapter, adapterInfo, props);
82
- log.probe(1, 'Device created. For more info, set chrome://flags/#enable-webgpu-developer-features')();
83
- log.table(1, device.info)();
84
- log.groupEnd(1)();
85
- return device;
86
- }
87
- constructor(device, adapter, adapterInfo, props) {
37
+ constructor(props, device, adapter, adapterInfo) {
88
38
  super({ ...props, id: props.id || 'webgpu-device' });
89
39
  this.handle = device;
90
40
  this.adapter = adapter;