@luma.gl/webgl 9.1.0-alpha.2 → 9.1.0-beta.1

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 (216) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +3 -3
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +19 -11
  4. package/dist/adapter/converters/device-parameters.js.map +1 -0
  5. package/dist/adapter/converters/sampler-parameters.js +7 -4
  6. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  7. package/dist/adapter/converters/shader-formats.js +1 -0
  8. package/dist/adapter/converters/shader-formats.js.map +1 -0
  9. package/dist/adapter/converters/vertex-formats.js +1 -0
  10. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  11. package/dist/adapter/converters/webgl-texture-table.d.ts +40 -0
  12. package/dist/adapter/converters/webgl-texture-table.d.ts.map +1 -0
  13. package/dist/adapter/converters/webgl-texture-table.js +304 -0
  14. package/dist/adapter/converters/webgl-texture-table.js.map +1 -0
  15. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
  16. package/dist/adapter/device-helpers/webgl-device-features.js +2 -3
  17. package/dist/adapter/device-helpers/webgl-device-features.js.map +1 -0
  18. package/dist/adapter/device-helpers/webgl-device-info.js +1 -0
  19. package/dist/adapter/device-helpers/webgl-device-info.js.map +1 -0
  20. package/dist/adapter/device-helpers/webgl-device-limits.js +1 -0
  21. package/dist/adapter/device-helpers/webgl-device-limits.js.map +1 -0
  22. package/dist/adapter/helpers/decode-webgl-types.js +1 -0
  23. package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
  24. package/dist/adapter/helpers/format-utils.d.ts.map +1 -0
  25. package/dist/{classic → adapter/helpers}/format-utils.js +7 -0
  26. package/dist/adapter/helpers/format-utils.js.map +1 -0
  27. package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
  28. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  29. package/dist/adapter/helpers/get-shader-layout.js +5 -4
  30. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  31. package/dist/adapter/helpers/parse-shader-compiler-log.js +1 -0
  32. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  33. package/dist/adapter/helpers/set-uniform.js +1 -0
  34. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  35. package/dist/adapter/helpers/typed-array-utils.d.ts.map +1 -0
  36. package/dist/{classic → adapter/helpers}/typed-array-utils.js +1 -0
  37. package/dist/adapter/helpers/typed-array-utils.js.map +1 -0
  38. package/dist/adapter/helpers/webgl-texture-utils.d.ts +100 -29
  39. package/dist/adapter/helpers/webgl-texture-utils.d.ts.map +1 -1
  40. package/dist/adapter/helpers/webgl-texture-utils.js +231 -240
  41. package/dist/adapter/helpers/webgl-texture-utils.js.map +1 -0
  42. package/dist/adapter/helpers/webgl-topology-utils.js +1 -0
  43. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
  44. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  45. package/dist/adapter/resources/webgl-buffer.js +4 -1
  46. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  47. package/dist/adapter/resources/webgl-command-buffer.d.ts +59 -2
  48. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  49. package/dist/adapter/resources/webgl-command-buffer.js +89 -32
  50. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  51. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  52. package/dist/adapter/resources/webgl-command-encoder.js +4 -0
  53. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  54. package/dist/adapter/resources/webgl-external-texture.js +15 -0
  55. package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
  56. package/dist/adapter/resources/webgl-framebuffer.d.ts +33 -35
  57. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  58. package/dist/adapter/resources/webgl-framebuffer.js +71 -76
  59. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  60. package/dist/adapter/resources/webgl-query-set.js +1 -0
  61. package/dist/adapter/resources/webgl-query-set.js.map +1 -0
  62. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  63. package/dist/adapter/resources/webgl-render-pass.js +49 -21
  64. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  65. package/dist/adapter/resources/webgl-render-pipeline.d.ts +3 -4
  66. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  67. package/dist/adapter/resources/webgl-render-pipeline.js +45 -23
  68. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  69. package/dist/adapter/resources/webgl-sampler.js +1 -0
  70. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  71. package/dist/adapter/resources/webgl-shader.d.ts +1 -0
  72. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  73. package/dist/adapter/resources/webgl-shader.js +13 -6
  74. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  75. package/dist/adapter/resources/webgl-texture-view.js +1 -0
  76. package/dist/adapter/resources/webgl-texture-view.js.map +1 -0
  77. package/dist/adapter/resources/webgl-texture.d.ts +33 -21
  78. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  79. package/dist/adapter/resources/webgl-texture.js +172 -242
  80. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  81. package/dist/adapter/resources/webgl-transform-feedback.js +1 -0
  82. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
  83. package/dist/adapter/resources/webgl-vertex-array.js +1 -0
  84. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
  85. package/dist/adapter/webgl-adapter.d.ts +21 -0
  86. package/dist/adapter/webgl-adapter.d.ts.map +1 -0
  87. package/dist/adapter/webgl-adapter.js +86 -0
  88. package/dist/adapter/webgl-adapter.js.map +1 -0
  89. package/dist/adapter/webgl-canvas-context.d.ts +4 -6
  90. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  91. package/dist/adapter/webgl-canvas-context.js +13 -17
  92. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  93. package/dist/adapter/webgl-device.d.ts +35 -46
  94. package/dist/adapter/webgl-device.d.ts.map +1 -1
  95. package/dist/adapter/webgl-device.js +100 -156
  96. package/dist/adapter/webgl-device.js.map +1 -0
  97. package/dist/context/debug/spector-types.d.ts +1108 -0
  98. package/dist/context/debug/spector-types.d.ts.map +1 -0
  99. package/dist/context/debug/spector-types.js +698 -0
  100. package/dist/context/debug/spector-types.js.map +1 -0
  101. package/dist/context/debug/spector.d.ts +12 -8
  102. package/dist/context/debug/spector.d.ts.map +1 -1
  103. package/dist/context/debug/spector.js +24 -17
  104. package/dist/context/debug/spector.js.map +1 -0
  105. package/dist/context/debug/webgl-developer-tools.d.ts +2 -3
  106. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  107. package/dist/context/debug/webgl-developer-tools.js +7 -19
  108. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  109. package/dist/context/helpers/create-browser-context.d.ts +6 -22
  110. package/dist/context/helpers/create-browser-context.d.ts.map +1 -1
  111. package/dist/context/helpers/create-browser-context.js +41 -32
  112. package/dist/context/helpers/create-browser-context.js.map +1 -0
  113. package/dist/context/helpers/webgl-context-data.js +1 -0
  114. package/dist/context/helpers/webgl-context-data.js.map +1 -0
  115. package/dist/context/helpers/webgl-extensions.js +1 -0
  116. package/dist/context/helpers/webgl-extensions.js.map +1 -0
  117. package/dist/context/parameters/unified-parameter-api.js +1 -0
  118. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  119. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  120. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  121. package/dist/context/parameters/webgl-parameter-tables.js +3 -2
  122. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  123. package/dist/context/polyfills/polyfill-webgl1-extensions.d.ts +9 -0
  124. package/dist/context/polyfills/polyfill-webgl1-extensions.d.ts.map +1 -0
  125. package/dist/context/polyfills/polyfill-webgl1-extensions.js +182 -0
  126. package/dist/context/polyfills/polyfill-webgl1-extensions.js.map +1 -0
  127. package/dist/context/state-tracker/deep-array-equal.js +1 -0
  128. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  129. package/dist/context/state-tracker/webgl-state-tracker.d.ts +43 -0
  130. package/dist/context/state-tracker/webgl-state-tracker.d.ts.map +1 -0
  131. package/dist/context/state-tracker/{track-context-state.js → webgl-state-tracker.js} +45 -74
  132. package/dist/context/state-tracker/webgl-state-tracker.js.map +1 -0
  133. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  134. package/dist/context/state-tracker/with-parameters.js +6 -4
  135. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  136. package/dist/deprecated/accessor.d.ts.map +1 -0
  137. package/dist/{classic → deprecated}/accessor.js +37 -1
  138. package/dist/deprecated/accessor.js.map +1 -0
  139. package/dist/dist.dev.js +2397 -2430
  140. package/dist/dist.min.js +2 -2
  141. package/dist/index.cjs +2273 -2298
  142. package/dist/index.cjs.map +4 -4
  143. package/dist/index.d.ts +5 -4
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +6 -6
  146. package/dist/index.js.map +1 -0
  147. package/dist/types.js +1 -0
  148. package/dist/types.js.map +1 -0
  149. package/dist/utils/fill-array.d.ts +4 -4
  150. package/dist/utils/fill-array.d.ts.map +1 -1
  151. package/dist/utils/fill-array.js +1 -0
  152. package/dist/utils/fill-array.js.map +1 -0
  153. package/dist/utils/load-script.js +1 -0
  154. package/dist/utils/load-script.js.map +1 -0
  155. package/dist/utils/split-uniforms-and-bindings.d.ts +1 -1
  156. package/dist/utils/split-uniforms-and-bindings.d.ts.map +1 -1
  157. package/dist/utils/split-uniforms-and-bindings.js +1 -0
  158. package/dist/utils/split-uniforms-and-bindings.js.map +1 -0
  159. package/dist/utils/uid.d.ts +7 -0
  160. package/dist/utils/uid.d.ts.map +1 -0
  161. package/dist/utils/uid.js +15 -0
  162. package/dist/utils/uid.js.map +1 -0
  163. package/package.json +5 -5
  164. package/src/adapter/converters/device-parameters.ts +21 -15
  165. package/src/adapter/converters/sampler-parameters.ts +6 -4
  166. package/src/adapter/converters/webgl-texture-table.ts +404 -0
  167. package/src/adapter/device-helpers/webgl-device-features.ts +5 -3
  168. package/src/{classic → adapter/helpers}/format-utils.ts +6 -0
  169. package/src/adapter/helpers/get-shader-layout.ts +7 -4
  170. package/src/adapter/helpers/webgl-texture-utils.ts +410 -64
  171. package/src/adapter/resources/webgl-buffer.ts +3 -1
  172. package/src/adapter/resources/webgl-command-buffer.ts +125 -41
  173. package/src/adapter/resources/webgl-command-encoder.ts +6 -0
  174. package/src/adapter/resources/webgl-external-texture.ts +14 -0
  175. package/src/adapter/resources/webgl-framebuffer.ts +80 -86
  176. package/src/adapter/resources/webgl-render-pass.ts +72 -45
  177. package/src/adapter/resources/webgl-render-pipeline.ts +58 -27
  178. package/src/adapter/resources/webgl-shader.ts +15 -7
  179. package/src/adapter/resources/webgl-texture.ts +202 -274
  180. package/src/adapter/webgl-adapter.ts +105 -0
  181. package/src/adapter/webgl-canvas-context.ts +16 -19
  182. package/src/adapter/webgl-device.ts +144 -210
  183. package/src/context/debug/spector-types.ts +1154 -0
  184. package/src/context/debug/spector.ts +38 -29
  185. package/src/context/debug/webgl-developer-tools.ts +8 -31
  186. package/src/context/helpers/create-browser-context.ts +53 -63
  187. package/src/context/parameters/webgl-parameter-tables.ts +2 -2
  188. package/src/context/polyfills/polyfill-webgl1-extensions.ts +202 -0
  189. package/src/context/state-tracker/{track-context-state.ts → webgl-state-tracker.ts} +55 -94
  190. package/src/context/state-tracker/with-parameters.ts +5 -4
  191. package/src/{classic → deprecated}/accessor.ts +44 -3
  192. package/src/index.ts +7 -12
  193. package/src/utils/fill-array.ts +4 -4
  194. package/src/utils/split-uniforms-and-bindings.ts +3 -3
  195. package/src/utils/uid.ts +16 -0
  196. package/dist/adapter/converters/texture-formats.d.ts +0 -83
  197. package/dist/adapter/converters/texture-formats.d.ts.map +0 -1
  198. package/dist/adapter/converters/texture-formats.js +0 -518
  199. package/dist/classic/accessor.d.ts.map +0 -1
  200. package/dist/classic/clear.d.ts +0 -22
  201. package/dist/classic/clear.d.ts.map +0 -1
  202. package/dist/classic/clear.js +0 -86
  203. package/dist/classic/copy-and-blit.d.ts +0 -63
  204. package/dist/classic/copy-and-blit.d.ts.map +0 -1
  205. package/dist/classic/copy-and-blit.js +0 -193
  206. package/dist/classic/format-utils.d.ts.map +0 -1
  207. package/dist/classic/typed-array-utils.d.ts.map +0 -1
  208. package/dist/context/state-tracker/track-context-state.d.ts +0 -22
  209. package/dist/context/state-tracker/track-context-state.d.ts.map +0 -1
  210. package/src/adapter/converters/texture-formats.ts +0 -665
  211. package/src/classic/clear.ts +0 -115
  212. package/src/classic/copy-and-blit.ts +0 -318
  213. /package/dist/{classic → adapter/helpers}/format-utils.d.ts +0 -0
  214. /package/dist/{classic → adapter/helpers}/typed-array-utils.d.ts +0 -0
  215. /package/dist/{classic → deprecated}/accessor.d.ts +0 -0
  216. /package/src/{classic → adapter/helpers}/typed-array-utils.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/webgl-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAM,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAO3C,qBAAa,YAAa,SAAQ,OAAO;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAW;;IAYxC,oCAAoC;IACpC,WAAW,IAAI,OAAO;IAItB,gGAAgG;IAChG,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIpC;;;;;OAKG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAejE,MAAM,CAAC,KAAK,GAAE,WAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;CAoC5D;AAWD,eAAO,MAAM,aAAa,cAAqB,CAAC"}
