@luma.gl/webgl 9.0.0-beta.5 → 9.0.0-beta.6

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 (181) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  2. package/dist/adapter/converters/device-parameters.js +71 -11
  3. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  4. package/dist/adapter/converters/sampler-parameters.js +3 -2
  5. package/dist/adapter/converters/shader-formats.d.ts.map +1 -1
  6. package/dist/adapter/converters/shader-formats.js +40 -20
  7. package/dist/adapter/converters/texture-formats.d.ts +10 -7
  8. package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
  9. package/dist/adapter/converters/texture-formats.js +76 -64
  10. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
  11. package/dist/adapter/converters/vertex-formats.js +2 -1
  12. package/dist/adapter/device-helpers/webgl-device-features.d.ts +18 -5
  13. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
  14. package/dist/adapter/device-helpers/webgl-device-features.js +77 -43
  15. package/dist/adapter/device-helpers/webgl-device-info.d.ts +2 -1
  16. package/dist/adapter/device-helpers/webgl-device-info.d.ts.map +1 -1
  17. package/dist/adapter/device-helpers/webgl-device-info.js +17 -14
  18. package/dist/adapter/device-helpers/webgl-device-limits.d.ts +33 -48
  19. package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -1
  20. package/dist/adapter/device-helpers/webgl-device-limits.js +42 -87
  21. package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -1
  22. package/dist/adapter/helpers/decode-webgl-types.js +2 -1
  23. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
  24. package/dist/adapter/helpers/get-shader-layout.js +6 -5
  25. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  26. package/dist/adapter/helpers/parse-shader-compiler-log.js +3 -2
  27. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  28. package/dist/adapter/helpers/set-uniform.js +2 -1
  29. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -1
  30. package/dist/adapter/helpers/webgl-topology-utils.js +2 -1
  31. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
  32. package/dist/adapter/objects/constants-to-keys.js +2 -1
  33. package/dist/adapter/objects/webgl-renderbuffer.d.ts +2 -2
  34. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
  35. package/dist/adapter/objects/webgl-renderbuffer.js +24 -11
  36. package/dist/adapter/objects/webgl-resource.d.ts +2 -24
  37. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
  38. package/dist/adapter/objects/webgl-resource.js +6 -100
  39. package/dist/adapter/resources/webgl-buffer.d.ts +1 -1
  40. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  41. package/dist/adapter/resources/webgl-buffer.js +2 -1
  42. package/dist/adapter/resources/webgl-command-buffer.d.ts +1 -1
  43. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  44. package/dist/adapter/resources/webgl-command-buffer.js +7 -6
  45. package/dist/adapter/resources/webgl-command-encoder.d.ts +8 -3
  46. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  47. package/dist/adapter/resources/webgl-command-encoder.js +4 -2
  48. package/dist/adapter/resources/webgl-external-texture.js +3 -2
  49. package/dist/adapter/resources/webgl-framebuffer.d.ts +6 -8
  50. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  51. package/dist/adapter/resources/webgl-framebuffer.js +25 -23
  52. package/dist/adapter/resources/webgl-query-set.d.ts +44 -0
  53. package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -0
  54. package/dist/adapter/resources/webgl-query-set.js +136 -0
  55. package/dist/adapter/resources/webgl-render-pass.d.ts +3 -1
  56. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  57. package/dist/adapter/resources/webgl-render-pass.js +15 -7
  58. package/dist/adapter/resources/webgl-render-pipeline.d.ts +4 -5
  59. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  60. package/dist/adapter/resources/webgl-render-pipeline.js +34 -49
  61. package/dist/adapter/resources/webgl-sampler.d.ts +1 -1
  62. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  63. package/dist/adapter/resources/webgl-sampler.js +3 -2
  64. package/dist/adapter/resources/webgl-shader.d.ts +3 -2
  65. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  66. package/dist/adapter/resources/webgl-shader.js +12 -6
  67. package/dist/adapter/resources/webgl-texture-view.d.ts +14 -0
  68. package/dist/adapter/resources/webgl-texture-view.d.ts.map +1 -0
  69. package/dist/adapter/resources/webgl-texture-view.js +18 -0
  70. package/dist/adapter/resources/webgl-texture.d.ts +4 -3
  71. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  72. package/dist/adapter/resources/webgl-texture.js +12 -7
  73. package/dist/adapter/resources/webgl-transform-feedback.d.ts +1 -1
  74. package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -1
  75. package/dist/adapter/resources/webgl-transform-feedback.js +2 -2
  76. package/dist/adapter/resources/webgl-vertex-array.d.ts +3 -3
  77. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -1
  78. package/dist/adapter/resources/webgl-vertex-array.js +5 -4
  79. package/dist/adapter/webgl-canvas-context.d.ts +2 -2
  80. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  81. package/dist/adapter/webgl-canvas-context.js +3 -2
  82. package/dist/adapter/webgl-device.d.ts +29 -27
  83. package/dist/adapter/webgl-device.d.ts.map +1 -1
  84. package/dist/adapter/webgl-device.js +90 -94
  85. package/dist/classic/accessor.d.ts.map +1 -1
  86. package/dist/classic/accessor.js +4 -3
  87. package/dist/classic/clear.d.ts.map +1 -1
  88. package/dist/classic/clear.js +3 -2
  89. package/dist/classic/copy-and-blit.d.ts +1 -1
  90. package/dist/classic/copy-and-blit.d.ts.map +1 -1
  91. package/dist/classic/copy-and-blit.js +5 -4
  92. package/dist/classic/format-utils.d.ts +2 -2
  93. package/dist/classic/format-utils.d.ts.map +1 -1
  94. package/dist/classic/format-utils.js +2 -1
  95. package/dist/classic/typed-array-utils.d.ts.map +1 -1
  96. package/dist/classic/typed-array-utils.js +2 -1
  97. package/dist/context/debug/spector.d.ts.map +1 -1
  98. package/dist/context/debug/spector.js +2 -1
  99. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
  100. package/dist/context/debug/webgl-developer-tools.js +7 -6
  101. package/dist/context/helpers/create-browser-context.d.ts +35 -0
  102. package/dist/context/helpers/create-browser-context.d.ts.map +1 -0
  103. package/dist/context/helpers/create-browser-context.js +67 -0
  104. package/dist/context/helpers/webgl-context-data.d.ts +13 -0
  105. package/dist/context/helpers/webgl-context-data.d.ts.map +1 -0
  106. package/dist/context/helpers/webgl-context-data.js +21 -0
  107. package/dist/context/helpers/webgl-extensions.d.ts +4 -0
  108. package/dist/context/helpers/webgl-extensions.d.ts.map +1 -0
  109. package/dist/context/helpers/webgl-extensions.js +10 -0
  110. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  111. package/dist/context/parameters/unified-parameter-api.js +4 -3
  112. package/dist/context/parameters/webgl-parameter-tables.d.ts +10 -0
  113. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  114. package/dist/context/parameters/webgl-parameter-tables.js +29 -16
  115. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  116. package/dist/context/state-tracker/deep-array-equal.js +2 -1
  117. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  118. package/dist/context/state-tracker/track-context-state.js +5 -4
  119. package/dist/context/state-tracker/with-parameters.d.ts +1 -1
  120. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  121. package/dist/context/state-tracker/with-parameters.js +5 -4
  122. package/dist/dist.dev.js +941 -730
  123. package/dist/index.cjs +732 -565
  124. package/dist/index.cjs.map +4 -4
  125. package/dist/index.d.ts +25 -25
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +24 -23
  128. package/dist/types.d.ts.map +1 -1
  129. package/dist/types.js +2 -1
  130. package/dist.min.js +5 -5
  131. package/package.json +4 -4
  132. package/src/adapter/converters/device-parameters.ts +105 -16
  133. package/src/adapter/converters/sampler-parameters.ts +12 -3
  134. package/src/adapter/converters/shader-formats.ts +47 -22
  135. package/src/adapter/converters/texture-formats.ts +87 -66
  136. package/src/adapter/converters/vertex-formats.ts +3 -3
  137. package/src/adapter/device-helpers/webgl-device-features.ts +83 -51
  138. package/src/adapter/device-helpers/webgl-device-info.ts +28 -19
  139. package/src/adapter/device-helpers/webgl-device-limits.ts +46 -150
  140. package/src/adapter/helpers/decode-webgl-types.ts +13 -7
  141. package/src/adapter/helpers/get-shader-layout.ts +4 -3
  142. package/src/adapter/helpers/parse-shader-compiler-log.ts +10 -6
  143. package/src/adapter/helpers/set-uniform.ts +2 -1
  144. package/src/adapter/helpers/webgl-topology-utils.ts +10 -3
  145. package/src/adapter/objects/constants-to-keys.ts +2 -1
  146. package/src/adapter/objects/webgl-renderbuffer.ts +35 -13
  147. package/src/adapter/objects/webgl-resource.ts +6 -124
  148. package/src/adapter/resources/webgl-buffer.ts +4 -3
  149. package/src/adapter/resources/webgl-command-buffer.ts +5 -5
  150. package/src/adapter/resources/webgl-command-encoder.ts +14 -11
  151. package/src/adapter/resources/webgl-external-texture.ts +3 -2
  152. package/src/adapter/resources/webgl-framebuffer.ts +34 -29
  153. package/src/adapter/resources/webgl-query-set.ts +171 -0
  154. package/src/adapter/resources/webgl-render-pass.ts +17 -8
  155. package/src/adapter/resources/webgl-render-pipeline.ts +41 -48
  156. package/src/adapter/resources/webgl-sampler.ts +2 -1
  157. package/src/adapter/resources/webgl-shader.ts +12 -5
  158. package/src/adapter/resources/webgl-texture-view.ts +28 -0
  159. package/src/adapter/resources/webgl-texture.ts +9 -2
  160. package/src/adapter/resources/webgl-transform-feedback.ts +2 -7
  161. package/src/adapter/resources/webgl-vertex-array.ts +4 -3
  162. package/src/adapter/webgl-canvas-context.ts +6 -4
  163. package/src/adapter/webgl-device.ts +94 -90
  164. package/src/classic/accessor.ts +5 -4
  165. package/src/classic/clear.ts +12 -6
  166. package/src/classic/copy-and-blit.ts +11 -4
  167. package/src/classic/format-utils.ts +2 -1
  168. package/src/classic/typed-array-utils.ts +3 -7
  169. package/src/context/debug/spector.ts +9 -6
  170. package/src/context/debug/webgl-developer-tools.ts +27 -14
  171. package/src/context/{context → helpers}/create-browser-context.ts +3 -2
  172. package/src/context/helpers/webgl-context-data.ts +31 -0
  173. package/src/context/helpers/webgl-extensions.ts +17 -0
  174. package/src/context/parameters/unified-parameter-api.ts +2 -1
  175. package/src/context/parameters/webgl-parameter-tables.ts +69 -32
  176. package/src/context/state-tracker/deep-array-equal.ts +2 -1
  177. package/src/context/state-tracker/track-context-state.ts +11 -6
  178. package/src/context/state-tracker/with-parameters.ts +7 -2
  179. package/src/index.ts +3 -2
  180. package/src/types.ts +2 -1
  181. package/src/context/context/context-data.ts +0 -44