@@ -0,0 +1,86 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { Adapter, Device, log } from '@luma.gl/core';
5
+ import { WebGLDevice } from "./webgl-device.js";
6
+ import { enforceWebGL2 } from "../context/polyfills/polyfill-webgl1-extensions.js";
7
+ import { loadSpectorJS, DEFAULT_SPECTOR_PROPS } from "../context/debug/spector.js";
8
+ import { loadWebGLDeveloperTools } from "../context/debug/webgl-developer-tools.js";
9
+ const LOG_LEVEL = 1;
10
+ export class WebGLAdapter extends Adapter {
11
+ /** type of device's created by this adapter */
12
+ type = 'webgl';
13
+ constructor() {
14
+ super();
15
+ // Add spector default props to device default props, so that runtime settings are observed
16
+ Device.defaultProps = { ...Device.defaultProps, ...DEFAULT_SPECTOR_PROPS };
17
+ // @ts-ignore DEPRECATED For backwards compatibility luma.registerDevices
18
+ WebGLDevice.adapter = this;
19
+ }
20
+ /** Check if WebGL 2 is available */
21
+ isSupported() {
22
+ return typeof WebGL2RenderingContext !== 'undefined';
23
+ }
24
+ /** Force any created WebGL contexts to be WebGL2 contexts, polyfilled with WebGL1 extensions */
25
+ enforceWebGL2(enable) {
26
+ enforceWebGL2(enable);
27
+ }
28
+ /**
29
+ * Get a device instance from a GL context
30
+ * Creates and instruments the device if not already created
31
+ * @param gl
32
+ * @returns
33
+ */
34
+ async attach(gl) {
35
+ if (gl instanceof WebGLDevice) {
36
+ return gl;
37
+ }
38
+ // @ts-expect-error
39
+ if (gl?.device instanceof Device) {
40
+ // @ts-expect-error
41
+ return gl.device;
42
+ }
43
+ if (!isWebGL(gl)) {
44
+ throw new Error('Invalid WebGL2RenderingContext');
45
+ }
46
+ return new WebGLDevice({ _handle: gl });
47
+ }
48
+ async create(props = {}) {
49
+ log.groupCollapsed(LOG_LEVEL, 'WebGLDevice created')();
50
+ const promises = [];
51
+ // Load webgl and spector debug scripts from CDN if requested
52
+ if (props.debugWebGL || props.debug) {
53
+ promises.push(loadWebGLDeveloperTools());
54
+ }
55
+ if (props.debugSpectorJS) {
56
+ promises.push(loadSpectorJS(props));
57
+ }
58
+ // Wait for all the loads to settle before creating the context.
59
+ // The Device.create() functions are async, so in contrast to the constructor, we can `await` here.
60
+ const results = await Promise.allSettled(promises);
61
+ for (const result of results) {
62
+ if (result.status === 'rejected') {
63
+ log.error(`Failed to initialize debug libraries ${result.reason}`)();
64
+ }
65
+ }
66
+ const device = new WebGLDevice(props);
67
+ // Log some debug info about the newly created context
68
+ const message = `\
69
+ Created ${device.type}${device.debug ? ' debug' : ''} context: \
70
+ ${device.info.vendor}, ${device.info.renderer} for canvas: ${device.canvasContext.id}`;
71
+ log.probe(LOG_LEVEL, message)();
72
+ log.table(LOG_LEVEL, device.info)();
73
+ log.groupEnd(LOG_LEVEL)();
74
+ return device;
75
+ }
76
+ }
77
+ /** Check if supplied parameter is a WebGL2RenderingContext */
78
+ function isWebGL(gl) {
79
+ if (typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext) {
80
+ return true;
81
+ }
82
+ // Look for debug contexts, headless gl etc
83
+ return Boolean(gl && Number.isFinite(gl._version));
84
+ }
85
+ export const webgl2Adapter = new WebGLAdapter();
86
+ //# sourceMappingURL=webgl-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-adapter.js","sourceRoot":"","sources":["../../src/adapter/webgl-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CanvasContextProps, TextureFormat } from '@luma.gl/core';
1
+ import type { CanvasContextProps } from '@luma.gl/core';
2
2
  import { CanvasContext } from '@luma.gl/core';
3
3
  import { WebGLDevice } from "./webgl-device.js";
4
4
  import { WEBGLFramebuffer } from "./resources/webgl-framebuffer.js";
@@ -7,14 +7,12 @@ import { WEBGLFramebuffer } from "./resources/webgl-framebuffer.js";
7
7
  */
8
8
  export declare class WebGLCanvasContext extends CanvasContext {
9
9
  readonly device: WebGLDevice;
10
- readonly format: TextureFormat;
11
- readonly depthStencilFormat: TextureFormat;
12
- presentationSize: [number, number];
10
+ readonly handle: unknown;
13
11
  private _framebuffer;
12
+ get [Symbol.toStringTag](): string;
14
13
  constructor(device: WebGLDevice, props: CanvasContextProps);
15
14
  getCurrentFramebuffer(): WEBGLFramebuffer;
16
- /** Resizes and updates render targets if necessary */
17
- update(): void;
15
+ updateSize(size: [number, number]): void;
18
16
  /**
19
17
  * Resize the canvas' drawing buffer.
20
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/webgl-canvas-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,kBAAkB,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AACrE,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAC3C,OAAO,EAAC,gBAAgB,EAAC,yCAAsC;AAE/D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAgB;IAC9C,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAiB;IAE3D,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,YAAY,CAAiC;gBAEzC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB;IAS1D,qBAAqB,IAAI,gBAAgB;IAOzC,sDAAsD;IACtD,MAAM;IAUN;;;;;;;;;;;OAWG;IACH,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;IAW7F,MAAM;CAOP"}
1
+ {"version":3,"file":"webgl-canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/webgl-canvas-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAC3C,OAAO,EAAC,gBAAgB,EAAC,yCAAsC;AAE/D;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAQ;IAEhC,OAAO,CAAC,YAAY,CAAiC;IAErD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;gBAEW,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB;IAU1D,qBAAqB,IAAI,gBAAgB;IAMzC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAExC;;;;;;;;;;;OAWG;IACH,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;IAe7F,MAAM;CAOP"}
@@ -8,33 +8,25 @@ import { WEBGLFramebuffer } from "./resources/webgl-framebuffer.js";
8
8
  */
9
9
  export class WebGLCanvasContext extends CanvasContext {
10
10
  device;
11
- format = 'rgba8unorm';
12
- depthStencilFormat = 'depth24plus';
13
- presentationSize;
11
+ handle = null;
14
12
  _framebuffer = null;
13
+ get [Symbol.toStringTag]() {
14
+ return 'WebGLCanvasContext';
15
+ }
15
16
  constructor(device, props) {
16
17
  // Note: Base class creates / looks up the canvas (unless under Node.js)
17
18
  super(props);
18
19
  this.device = device;
19
- this.presentationSize = [-1, -1];
20
+ // Base class constructor cannot access derived methods/fields, so we need to call these functions in the subclass constructor
20
21
  this._setAutoCreatedCanvasId(`${this.device.id}-canvas`);
21
- this.update();
22
+ this.updateSize([this.drawingBufferWidth, this.drawingBufferHeight]);
22
23
  }
23
24
  getCurrentFramebuffer() {
24
- this.update();
25
25
  // Setting handle to null returns a reference to the default framebuffer
26
26
  this._framebuffer = this._framebuffer || new WEBGLFramebuffer(this.device, { handle: null });
27
27
  return this._framebuffer;
28
28
  }
29
- /** Resizes and updates render targets if necessary */
30
- update() {
31
- const size = this.getPixelSize();
32
- const sizeChanged = size[0] !== this.presentationSize[0] || size[1] !== this.presentationSize[1];
33
- if (sizeChanged) {
34
- this.presentationSize = size;
35
- this.resize();
36
- }
37
- }
29
+ updateSize(size) { }
38
30
  /**
39
31
  * Resize the canvas' drawing buffer.
40
32
  *
@@ -50,10 +42,13 @@ export class WebGLCanvasContext extends CanvasContext {
50
42
  resize(options) {
51
43
  if (!this.device.gl)
52
44
  return;
53
- // Resize browser context .
45
+ if (this.props.autoResize) {
46
+ return;
47
+ }
48
+ // Resize browser context. TODO - this likely needs to be rewritten
54
49
  if (this.canvas) {
55
50
  const devicePixelRatio = this.getDevicePixelRatio(options?.useDevicePixels);
56
- this.setDevicePixelRatio(devicePixelRatio, options);
51
+ this._setDevicePixelRatio(devicePixelRatio, options);
57
52
  return;
58
53
  }
59
54
  }
@@ -65,3 +60,4 @@ export class WebGLCanvasContext extends CanvasContext {
65
60
  // }
66
61
  }
67
62
  }
63
+ //# sourceMappingURL=webgl-canvas-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-canvas-context.js","sourceRoot":"","sources":["../../src/adapter/webgl-canvas-context.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAC,gBAAgB,EAAC,yCAAsC;AAE/D;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAC1C,MAAM,CAAc;IACpB,MAAM,GAAY,IAAI,CAAC;IAExB,YAAY,GAA4B,IAAI,CAAC;IAErD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,YAAY,MAAmB,EAAE,KAAyB;QACxD,wEAAwE;QACxE,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,8HAA8H;QAC9H,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,qBAAqB;QACnB,wEAAwE;QACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,IAAsB,IAAS,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,OAA+E;QACpF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO;QAE5B,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC5E,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM;QACJ,6DAA6D;QAC7D,0CAA0C;QAC1C,mFAAmF;QACnF,sBAAsB;QACtB,IAAI;IACN,CAAC;CACF"}
@@ -1,15 +1,15 @@
1
1
  import type { TypedArray } from '@math.gl/types';
2
- import type { DeviceProps, DeviceInfo, CanvasContextProps, TextureFormat } from '@luma.gl/core';
3
- import type { Buffer, Texture, Framebuffer, VertexArray, VertexArrayProps } from '@luma.gl/core';
2
+ import type { DeviceProps, DeviceInfo, DeviceTextureFormatCapabilities, CanvasContextProps, Buffer, Texture, Framebuffer, VertexArray, VertexArrayProps, BufferProps, ShaderProps, SamplerProps, TextureProps, ExternalTexture, ExternalTextureProps, FramebufferProps, RenderPipelineProps, ComputePipeline, ComputePipelineProps, RenderPassProps, ComputePass, ComputePassProps, CommandEncoderProps, TransformFeedbackProps, QuerySetProps, Resource } from '@luma.gl/core';
4
3
  import { Device, CanvasContext } from '@luma.gl/core';
5
4
  import type { GLExtensions } from '@luma.gl/constants';
6
5
  import { WebGLDeviceFeatures } from "./device-helpers/webgl-device-features.js";
7
6
  import { WebGLDeviceLimits } from "./device-helpers/webgl-device-limits.js";
8
7
  import { WebGLCanvasContext } from "./webgl-canvas-context.js";
9
- import type { BufferProps, ShaderProps, SamplerProps, TextureProps, ExternalTexture, ExternalTextureProps, FramebufferProps, RenderPipelineProps, ComputePipeline, ComputePipelineProps, RenderPassProps, ComputePass, ComputePassProps, CommandEncoderProps, TransformFeedbackProps, QuerySetProps } from '@luma.gl/core';
8
+ import type { Spector } from "../context/debug/spector-types.js";
10
9
  import { WEBGLBuffer } from "./resources/webgl-buffer.js";
11
10
  import { WEBGLShader } from "./resources/webgl-shader.js";
12
11
  import { WEBGLSampler } from "./resources/webgl-sampler.js";
12
+ import { WEBGLTexture } from "./resources/webgl-texture.js";
13
13
  import { WEBGLFramebuffer } from "./resources/webgl-framebuffer.js";
14
14
  import { WEBGLRenderPass } from "./resources/webgl-render-pass.js";
15
15
  import { WEBGLRenderPipeline } from "./resources/webgl-render-pipeline.js";
@@ -18,8 +18,6 @@ import { WEBGLTransformFeedback } from "./resources/webgl-transform-feedback.js"
18
18
  import { WEBGLQuerySet } from "./resources/webgl-query-set.js";
19
19
  /** WebGPU style Device API for a WebGL context */
20
20
  export declare class WebGLDevice extends Device {
21
- /** type of this device */
22
- static readonly type: string;
23
21
  /** type of this device */
24
22
  readonly type = "webgl";
25
23
  /** The underlying WebGL context */
@@ -28,21 +26,27 @@ export declare class WebGLDevice extends Device {
28
26
  limits: WebGLDeviceLimits;
29
27
  readonly info: DeviceInfo;
30
28
  readonly canvasContext: WebGLCanvasContext;
29
+ readonly preferredColorFormat = "rgba8unorm";
30
+ readonly preferredDepthFormat = "depth24plus";
31
31
  readonly lost: Promise<{
32
32
  reason: 'destroyed';
33
33
  message: string;
34
34
  }>;
35
35
  private _resolveContextLost?;
36
- /** Check if WebGL 2 is available */
37
- static isSupported(): boolean;
38
- /**
39
- * Get a device instance from a GL context
40
- * Creates and instruments the device if not already created
41
- * @param gl
42
- * @returns
43
- */
44
- static attach(gl: Device | WebGL2RenderingContext): WebGLDevice;
45
- static create(props?: DeviceProps): Promise<WebGLDevice>;
36
+ /** WebGL2 context. */
37
+ readonly gl: WebGL2RenderingContext;
38
+ readonly debug: boolean;
39
+ /** State used by luma.gl classes: TODO - move to canvasContext*/
40
+ readonly _canvasSizeInfo: {
41
+ clientWidth: number;
42
+ clientHeight: number;
43
+ devicePixelRatio: number;
44
+ };
45
+ /** State used by luma.gl classes - TODO - not used? */
46
+ readonly _extensions: GLExtensions;
47
+ _polyfilled: boolean;
48
+ /** Instance of Spector.js (if initialized) */
49
+ spectorJS: Spector;
46
50
  constructor(props: DeviceProps);
47
51
  /**
48
52
  * Destroys the context
@@ -50,13 +54,9 @@ export declare class WebGLDevice extends Device {
50
54
  */
51
55
  destroy(): void;
52
56
  get isLost(): boolean;
53
- getSize(): [number, number];
54
- isTextureFormatSupported(format: TextureFormat): boolean;
55
- isTextureFormatFilterable(format: TextureFormat): boolean;
56
- isTextureFormatRenderable(format: TextureFormat): boolean;
57
57
  createCanvasContext(props?: CanvasContextProps): CanvasContext;
58
58
  createBuffer(props: BufferProps | ArrayBuffer | ArrayBufferView): WEBGLBuffer;
59
- _createTexture(props: TextureProps): Texture;
59
+ createTexture(props: TextureProps): WEBGLTexture;
60
60
  createExternalTexture(props: ExternalTextureProps): ExternalTexture;
61
61
  createSampler(props: SamplerProps): WEBGLSampler;
62
62
  createShader(props: ShaderProps): WEBGLShader;
@@ -101,27 +101,8 @@ export declare class WebGLDevice extends Device {
101
101
  setParametersWebGL(parameters: any): void;
102
102
  getParametersWebGL(parameters: any): any;
103
103
  withParametersWebGL(parameters: any, func: any): any;
104
- clearWebGL(options?: {
105
- framebuffer?: Framebuffer;
106
- color?: any;
107
- depth?: any;
108
- stencil?: any;
109
- }): void;
110
104
  resetWebGL(): void;
111
- /** WebGL2 context. */
112
- readonly gl: WebGL2RenderingContext;
113
- readonly debug: boolean;
114
- /** State used by luma.gl classes: TODO - move to canvasContext*/
115
- readonly _canvasSizeInfo: {
116
- clientWidth: number;
117
- clientHeight: number;
118
- devicePixelRatio: number;
119
- };
120
- /** State used by luma.gl classes - TODO - not used? */
121
- readonly _extensions: GLExtensions;
122
- _polyfilled: boolean;
123
- /** Instance of Spector.js (if initialized) */
124
- spectorJS: unknown;
105
+ _getDeviceSpecificTextureFormatCapabilities(capabilities: DeviceTextureFormatCapabilities): DeviceTextureFormatCapabilities;
125
106
  /**
126
107
  * Triggers device (or WebGL context) loss.
127
108
  * @note primarily intended for testing how application reacts to device loss
@@ -131,17 +112,18 @@ export declare class WebGLDevice extends Device {
131
112
  pushState(): void;
132
113
  /** Restores previously saved context state */
133
114
  popState(): void;
134
- /**
135
- * Storing data on a special field on WebGLObjects makes that data visible in SPECTOR chrome debug extension
136
- * luma.gl ids and props can be inspected
137
- */
138
- setSpectorMetadata(handle: unknown, props: Record<string, unknown>): void;
139
115
  /**
140
116
  * Returns the GL.<KEY> constant that corresponds to a numeric value of a GL constant
141
117
  * Be aware that there are some duplicates especially for constants that are 0,
142
118
  * so this isn't guaranteed to return the right key in all cases.
143
119
  */
144
- getGLKey(value: unknown, gl?: WebGL2RenderingContext): string;
120
+ getGLKey(value: unknown, options?: {
121
+ emptyIfUnknown?: boolean;
122
+ }): string;
123
+ /**
124
+ * Returns a map with any GL.<KEY> constants mapped to strings, both for keys and values
125
+ */
126
+ getGLKeys(glParameters: Record<number, unknown>): Record<string, string>;
145
127
  /** Store constants */
146
128
  _constants: (TypedArray | null)[];
147
129
  /**
@@ -153,5 +135,12 @@ export declare class WebGLDevice extends Device {
153
135
  setConstantAttributeWebGL(location: number, constant: TypedArray): void;
154
136
  /** Ensure extensions are only requested once */
155
137
  getExtension(name: keyof GLExtensions): GLExtensions;
138
+ /**
139
+ * Storing data on a special field on WebGLObjects makes that data visible in SPECTOR chrome debug extension
140
+ * luma.gl ids and props can be inspected
141
+ */
142
+ _setWebGLDebugMetadata(handle: unknown, resource: Resource<any>, options: {
143
+ spector: Record<string, unknown>;
144
+ }): void;
156
145
  }
157
146
  //# sourceMappingURL=webgl-device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-device.d.ts","sourceRoot":"","sources":["../../src/adapter/webgl-device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-device.d.ts","sourceRoot":"","sources":["../../src/adapter/webgl-device.ts"],"names":[],"mappings":"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"}