@@ -1,8 +1,9 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  import { assert, checkProps } from '@luma.gl/core';
4
5
  import { GL } from '@luma.gl/constants';
5
- import { getTypedArrayFromGLType } from './typed-array-utils';
6
+ import { getTypedArrayFromGLType } from "./typed-array-utils.js";
6
7
  const DEFAULT_ACCESSOR_VALUES = {
7
8
  offset: 0,
8
9
  stride: 0,
@@ -49,7 +50,7 @@ export class Accessor {
49
50
  return new Accessor(...[DEFAULT_ACCESSOR_VALUES, ...accessors]); // Default values
50
51
  }
51
52
  constructor(...accessors) {
52
- accessors.forEach((accessor) => this._assign(accessor)); // Merge in sequence
53
+ accessors.forEach(accessor => this._assign(accessor)); // Merge in sequence
53
54
  Object.freeze(this);
54
55
  }
55
56
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../src/classic/clear.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAS,MAAM,eAAe,CAAC;AAiB1D;;;GAGG;AACH,wBAAgB,KAAK,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,GAAG,CAAA;CAAC,GAC7E,IAAI,CAsCN;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAC,QAsCnF"}
1
+ {"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../src/classic/clear.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAS,MAAM,eAAe,CAAC;AAiB1D;;;GAGG;AACH,wBAAgB,KAAK,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,GAAG,CAAA;CAAC,GAC7E,IAAI,CAsCN;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAAC,QA2CnF"}
@@ -1,7 +1,8 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  import { assert } from '@luma.gl/core';
4
- import { withGLParameters } from '../context/state-tracker/with-parameters';
5
+ import { withGLParameters } from "../context/state-tracker/with-parameters.js";
5
6
  // Should collapse during minification
6
7
  const GL_DEPTH_BUFFER_BIT = 0x00000100;
7
8
  const GL_STENCIL_BUFFER_BIT = 0x00000400;
@@ -1,6 +1,6 @@
1
1
  import { Buffer, Texture, Framebuffer, FramebufferProps } from '@luma.gl/core';
2
2
  import { GL } from '@luma.gl/constants';
3
- import { WEBGLBuffer } from '../adapter/resources/webgl-buffer';
3
+ import { WEBGLBuffer } from "../adapter/resources/webgl-buffer.js";
4
4
  /**
5
5
  * Copies data from a type or a Texture object into ArrayBuffer object.
6
6
  * App can provide targetPixelArray or have it auto allocated by this method
@@ -1 +1 @@
1
- {"version":3,"file":"copy-and-blit.d.ts","sourceRoot":"","sources":["../../src/classic/copy-and-blit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AACrF,OAAO,EAAC,EAAE,EAAC,MAAM,oBAAoB,CAAC;AAMtC,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,GAAG,OAAO,EAC7B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;IAEjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,UAAU,GAAG,WAAW,GAAG,YAAY,CAiDzC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,GAAG,OAAO,EAC7B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,WAAW,CAyCb;AAED;;;GAGG;AAEH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,GAAG,OAAO,EAC7B,MAAM,EAAE,OAAO,GAAG,EAAE,EACpB,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CA+FT;AAYD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAUrF"}
1
+ {"version":3,"file":"copy-and-blit.d.ts","sourceRoot":"","sources":["../../src/classic/copy-and-blit.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AACrF,OAAO,EAAC,EAAE,EAAC,MAAM,oBAAoB,CAAC;AAMtC,OAAO,EAAC,WAAW,EAAC,6CAA0C;AAE9D;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,GAAG,OAAO,EAC7B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;IAEjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,UAAU,GAAG,WAAW,GAAG,YAAY,CAiDzC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,GAAG,OAAO,EAC7B,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,WAAW,CA+Cb;AAED;;;GAGG;AAEH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,WAAW,GAAG,OAAO,EAC7B,MAAM,EAAE,OAAO,GAAG,EAAE,EACpB,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CA+FT;AAYD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAUrF"}
@@ -1,9 +1,10 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  import { assert, Texture, Framebuffer } from '@luma.gl/core';
4
5
  import { GL } from '@luma.gl/constants';
5
- import { getGLTypeFromTypedArray, getTypedArrayFromGLType } from './typed-array-utils';
6
- import { glFormatToComponents, glTypeToBytes } from './format-utils';
6
+ import { getGLTypeFromTypedArray, getTypedArrayFromGLType } from "./typed-array-utils.js";
7
+ import { glFormatToComponents, glTypeToBytes } from "./format-utils.js";
7
8
  /**
8
9
  * Copies data from a type or a Texture object into ArrayBuffer object.
9
10
  * App can provide targetPixelArray or have it auto allocated by this method
@@ -35,7 +36,7 @@ export function readPixelsToArray(source, options) {
35
36
  // Deduce the type from color attachment if not provided.
36
37
  sourceType =
37
38
  sourceType ||
38
- framebuffer.colorAttachments[attachment]?.type ||
39
+ framebuffer.colorAttachments[attachment]?.texture?.type ||
39
40
  GL.UNSIGNED_BYTE;
40
41
  // Deduce type and allocated pixelArray if needed
41
42
  target = getPixelArray(target, sourceType, sourceFormat, sourceWidth, sourceHeight);
@@ -1,3 +1,3 @@
1
- export declare function glFormatToComponents(format: any): 0 | 1 | 4 | 2 | 3;
2
- export declare function glTypeToBytes(type: any): 0 | 1 | 4 | 2;
1
+ export declare function glFormatToComponents(format: any): 1 | 2 | 3 | 4 | 0;
2
+ export declare function glTypeToBytes(type: any): 1 | 2 | 4 | 0;
3
3
  //# sourceMappingURL=format-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../src/classic/format-utils.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB,CAAC,MAAM,KAAA,qBAoB1C;AAGD,wBAAgB,aAAa,CAAC,IAAI,KAAA,iBAejC"}
1
+ {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../src/classic/format-utils.ts"],"names":[],"mappings":"AAQA,wBAAgB,oBAAoB,CAAC,MAAM,KAAA,qBAoB1C;AAGD,wBAAgB,aAAa,CAAC,IAAI,KAAA,iBAejC"}
@@ -1,4 +1,5 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  import { assert } from '@luma.gl/core';
4
5
  import { GL } from '@luma.gl/constants';
@@ -1 +1 @@
1
- {"version":3,"file":"typed-array-utils.d.ts","sourceRoot":"","sources":["../../src/classic/typed-array-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAE,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAK,UAAU,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAI/D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAuB3E;AAED;;;;;;;GAOG;AAEH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,GAAG,WAAW,EAChC,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,qBAAqB,CAwBvB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,GAAG,IAAI,CAgBP;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG;IACF,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAaA"}
1
+ {"version":3,"file":"typed-array-utils.d.ts","sourceRoot":"","sources":["../../src/classic/typed-array-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAE,qBAAqB,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAK,UAAU,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAI/D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAuB3E;AAED;;;;;;;GAOG;AAEH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,GAAG,WAAW,EAChC,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,qBAAqB,CAwBvB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,GAAG,IAAI,CAgBP;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,GAAG;IACvF,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAaA"}
@@ -1,4 +1,5 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  import { GL } from '@luma.gl/constants';
4
5
  const ERR_TYPE_DEDUCTION = 'Failed to deduce GL constant from typed array';
@@ -1 +1 @@
1
- {"version":3,"file":"spector.d.ts","sourceRoot":"","sources":["../../../src/context/debug/spector.ts"],"names":[],"mappings":"AAKA,2CAA2C;AAC3C,KAAK,YAAY,GAAG;IAClB,wBAAwB;IACxB,MAAM,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC7C,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACrC,CAAC;AAaF,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,OAAO,EAAE,GAAG,CAAC;CAClB;AAED,sDAAsD;AACtD,wBAAsB,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,iBAQvD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,YAAY,OAoDvD"}
1
+ {"version":3,"file":"spector.d.ts","sourceRoot":"","sources":["../../../src/context/debug/spector.ts"],"names":[],"mappings":"AAMA,2CAA2C;AAC3C,KAAK,YAAY,GAAG;IAClB,wBAAwB;IACxB,MAAM,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC7C,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACrC,CAAC;AAaF,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,OAAO,EAAE,GAAG,CAAC;CAClB;AAED,sDAAsD;AACtD,wBAAsB,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,iBAQvD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,YAAY,OAsDvD"}
@@ -1,4 +1,5 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  import { log, loadScript } from '@luma.gl/core';
4
5
  const DEFAULT_SPECTOR_PROPS = {
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-developer-tools.d.ts","sourceRoot":"","sources":["../../../src/context/debug/webgl-developer-tools.ts"],"names":[],"mappings":"AAUA,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAoBF,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,eAAe,EAAE,GAAG,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO7D;AAID,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,sBAAsB,EAAE,KAAK,GAAE,iBAAsB,GAAG,sBAAsB,GAAG,IAAI,CAOzH"}
1
+ {"version":3,"file":"webgl-developer-tools.d.ts","sourceRoot":"","sources":["../../../src/context/debug/webgl-developer-tools.ts"],"names":[],"mappings":"AAWA,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAoBF,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,eAAe,EAAE,GAAG,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO7D;AAID,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,sBAAsB,EAC1B,KAAK,GAAE,iBAAsB,GAC5B,sBAAsB,GAAG,IAAI,CAO/B"}
@@ -1,4 +1,5 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  import { log, loadScript } from '@luma.gl/core';
4
5
  // Rename constant to prevent inlining. We need the full set of constants for generating debug strings.
@@ -6,7 +7,7 @@ import { GL as GLEnum } from '@luma.gl/constants';
6
7
  import { isBrowser } from '@probe.gl/env';
7
8
  const WEBGL_DEBUG_CDN_URL = 'https://unpkg.com/webgl-debug@2.0.1/index.js';
8
9
  // Helper to get shared context data
9
- function getContextData(gl) {
10
+ function getWebGLContextData(gl) {
10
11
  gl.luma = gl.luma || {};
11
12
  return gl.luma;
12
13
  }
@@ -35,7 +36,7 @@ export function makeDebugContext(gl, props = {}) {
35
36
  }
36
37
  // Returns the real context from either of the real/debug contexts
37
38
  function getRealContext(gl) {
38
- const data = getContextData(gl);
39
+ const data = getWebGLContextData(gl);
39
40
  // If the context has a realContext member, it is a debug context so return the realContext
40
41
  return data.realContext ? data.realContext : gl;
41
42
  }
@@ -45,7 +46,7 @@ function getDebugContext(gl, props) {
45
46
  log.warn('webgl-debug not loaded')();
46
47
  return gl;
47
48
  }
48
- const data = getContextData(gl);
49
+ const data = getWebGLContextData(gl);
49
50
  // If this already has a debug context, return it.
50
51
  if (data.debugContext) {
51
52
  return data.debugContext;
@@ -77,14 +78,14 @@ function getDebugContext(gl, props) {
77
78
  // DEBUG TRACING
78
79
  function getFunctionString(functionName, functionArgs) {
79
80
  // Cover bug in webgl-debug-tools
80
- functionArgs = Array.from(functionArgs).map(arg => arg === undefined ? 'undefined' : arg);
81
+ functionArgs = Array.from(functionArgs).map(arg => (arg === undefined ? 'undefined' : arg));
81
82
  let args = globalThis.WebGLDebugUtils.glFunctionArgsToString(functionName, functionArgs);
82
83
  args = `${args.slice(0, 100)}${args.length > 100 ? '...' : ''}`;
83
84
  return `gl.${functionName}(${args})`;
84
85
  }
85
86
  function onGLError(props, err, functionName, args) {
86
87
  // Cover bug in webgl-debug-tools
87
- args = Array.from(args).map(arg => arg === undefined ? 'undefined' : arg);
88
+ args = Array.from(args).map(arg => (arg === undefined ? 'undefined' : arg));
88
89
  const errorMessage = globalThis.WebGLDebugUtils.glEnumToString(err);
89
90
  const functionArgs = globalThis.WebGLDebugUtils.glFunctionArgsToString(functionName, args);
90
91
  const message = `${errorMessage} in gl.${functionName}(${functionArgs})`;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * ContextProps
3
+ * @param onContextLost
4
+ * @param onContextRestored
5
+ *
6
+ * BROWSER CONTEXT PARAMETERS
7
+ * @param debug Instrument context (at the expense of performance).
8
+ * @param alpha Default render target has an alpha buffer.
9
+ * @param depth Default render target has a depth buffer of at least 16 bits.
10
+ * @param stencil Default render target has a stencil buffer of at least 8 bits.
11
+ * @param antialias Boolean that indicates whether or not to perform anti-aliasing.
12
+ * @param premultipliedAlpha Boolean that indicates that the page compositor will assume the drawing buffer contains colors with pre-multiplied alpha.
13
+ * @param preserveDrawingBuffer Default render target buffers will not be automatically cleared and will preserve their values until cleared or overwritten
14
+ * @param failIfMajorPerformanceCaveat Do not create if the system performance is low.
15
+ */
16
+ type ContextProps = {
17
+ onContextLost?: (event: Event) => void;
18
+ onContextRestored?: (event: Event) => void;
19
+ alpha?: boolean;
20
+ desynchronized?: boolean;
21
+ antialias?: boolean;
22
+ depth?: boolean;
23
+ failIfMajorPerformanceCaveat?: boolean;
24
+ powerPreference?: 'default' | 'high-performance' | 'low-power';
25
+ premultipliedAlpha?: boolean;
26
+ preserveDrawingBuffer?: boolean;
27
+ };
28
+ /**
29
+ * Create a WebGL context for a canvas
30
+ * Note calling this multiple time on the same canvas does return the same context
31
+ * @param canvas A canvas element or offscreen canvas
32
+ */
33
+ export declare function createBrowserContext(canvas: HTMLCanvasElement | OffscreenCanvas, props: ContextProps): WebGL2RenderingContext;
34
+ export {};
35
+ //# sourceMappingURL=create-browser-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-browser-context.d.ts","sourceRoot":"","sources":["../../../src/context/helpers/create-browser-context.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,KAAK,YAAY,GAAG;IAClB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,eAAe,CAAC,EAAE,SAAS,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAUF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,GAAG,eAAe,EAC3C,KAAK,EAAE,YAAY,GAClB,sBAAsB,CA+CxB"}
@@ -0,0 +1,67 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ const DEFAULT_CONTEXT_PROPS = {
5
+ powerPreference: 'high-performance', // After all, most apps are using WebGL for performance reasons
6
+ // eslint-disable-next-line no-console
7
+ onContextLost: () => console.error('WebGL context lost'),
8
+ // eslint-disable-next-line no-console
9
+ onContextRestored: () => console.info('WebGL context restored')
10
+ };
11
+ /**
12
+ * Create a WebGL context for a canvas
13
+ * Note calling this multiple time on the same canvas does return the same context
14
+ * @param canvas A canvas element or offscreen canvas
15
+ */
16
+ export function createBrowserContext(canvas, props) {
17
+ props = { ...DEFAULT_CONTEXT_PROPS, ...props };
18
+ // Try to extract any extra information about why context creation failed
19
+ let errorMessage = null;
20
+ const onCreateError = error => (errorMessage = error.statusMessage || errorMessage);
21
+ canvas.addEventListener('webglcontextcreationerror', onCreateError, false);
22
+ // Create the desired context
23
+ let gl = null;
24
+ // props.failIfMajorPerformanceCaveat = true;
25
+ // We require webgl2 context
26
+ gl ||= canvas.getContext('webgl2', props);
27
+ // Software GPU
28
+ // props.failIfMajorPerformanceCaveat = false;
29
+ // if (!gl && props.webgl1) {
30
+ // gl = canvas.getContext('webgl', props);
31
+ // }
32
+ // TODO are we removing this listener before giving it a chance to fire?
33
+ canvas.removeEventListener('webglcontextcreationerror', onCreateError, false);
34
+ if (!gl) {
35
+ throw new Error(`Failed to create WebGL context: ${errorMessage || 'Unknown error'}`);
36
+ }
37
+ if (props.onContextLost) {
38
+ // Carefully extract and wrap callbacks to prevent addEventListener from rebinding them.
39
+ const { onContextLost } = props;
40
+ canvas.addEventListener('webglcontextlost', (event) => onContextLost(event), false);
41
+ }
42
+ if (props.onContextRestored) {
43
+ // Carefully extract and wrap callbacks to prevent addEventListener from rebinding them.
44
+ const { onContextRestored } = props;
45
+ canvas.addEventListener('webglcontextrestored', (event) => onContextRestored(event), false);
46
+ }
47
+ return gl;
48
+ }
49
+ /* TODO - can we call this asynchronously to catch the error events?
50
+ export async function createBrowserContextAsync(canvas: HTMLCanvasElement | OffscreenCanvas, props: ContextProps): Promise<WebGL2RenderingContext> {
51
+ props = {...DEFAULT_CONTEXT_PROPS, ...props};
52
+
53
+ // Try to extract any extra information about why context creation failed
54
+ let errorMessage = null;
55
+ const onCreateError = (error) => (errorMessage = error.statusMessage || errorMessage);
56
+ canvas.addEventListener('webglcontextcreationerror', onCreateError, false);
57
+
58
+ const gl = createBrowserContext(canvas, props);
59
+
60
+ // Give the listener a chance to fire
61
+ await new Promise(resolve => setTimeout(resolve, 0));
62
+
63
+ canvas.removeEventListener('webglcontextcreationerror', onCreateError, false);
64
+
65
+ return gl;
66
+ }
67
+ */
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Stores luma.gl specific state associated with a context
3
+ */
4
+ export interface WebGLContextData {
5
+ _polyfilled: boolean;
6
+ _extensions: Record<string, any>;
7
+ }
8
+ /**
9
+ * Gets luma.gl specific state from a context
10
+ * @returns context state
11
+ */
12
+ export declare function getWebGLContextData(gl: WebGL2RenderingContext): WebGLContextData;
13
+ //# sourceMappingURL=webgl-context-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-context-data.d.ts","sourceRoot":"","sources":["../../../src/context/helpers/webgl-context-data.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,sBAAsB,GAAG,gBAAgB,CAchF"}
@@ -0,0 +1,21 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ /**
5
+ * Gets luma.gl specific state from a context
6
+ * @returns context state
7
+ */
8
+ export function getWebGLContextData(gl) {
9
+ // @ts-expect-error
10
+ const luma = gl.luma;
11
+ if (!luma) {
12
+ const contextState = {
13
+ _polyfilled: false,
14
+ _extensions: {}
15
+ };
16
+ // @ts-expect-error
17
+ gl.luma = contextState;
18
+ }
19
+ // @ts-expect-error
20
+ return gl.luma;
21
+ }
@@ -0,0 +1,4 @@
1
+ import { GLExtensions } from '@luma.gl/constants';
2
+ /** Ensure extensions are only requested once */
3
+ export declare function getWebGLExtension(gl: WebGL2RenderingContext, name: string, extensions: GLExtensions): unknown;
4
+ //# sourceMappingURL=webgl-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-extensions.d.ts","sourceRoot":"","sources":["../../../src/context/helpers/webgl-extensions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,gDAAgD;AAChD,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,sBAAsB,EAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,YAAY,GACvB,OAAO,CAKT"}
@@ -0,0 +1,10 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ /** Ensure extensions are only requested once */
5
+ export function getWebGLExtension(gl, name, extensions) {
6
+ if (extensions[name] === undefined) {
7
+ extensions[name] = gl.getExtension(name) || null;
8
+ }
9
+ return extensions[name];
10
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"unified-parameter-api.d.ts","sourceRoot":"","sources":["../../../src/context/parameters/unified-parameter-api.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAUrD,YAAY,EAAC,YAAY,EAAC,CAAC;AAE3B;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,sBAAsB,EACvC,UAAU,EAAE,YAAY,GACvB,IAAI,CAiDN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,sBAAsB,EACvC,UAAU,GAAE,MAAM,YAAY,GAAG,CAAC,MAAM,YAAY,CAAC,EAAE,GAAG,YAAoC,GAC7F,YAAY,CAqBd;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAE/E"}
1
+ {"version":3,"file":"unified-parameter-api.d.ts","sourceRoot":"","sources":["../../../src/context/parameters/unified-parameter-api.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAUrD,YAAY,EAAC,YAAY,EAAC,CAAC;AAE3B;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,sBAAsB,EACvC,UAAU,EAAE,YAAY,GACvB,IAAI,CAiDN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,sBAAsB,EACvC,UAAU,GAAE,MAAM,YAAY,GAAG,CAAC,MAAM,YAAY,CAAC,EAAE,GAAG,YAAoC,GAC7F,YAAY,CAqBd;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAE/E"}
@@ -1,7 +1,8 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
- import { GL_PARAMETER_DEFAULTS, GL_PARAMETER_SETTERS, GL_COMPOSITE_PARAMETER_SETTERS, GL_PARAMETER_GETTERS } from './webgl-parameter-tables';
4
- import { WebGLDevice } from '../../adapter/webgl-device';
4
+ import { GL_PARAMETER_DEFAULTS, GL_PARAMETER_SETTERS, GL_COMPOSITE_PARAMETER_SETTERS, GL_PARAMETER_GETTERS } from "./webgl-parameter-tables.js";
5
+ import { WebGLDevice } from "../../adapter/webgl-device.js";
5
6
  /**
6
7
  * Sets any GL parameter regardless of function (gl.blendMode, ...)
7
8
  *
@@ -61,6 +61,16 @@ export declare const GL_PARAMETER_SETTERS: {
61
61
  34818: string;
62
62
  34819: string;
63
63
  2978: (gl: WebGL2RenderingContext, value: [number, number, number, number]) => void;
64
+ 34383: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
65
+ 10754: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
66
+ 12288: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
67
+ 12289: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
68
+ 12290: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
69
+ 12291: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
70
+ 12292: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
71
+ 12293: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
72
+ 12294: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
73
+ 12295: (gl: WebGL2RenderingContext, value: unknown, key: GL) => void;
64
74
  3333: (gl: WebGL2RenderingContext, value: number | boolean, key: GL) => void;
65
75
  3317: (gl: WebGL2RenderingContext, value: number | boolean, key: GL) => void;
66
76
  37440: (gl: WebGL2RenderingContext, value: number | boolean, key: GL) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-parameter-tables.d.ts","sourceRoot":"","sources":["../../../src/context/parameters/webgl-parameter-tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-parameter-tables.d.ts","sourceRoot":"","sources":["../../../src/context/parameters/webgl-parameter-tables.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  // Tables describing WebGL parameters
4
5
  import { GL } from '@luma.gl/constants';
@@ -60,14 +61,6 @@ export const GL_PARAMETER_DEFAULTS = {
60
61
  [GL.STENCIL_BACK_PASS_DEPTH_PASS]: GL.KEEP,
61
62
  // Dynamic value: We use [0, 0, 1024, 1024] as default, but usually this is updated in each frame.
62
63
  [GL.VIEWPORT]: [0, 0, 1024, 1024],
63
- // WEBGL1 PIXEL PACK/UNPACK MODES
64
- [GL.PACK_ALIGNMENT]: 4,
65
- [GL.UNPACK_ALIGNMENT]: 4,
66
- [GL.UNPACK_FLIP_Y_WEBGL]: false,
67
- [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]: false,
68
- [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]: GL.BROWSER_DEFAULT_WEBGL,
69
- // WEBGL2 / EXTENSIONS
70
- // gl1: 'OES_standard_derivatives'
71
64
  [GL.TRANSFORM_FEEDBACK_BINDING]: null,
72
65
  [GL.COPY_READ_BUFFER_BINDING]: null,
73
66
  [GL.COPY_WRITE_BUFFER_BINDING]: null,
@@ -76,6 +69,11 @@ export const GL_PARAMETER_DEFAULTS = {
76
69
  [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]: GL.DONT_CARE,
77
70
  [GL.READ_FRAMEBUFFER_BINDING]: null,
78
71
  [GL.RASTERIZER_DISCARD]: false,
72
+ [GL.PACK_ALIGNMENT]: 4,
73
+ [GL.UNPACK_ALIGNMENT]: 4,
74
+ [GL.UNPACK_FLIP_Y_WEBGL]: false,
75
+ [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]: false,
76
+ [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]: GL.BROWSER_DEFAULT_WEBGL,
79
77
  [GL.PACK_ROW_LENGTH]: 0,
80
78
  [GL.PACK_SKIP_PIXELS]: 0,
81
79
  [GL.PACK_SKIP_ROWS]: 0,
@@ -90,7 +88,7 @@ const enable = (gl, value, key) => value ? gl.enable(key) : gl.disable(key);
90
88
  const hint = (gl, value, key) => gl.hint(key, value);
91
89
  const pixelStorei = (gl, value, key) => gl.pixelStorei(key, value);
92
90
  const bindFramebuffer = (gl, value, key) => {
93
- const target = (key === GL.FRAMEBUFFER_BINDING) ? GL.DRAW_FRAMEBUFFER : GL.READ_FRAMEBUFFER;
91
+ const target = key === GL.FRAMEBUFFER_BINDING ? GL.DRAW_FRAMEBUFFER : GL.READ_FRAMEBUFFER;
94
92
  return gl.bindFramebuffer(target, value);
95
93
  };
96
94
  const bindBuffer = (gl, value, key) => {
@@ -133,8 +131,8 @@ export const GL_PARAMETER_SETTERS = {
133
131
  [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]: hint,
134
132
  [GL.CURRENT_PROGRAM]: (gl, value) => gl.useProgram(value),
135
133
  [GL.RENDERBUFFER_BINDING]: (gl, value) => gl.bindRenderbuffer(GL.RENDERBUFFER, value),
136
- [GL.TRANSFORM_FEEDBACK_BINDING]: (gl, value) => (gl).bindTransformFeedback?.(GL.TRANSFORM_FEEDBACK, value),
137
- [GL.VERTEX_ARRAY_BINDING]: (gl, value) => (gl).bindVertexArray(value),
134
+ [GL.TRANSFORM_FEEDBACK_BINDING]: (gl, value) => gl.bindTransformFeedback?.(GL.TRANSFORM_FEEDBACK, value),
135
+ [GL.VERTEX_ARRAY_BINDING]: (gl, value) => gl.bindVertexArray(value),
138
136
  // NOTE: FRAMEBUFFER_BINDING and DRAW_FRAMEBUFFER_BINDING(WebGL2) refer same state.
139
137
  [GL.FRAMEBUFFER_BINDING]: bindFramebuffer,
140
138
  [GL.READ_FRAMEBUFFER_BINDING]: bindFramebuffer,
@@ -174,14 +172,29 @@ export const GL_PARAMETER_SETTERS = {
174
172
  [GL.STENCIL_BACK_PASS_DEPTH_FAIL]: 'stencilOpBack',
175
173
  [GL.STENCIL_BACK_PASS_DEPTH_PASS]: 'stencilOpBack',
176
174
  [GL.VIEWPORT]: (gl, value) => gl.viewport(...value),
177
- // WEBGL1 PIXEL PACK/UNPACK MODES
175
+ // WEBGL2 EXTENSIONS
176
+ // EXT_depth_clamp https://registry.khronos.org/webgl/extensions/EXT_depth_clamp/
177
+ [GL.DEPTH_CLAMP_EXT]: enable,
178
+ // WEBGL_provoking_vertex https://registry.khronos.org/webgl/extensions/WEBGL_provoking_vertex/
179
+ // [GL.PROVOKING_VERTEX_WEBL]: TODO - extension function needed
180
+ // WEBGL_polygon_mode https://registry.khronos.org/webgl/extensions/WEBGL_polygon_mode/
181
+ // POLYGON_MODE_WEBGL TODO - extension function needed
182
+ [GL.POLYGON_OFFSET_LINE_WEBGL]: enable,
183
+ // WEBGL_clip_cull_distance https://registry.khronos.org/webgl/extensions/WEBGL_clip_cull_distance/
184
+ [GL.CLIP_DISTANCE0_WEBGL]: enable,
185
+ [GL.CLIP_DISTANCE1_WEBGL]: enable,
186
+ [GL.CLIP_DISTANCE2_WEBGL]: enable,
187
+ [GL.CLIP_DISTANCE3_WEBGL]: enable,
188
+ [GL.CLIP_DISTANCE4_WEBGL]: enable,
189
+ [GL.CLIP_DISTANCE5_WEBGL]: enable,
190
+ [GL.CLIP_DISTANCE6_WEBGL]: enable,
191
+ [GL.CLIP_DISTANCE7_WEBGL]: enable,
192
+ // PIXEL PACK/UNPACK MODES
178
193
  [GL.PACK_ALIGNMENT]: pixelStorei,
179
194
  [GL.UNPACK_ALIGNMENT]: pixelStorei,
180
195
  [GL.UNPACK_FLIP_Y_WEBGL]: pixelStorei,
181
196
  [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]: pixelStorei,
182
197
  [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]: pixelStorei,
183
- // WEBGL2 PIXEL PACK/UNPACK MODES
184
- // RASTERIZER_DISCARD ...
185
198
  [GL.PACK_ROW_LENGTH]: pixelStorei,
186
199
  [GL.PACK_SKIP_PIXELS]: pixelStorei,
187
200
  [GL.PACK_SKIP_ROWS]: pixelStorei,
@@ -197,7 +210,7 @@ export const GL_PARAMETER_SETTERS = {
197
210
  const handle = framebuffer && 'handle' in framebuffer ? framebuffer.handle : framebuffer;
198
211
  return gl.bindFramebuffer(GL.FRAMEBUFFER, handle);
199
212
  },
200
- blend: (gl, value) => (value ? gl.enable(GL.BLEND) : gl.disable(GL.BLEND)),
213
+ blend: (gl, value) => value ? gl.enable(GL.BLEND) : gl.disable(GL.BLEND),
201
214
  blendColor: (gl, value) => gl.blendColor(...value),
202
215
  blendEquation: (gl, args) => {
203
216
  const separateModes = typeof args === 'number' ? [args, args] : args;
@@ -1 +1 @@
1
- {"version":3,"file":"deep-array-equal.d.ts","sourceRoot":"","sources":["../../../src/context/state-tracker/deep-array-equal.ts"],"names":[],"mappings":"AAGA,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAiBtD"}
1
+ {"version":3,"file":"deep-array-equal.d.ts","sourceRoot":"","sources":["../../../src/context/state-tracker/deep-array-equal.ts"],"names":[],"mappings":"AAIA,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAiBtD"}
@@ -1,4 +1,5 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  /** deeply compare two arrays */
4
5
  export function deepArrayEqual(x, y) {
@@ -1 +1 @@
1
- {"version":3,"file":"track-context-state.d.ts","sourceRoot":"","sources":["../../../src/context/state-tracker/track-context-state.ts"],"names":[],"mappings":"AA6FA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,sBAAsB,EAC1B,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,GACA,sBAAsB,CAgCxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,sBAAsB,GAAG,IAAI,CAOjE;AAGD;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,sBAAsB,GAAG,IAAI,CAIhE"}
1
+ {"version":3,"file":"track-context-state.d.ts","sourceRoot":"","sources":["../../../src/context/state-tracker/track-context-state.ts"],"names":[],"mappings":"AAmGA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,sBAAsB,EAC1B,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,GACA,sBAAsB,CAgCxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,sBAAsB,GAAG,IAAI,CAOjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,sBAAsB,GAAG,IAAI,CAIhE"}
@@ -1,11 +1,12 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
4
  // Support for listening to context state changes and intercepting state queries
4
5
  // NOTE: this system does not handle buffer bindings
5
6
  import { assert } from '@luma.gl/core';
6
- import { GL_PARAMETER_DEFAULTS, GL_HOOKED_SETTERS, NON_CACHE_PARAMETERS } from '../parameters/webgl-parameter-tables';
7
- import { setGLParameters, getGLParameters } from '../parameters/unified-parameter-api';
8
- import { deepArrayEqual } from './deep-array-equal';
7
+ import { GL_PARAMETER_DEFAULTS, GL_HOOKED_SETTERS, NON_CACHE_PARAMETERS } from "../parameters/webgl-parameter-tables.js";
8
+ import { setGLParameters, getGLParameters } from "../parameters/unified-parameter-api.js";
9
+ import { deepArrayEqual } from "./deep-array-equal.js";
9
10
  // HELPER CLASS - GLState
10
11
  /* eslint-disable no-shadow */
11
12
  class GLState {
@@ -1,5 +1,5 @@
1
1
  import type { Device } from '@luma.gl/core';
2
- import { GLParameters } from '../parameters/unified-parameter-api';
2
+ import { GLParameters } from "../parameters/unified-parameter-api.js";
3
3
  /**
4
4
  * Execute a function with a set of temporary WebGL parameter overrides
5
5
  * - Saves current "global" WebGL context settings
@@ -1 +1 @@
1
- {"version":3,"file":"with-parameters.d.ts","sourceRoot":"","sources":["../../../src/context/state-tracker/with-parameters.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAC,YAAY,EAAkB,MAAM,qCAAqC,CAAC;AAGlF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,EAAE,UAAU,EAAE,YAAY,GAAG;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,CA+BxI"}
1
+ {"version":3,"file":"with-parameters.d.ts","sourceRoot":"","sources":["../../../src/context/state-tracker/with-parameters.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAC,YAAY,EAAkB,+CAA4C;AAGlF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,sBAAsB,EACvC,UAAU,EAAE,YAAY,GAAG;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAC,EAC9C,IAAI,EAAE,GAAG,GACR,GAAG,CA+BL"}
@@ -1,8 +1,9 @@
1
- // luma.gl, MIT license
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
2
3
  // Copyright (c) vis.gl contributors
3
- import { WebGLDevice } from '../../adapter/webgl-device';
4
- import { setGLParameters } from '../parameters/unified-parameter-api';
5
- import { pushContextState, popContextState } from './track-context-state';
4
+ import { WebGLDevice } from "../../adapter/webgl-device.js";
5
+ import { setGLParameters } from "../parameters/unified-parameter-api.js";
6
+ import { pushContextState, popContextState } from "./track-context-state.js";
6
7
  /**
7
8
  * Execute a function with a set of temporary WebGL parameter overrides
8
9
  * - Saves current "global" WebGL context settings