@luma.gl/webgl 9.2.5 → 9.3.0-alpha.10

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 (247) hide show
  1. package/dist/adapter/converters/device-parameters.d.ts +1 -1
  2. package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
  3. package/dist/adapter/converters/device-parameters.js +4 -1
  4. package/dist/adapter/converters/device-parameters.js.map +1 -1
  5. package/dist/adapter/converters/sampler-parameters.d.ts +1 -1
  6. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
  7. package/dist/adapter/converters/sampler-parameters.js +1 -1
  8. package/dist/adapter/converters/sampler-parameters.js.map +1 -1
  9. package/dist/adapter/converters/shader-formats.d.ts +1 -64
  10. package/dist/adapter/converters/shader-formats.d.ts.map +1 -1
  11. package/dist/adapter/converters/shader-formats.js +1 -64
  12. package/dist/adapter/converters/shader-formats.js.map +1 -1
  13. package/dist/adapter/converters/webgl-shadertypes.d.ts +1 -3
  14. package/dist/adapter/converters/webgl-shadertypes.d.ts.map +1 -1
  15. package/dist/adapter/converters/webgl-shadertypes.js +1 -6
  16. package/dist/adapter/converters/webgl-shadertypes.js.map +1 -1
  17. package/dist/adapter/converters/webgl-texture-table.d.ts +8 -4
  18. package/dist/adapter/converters/webgl-texture-table.d.ts.map +1 -1
  19. package/dist/adapter/converters/webgl-texture-table.js +122 -58
  20. package/dist/adapter/converters/webgl-texture-table.js.map +1 -1
  21. package/dist/adapter/converters/webgl-vertex-formats.d.ts +1 -1
  22. package/dist/adapter/converters/webgl-vertex-formats.d.ts.map +1 -1
  23. package/dist/adapter/converters/webgl-vertex-formats.js +1 -1
  24. package/dist/adapter/converters/webgl-vertex-formats.js.map +1 -1
  25. package/dist/adapter/device-helpers/webgl-device-features.d.ts +1 -1
  26. package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
  27. package/dist/adapter/device-helpers/webgl-device-features.js +1 -2
  28. package/dist/adapter/device-helpers/webgl-device-features.js.map +1 -1
  29. package/dist/adapter/device-helpers/webgl-device-info.d.ts +1 -1
  30. package/dist/adapter/device-helpers/webgl-device-info.d.ts.map +1 -1
  31. package/dist/adapter/device-helpers/webgl-device-info.js +6 -1
  32. package/dist/adapter/device-helpers/webgl-device-info.js.map +1 -1
  33. package/dist/adapter/device-helpers/webgl-device-limits.d.ts +1 -1
  34. package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -1
  35. package/dist/adapter/device-helpers/webgl-device-limits.js +1 -1
  36. package/dist/adapter/device-helpers/webgl-device-limits.js.map +1 -1
  37. package/dist/adapter/helpers/format-utils.d.ts +1 -1
  38. package/dist/adapter/helpers/format-utils.d.ts.map +1 -1
  39. package/dist/adapter/helpers/format-utils.js +1 -1
  40. package/dist/adapter/helpers/format-utils.js.map +1 -1
  41. package/dist/adapter/helpers/get-shader-layout-from-glsl.js +36 -22
  42. package/dist/adapter/helpers/get-shader-layout-from-glsl.js.map +1 -1
  43. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
  44. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
  45. package/dist/adapter/helpers/parse-shader-compiler-log.js +20 -0
  46. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
  47. package/dist/adapter/helpers/set-uniform.d.ts +1 -1
  48. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
  49. package/dist/adapter/helpers/set-uniform.js +1 -1
  50. package/dist/adapter/helpers/set-uniform.js.map +1 -1
  51. package/dist/adapter/helpers/webgl-texture-utils.d.ts +1 -1
  52. package/dist/adapter/helpers/webgl-texture-utils.d.ts.map +1 -1
  53. package/dist/adapter/helpers/webgl-texture-utils.js +4 -4
  54. package/dist/adapter/helpers/webgl-texture-utils.js.map +1 -1
  55. package/dist/adapter/helpers/webgl-topology-utils.d.ts +1 -1
  56. package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -1
  57. package/dist/adapter/helpers/webgl-topology-utils.js +1 -1
  58. package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -1
  59. package/dist/adapter/resources/webgl-buffer.d.ts +1 -1
  60. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
  61. package/dist/adapter/resources/webgl-buffer.js +21 -5
  62. package/dist/adapter/resources/webgl-buffer.js.map +1 -1
  63. package/dist/adapter/resources/webgl-command-buffer.d.ts +3 -4
  64. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
  65. package/dist/adapter/resources/webgl-command-buffer.js +29 -39
  66. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
  67. package/dist/adapter/resources/webgl-command-encoder.d.ts +6 -5
  68. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
  69. package/dist/adapter/resources/webgl-command-encoder.js +23 -8
  70. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
  71. package/dist/adapter/resources/webgl-fence.d.ts +14 -0
  72. package/dist/adapter/resources/webgl-fence.d.ts.map +1 -0
  73. package/dist/adapter/resources/webgl-fence.js +49 -0
  74. package/dist/adapter/resources/webgl-fence.js.map +1 -0
  75. package/dist/adapter/resources/webgl-framebuffer.d.ts +3 -1
  76. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
  77. package/dist/adapter/resources/webgl-framebuffer.js +10 -1
  78. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
  79. package/dist/adapter/resources/webgl-query-set.d.ts +37 -31
  80. package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -1
  81. package/dist/adapter/resources/webgl-query-set.js +247 -96
  82. package/dist/adapter/resources/webgl-query-set.js.map +1 -1
  83. package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
  84. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
  85. package/dist/adapter/resources/webgl-render-pass.js +28 -11
  86. package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
  87. package/dist/adapter/resources/webgl-render-pipeline.d.ts +17 -21
  88. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
  89. package/dist/adapter/resources/webgl-render-pipeline.js +70 -169
  90. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
  91. package/dist/adapter/resources/webgl-sampler.d.ts +1 -1
  92. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
  93. package/dist/adapter/resources/webgl-sampler.js +1 -1
  94. package/dist/adapter/resources/webgl-sampler.js.map +1 -1
  95. package/dist/adapter/resources/webgl-shader.d.ts +1 -1
  96. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
  97. package/dist/adapter/resources/webgl-shader.js +15 -8
  98. package/dist/adapter/resources/webgl-shader.js.map +1 -1
  99. package/dist/adapter/resources/webgl-shared-render-pipeline.d.ts +24 -0
  100. package/dist/adapter/resources/webgl-shared-render-pipeline.d.ts.map +1 -0
  101. package/dist/adapter/resources/webgl-shared-render-pipeline.js +155 -0
  102. package/dist/adapter/resources/webgl-shared-render-pipeline.js.map +1 -0
  103. package/dist/adapter/resources/webgl-texture.d.ts +42 -4
  104. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
  105. package/dist/adapter/resources/webgl-texture.js +286 -62
  106. package/dist/adapter/resources/webgl-texture.js.map +1 -1
  107. package/dist/adapter/resources/webgl-transform-feedback.js +6 -6
  108. package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -1
  109. package/dist/adapter/resources/webgl-vertex-array.d.ts +2 -2
  110. package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -1
  111. package/dist/adapter/resources/webgl-vertex-array.js +1 -1
  112. package/dist/adapter/resources/webgl-vertex-array.js.map +1 -1
  113. package/dist/adapter/webgl-adapter.d.ts.map +1 -1
  114. package/dist/adapter/webgl-adapter.js +22 -23
  115. package/dist/adapter/webgl-adapter.js.map +1 -1
  116. package/dist/adapter/webgl-canvas-context.d.ts +2 -2
  117. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
  118. package/dist/adapter/webgl-canvas-context.js +16 -6
  119. package/dist/adapter/webgl-canvas-context.js.map +1 -1
  120. package/dist/adapter/webgl-device.d.ts +10 -5
  121. package/dist/adapter/webgl-device.d.ts.map +1 -1
  122. package/dist/adapter/webgl-device.js +75 -28
  123. package/dist/adapter/webgl-device.js.map +1 -1
  124. package/dist/adapter/webgl-presentation-context.d.ts +21 -0
  125. package/dist/adapter/webgl-presentation-context.d.ts.map +1 -0
  126. package/dist/adapter/webgl-presentation-context.js +64 -0
  127. package/dist/adapter/webgl-presentation-context.js.map +1 -0
  128. package/dist/constants/index.d.ts +3 -0
  129. package/dist/constants/index.d.ts.map +1 -0
  130. package/dist/constants/index.js +5 -0
  131. package/dist/constants/index.js.map +1 -0
  132. package/dist/constants/webgl-constants.d.ts +822 -0
  133. package/dist/constants/webgl-constants.d.ts.map +1 -0
  134. package/dist/constants/webgl-constants.js +928 -0
  135. package/dist/constants/webgl-constants.js.map +1 -0
  136. package/dist/constants/webgl-types.d.ts +480 -0
  137. package/dist/constants/webgl-types.d.ts.map +1 -0
  138. package/dist/constants/webgl-types.js +6 -0
  139. package/dist/constants/webgl-types.js.map +1 -0
  140. package/dist/context/debug/spector.d.ts.map +1 -1
  141. package/dist/context/debug/spector.js +4 -4
  142. package/dist/context/debug/spector.js.map +1 -1
  143. package/dist/context/debug/webgl-developer-tools.js +7 -7
  144. package/dist/context/debug/webgl-developer-tools.js.map +1 -1
  145. package/dist/context/helpers/create-browser-context.d.ts.map +1 -1
  146. package/dist/context/helpers/create-browser-context.js +46 -36
  147. package/dist/context/helpers/create-browser-context.js.map +1 -1
  148. package/dist/context/helpers/webgl-context-data.d.ts +5 -1
  149. package/dist/context/helpers/webgl-context-data.d.ts.map +1 -1
  150. package/dist/context/helpers/webgl-context-data.js +9 -10
  151. package/dist/context/helpers/webgl-context-data.js.map +1 -1
  152. package/dist/context/helpers/webgl-extensions.d.ts +1 -1
  153. package/dist/context/helpers/webgl-extensions.d.ts.map +1 -1
  154. package/dist/context/parameters/unified-parameter-api.d.ts +2 -2
  155. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  156. package/dist/context/parameters/unified-parameter-api.js +2 -2
  157. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  158. package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
  159. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  160. package/dist/context/parameters/webgl-parameter-tables.js +1 -1
  161. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  162. package/dist/context/polyfills/polyfill-webgl1-extensions.js +1 -1
  163. package/dist/context/polyfills/polyfill-webgl1-extensions.js.map +1 -1
  164. package/dist/context/state-tracker/webgl-state-tracker.js +2 -2
  165. package/dist/context/state-tracker/webgl-state-tracker.js.map +1 -1
  166. package/dist/dist.dev.js +1897 -999
  167. package/dist/dist.min.js +2 -2
  168. package/dist/index.cjs +3 -5255
  169. package/dist/index.cjs.map +4 -4
  170. package/dist/index.d.ts +3 -0
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +2 -0
  173. package/dist/index.js.map +1 -1
  174. package/dist/utils/fill-array.js +1 -1
  175. package/dist/utils/fill-array.js.map +1 -1
  176. package/dist/webgl-constants.d.ts +2 -0
  177. package/dist/webgl-constants.d.ts.map +1 -0
  178. package/dist/webgl-constants.js +5 -0
  179. package/dist/webgl-constants.js.map +1 -0
  180. package/dist/webgl-types.d.ts +2 -0
  181. package/dist/webgl-types.d.ts.map +1 -0
  182. package/dist/{types.js → webgl-types.js} +1 -1
  183. package/dist/webgl-types.js.map +1 -0
  184. package/package.json +19 -5
  185. package/src/adapter/converters/device-parameters.ts +6 -2
  186. package/src/adapter/converters/sampler-parameters.ts +1 -1
  187. package/src/adapter/converters/shader-formats.ts +1 -66
  188. package/src/adapter/converters/webgl-shadertypes.ts +1 -9
  189. package/src/adapter/converters/webgl-texture-table.ts +160 -68
  190. package/src/adapter/converters/webgl-vertex-formats.ts +1 -1
  191. package/src/adapter/device-helpers/webgl-device-features.ts +2 -3
  192. package/src/adapter/device-helpers/webgl-device-info.ts +7 -1
  193. package/src/adapter/device-helpers/webgl-device-limits.ts +1 -1
  194. package/src/adapter/helpers/format-utils.ts +1 -1
  195. package/src/adapter/helpers/get-shader-layout-from-glsl.ts +44 -24
  196. package/src/adapter/helpers/parse-shader-compiler-log.ts +23 -1
  197. package/src/adapter/helpers/set-uniform.ts +1 -1
  198. package/src/adapter/helpers/webgl-texture-utils.ts +4 -4
  199. package/src/adapter/helpers/webgl-topology-utils.ts +1 -1
  200. package/src/adapter/resources/webgl-buffer.ts +18 -5
  201. package/src/adapter/resources/webgl-command-buffer.ts +44 -48
  202. package/src/adapter/resources/webgl-command-encoder.ts +28 -11
  203. package/src/adapter/resources/webgl-fence.ts +55 -0
  204. package/src/adapter/resources/webgl-framebuffer.ts +12 -1
  205. package/src/adapter/resources/webgl-query-set.ts +295 -101
  206. package/src/adapter/resources/webgl-render-pass.ts +30 -13
  207. package/src/adapter/resources/webgl-render-pipeline.ts +102 -198
  208. package/src/adapter/resources/webgl-sampler.ts +1 -1
  209. package/src/adapter/resources/webgl-shader.ts +15 -8
  210. package/src/adapter/resources/webgl-shared-render-pipeline.ts +211 -0
  211. package/src/adapter/resources/webgl-texture.ts +455 -81
  212. package/src/adapter/resources/webgl-transform-feedback.ts +6 -6
  213. package/src/adapter/resources/webgl-vertex-array.ts +1 -1
  214. package/src/adapter/webgl-adapter.ts +26 -24
  215. package/src/adapter/webgl-canvas-context.ts +19 -8
  216. package/src/adapter/webgl-device.ts +91 -35
  217. package/src/adapter/webgl-presentation-context.ts +93 -0
  218. package/src/constants/index.d.ts.map +1 -0
  219. package/src/constants/index.js.map +1 -0
  220. package/src/constants/index.ts +31 -0
  221. package/src/constants/webgl-constants.d.ts.map +1 -0
  222. package/src/constants/webgl-constants.js.map +1 -0
  223. package/src/constants/webgl-constants.ts +1051 -0
  224. package/src/constants/webgl-types.d.ts.map +1 -0
  225. package/src/constants/webgl-types.js.map +1 -0
  226. package/src/constants/webgl-types.ts +813 -0
  227. package/src/context/debug/spector.ts +4 -4
  228. package/src/context/debug/webgl-developer-tools.ts +16 -7
  229. package/src/context/helpers/create-browser-context.ts +54 -43
  230. package/src/context/helpers/webgl-context-data.ts +17 -11
  231. package/src/context/helpers/webgl-extensions.ts +1 -1
  232. package/src/context/parameters/unified-parameter-api.ts +3 -3
  233. package/src/context/parameters/webgl-parameter-tables.ts +1 -1
  234. package/src/context/polyfills/polyfill-webgl1-extensions.ts +1 -1
  235. package/src/context/state-tracker/webgl-state-tracker.ts +2 -2
  236. package/src/index.ts +27 -0
  237. package/src/utils/fill-array.ts +1 -1
  238. package/src/webgl-constants.d.ts.map +1 -0
  239. package/src/webgl-constants.js.map +1 -0
  240. package/src/webgl-constants.ts +5 -0
  241. package/src/webgl-types.d.ts.map +1 -0
  242. package/src/webgl-types.js.map +1 -0
  243. package/src/webgl-types.ts +29 -0
  244. package/dist/types.d.ts +0 -11
  245. package/dist/types.d.ts.map +0 -1
  246. package/dist/types.js.map +0 -1
  247. package/src/types.ts +0 -14
@@ -1,10 +1,9 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { RenderPipeline, log } from '@luma.gl/core';
4
+ import { RenderPipeline, flattenBindingsByGroup, log, normalizeBindingsByGroup } from '@luma.gl/core';
5
5
  // import {getAttributeInfosFromLayouts} from '@luma.gl/core';
6
- import { GL } from '@luma.gl/constants';
7
- import { getShaderLayoutFromGLSL } from "../helpers/get-shader-layout-from-glsl.js";
6
+ import { GL } from '@luma.gl/webgl/constants';
8
7
  import { withDeviceAndGLParameters } from "../converters/device-parameters.js";
9
8
  import { setUniform } from "../helpers/set-uniform.js";
10
9
  import { WEBGLBuffer } from "./webgl-buffer.js";
@@ -12,7 +11,6 @@ import { WEBGLFramebuffer } from "./webgl-framebuffer.js";
12
11
  import { WEBGLTexture } from "./webgl-texture.js";
13
12
  import { WEBGLTextureView } from "./webgl-texture-view.js";
14
13
  import { getGLDrawMode } from "../helpers/webgl-topology-utils.js";
15
- const LOG_PROGRAM_PERF_PRIORITY = 4;
16
14
  /** Creates a new render pipeline */
17
15
  export class WEBGLRenderPipeline extends RenderPipeline {
18
16
  /** The WebGL device that created this render pipeline */
@@ -25,10 +23,10 @@ export class WEBGLRenderPipeline extends RenderPipeline {
25
23
  fs;
26
24
  /** The layout extracted from shader by WebGL introspection APIs */
27
25
  introspectedLayout;
28
- /** Uniforms set on this model */
29
- uniforms = {};
30
- /** Bindings set on this model */
26
+ /** Compatibility path for direct pipeline.setBindings() usage */
31
27
  bindings = {};
28
+ /** Compatibility path for direct pipeline.uniforms usage */
29
+ uniforms = {};
32
30
  /** WebGL varyings */
33
31
  varyings = null;
34
32
  _uniformCount = 0;
@@ -39,56 +37,40 @@ export class WEBGLRenderPipeline extends RenderPipeline {
39
37
  constructor(device, props) {
40
38
  super(device, props);
41
39
  this.device = device;
42
- this.handle = this.props.handle || this.device.gl.createProgram();
40
+ const webglSharedRenderPipeline = this.sharedRenderPipeline ||
41
+ this.device._createSharedRenderPipelineWebGL(props);
42
+ this.sharedRenderPipeline = webglSharedRenderPipeline;
43
+ this.handle = webglSharedRenderPipeline.handle;
44
+ this.vs = webglSharedRenderPipeline.vs;
45
+ this.fs = webglSharedRenderPipeline.fs;
46
+ this.linkStatus = webglSharedRenderPipeline.linkStatus;
47
+ this.introspectedLayout = webglSharedRenderPipeline.introspectedLayout;
43
48
  this.device._setWebGLDebugMetadata(this.handle, this, { spector: { id: this.props.id } });
44
- // Create shaders if needed
45
- this.vs = props.vs;
46
- this.fs = props.fs;
47
- // assert(this.vs.stage === 'vertex');
48
- // assert(this.fs.stage === 'fragment');
49
- // Setup varyings if supplied
50
- // @ts-expect-error WebGL only
51
- const { varyings, bufferMode = 35981 } = props;
52
- if (varyings && varyings.length > 0) {
53
- this.varyings = varyings;
54
- this.device.gl.transformFeedbackVaryings(this.handle, varyings, bufferMode);
55
- }
56
- this._linkShaders();
57
- log.time(3, `RenderPipeline ${this.id} - shaderLayout introspection`)();
58
- this.introspectedLayout = getShaderLayoutFromGLSL(this.device.gl, this.handle);
59
- log.timeEnd(3, `RenderPipeline ${this.id} - shaderLayout introspection`)();
60
- // Merge provided layout with introspected layout
49
+ // WebGL only honors shaderLayout overrides for attributes that already exist in the
50
+ // linked program, and only the `type` / `stepMode` fields participate in the merge.
51
+ // Bindings and unknown attributes are ignored. If WebGL cache keys ever depend on
52
+ // `shaderLayout`, they need to match these merge semantics rather than the raw prop.
61
53
  this.shaderLayout = props.shaderLayout
62
54
  ? mergeShaderLayout(this.introspectedLayout, props.shaderLayout)
63
55
  : this.introspectedLayout;
64
56
  }
65
57
  destroy() {
66
- if (this.handle) {
67
- // log.error(`Deleting program ${this.id}`)();
68
- this.device.gl.useProgram(null);
69
- this.device.gl.deleteProgram(this.handle);
70
- this.destroyed = true;
71
- // @ts-expect-error
72
- this.handle.destroyed = true;
73
- // @ts-ignore
74
- this.handle = null;
58
+ if (this.destroyed) {
59
+ return;
75
60
  }
61
+ if (this.sharedRenderPipeline && !this.props._sharedRenderPipeline) {
62
+ this.sharedRenderPipeline.destroy();
63
+ }
64
+ this.destroyResource();
76
65
  }
77
66
  /**
78
- * Bindings include: textures, samplers and uniform buffers
79
- * @todo needed for portable model
67
+ * Compatibility shim for code paths that still set bindings on the pipeline.
68
+ * Shared-model draws pass bindings per draw and do not rely on this state.
80
69
  */
81
70
  setBindings(bindings, options) {
82
- // if (log.priority >= 2) {
83
- // checkUniformValues(uniforms, this.id, this._uniformSetters);
84
- // }
85
- for (const [name, value] of Object.entries(bindings)) {
86
- // Accept both `xyz` and `xyzUniforms` as valid names for `xyzUniforms` uniform block
87
- // This convention allows shaders to name uniform blocks as `uniform appUniforms {} app;`
88
- // and reference them as `app` from both GLSL and JS.
89
- // TODO - this is rather hacky - we could also remap the name directly in the shader layout.
90
- const binding = this.shaderLayout.bindings.find(binding_ => binding_.name === name) ||
91
- this.shaderLayout.bindings.find(binding_ => binding_.name === `${name}Uniforms`);
71
+ const flatBindings = flattenBindingsByGroup(normalizeBindingsByGroup(this.shaderLayout, bindings));
72
+ for (const [name, value] of Object.entries(flatBindings)) {
73
+ const binding = getShaderLayoutBindingByName(this.shaderLayout, name);
92
74
  if (!binding) {
93
75
  const validBindings = this.shaderLayout.bindings
94
76
  .map(binding_ => `"${binding_.name}"`)
@@ -96,7 +78,7 @@ export class WEBGLRenderPipeline extends RenderPipeline {
96
78
  if (!options?.disableWarnings) {
97
79
  log.warn(`No binding "${name}" in render pipeline "${this.id}", expected one of ${validBindings}`, value)();
98
80
  }
99
- continue; // eslint-disable-line no-continue
81
+ continue;
100
82
  }
101
83
  if (!value) {
102
84
  log.warn(`Unsetting binding "${name}" in render pipeline "${this.id}"`)();
@@ -129,13 +111,17 @@ export class WEBGLRenderPipeline extends RenderPipeline {
129
111
  * This function unifies those ways into a single call using common parameters with sane defaults
130
112
  */
131
113
  draw(options) {
114
+ this._syncLinkStatus();
115
+ const drawBindings = options.bindGroups
116
+ ? flattenBindingsByGroup(options.bindGroups)
117
+ : options.bindings || this.bindings;
132
118
  const { renderPass, parameters = this.props.parameters, topology = this.props.topology, vertexArray, vertexCount,
133
119
  // indexCount,
134
120
  instanceCount, isInstanced = false, firstVertex = 0,
135
121
  // firstIndex,
136
122
  // firstInstance,
137
123
  // baseVertex,
138
- transformFeedback } = options;
124
+ transformFeedback, uniforms = this.uniforms } = options;
139
125
  const glDrawMode = getGLDrawMode(topology);
140
126
  const isIndexed = Boolean(vertexArray.indexBuffer);
141
127
  const glIndexType = vertexArray.indexBuffer?.glIndexType;
@@ -149,7 +135,7 @@ export class WEBGLRenderPipeline extends RenderPipeline {
149
135
  // Note: async textures set as uniforms might still be loading.
150
136
  // Now that all uniforms have been updated, check if any texture
151
137
  // in the uniforms is not yet initialized, then we don't draw
152
- if (!this._areTexturesRenderable()) {
138
+ if (!this._areTexturesRenderable(drawBindings)) {
153
139
  log.info(2, `RenderPipeline:${this.id}.draw() aborted - textures not yet loaded`)();
154
140
  // Note: false means that the app needs to redraw the pipeline again.
155
141
  return false;
@@ -167,8 +153,8 @@ export class WEBGLRenderPipeline extends RenderPipeline {
167
153
  transformFeedback.begin(this.props.topology);
168
154
  }
169
155
  // We have to apply bindings before every draw call since other draw calls will overwrite
170
- this._applyBindings();
171
- this._applyUniforms();
156
+ this._applyBindings(drawBindings, { disableWarnings: this.props.disableWarnings });
157
+ this._applyUniforms(uniforms);
172
158
  const webglRenderPass = renderPass;
173
159
  withDeviceAndGLParameters(this.device, parameters, webglRenderPass.glParameters, () => {
174
160
  if (isIndexed && isInstanced) {
@@ -193,116 +179,15 @@ export class WEBGLRenderPipeline extends RenderPipeline {
193
179
  vertexArray.unbindAfterRender(renderPass);
194
180
  return true;
195
181
  }
196
- // PRIVATE METHODS
197
- // setAttributes(attributes: Record<string, Buffer>): void {}
198
- // setBindings(bindings: Record<string, Binding>): void {}
199
- async _linkShaders() {
200
- const { gl } = this.device;
201
- gl.attachShader(this.handle, this.vs.handle);
202
- gl.attachShader(this.handle, this.fs.handle);
203
- log.time(LOG_PROGRAM_PERF_PRIORITY, `linkProgram for ${this.id}`)();
204
- gl.linkProgram(this.handle);
205
- log.timeEnd(LOG_PROGRAM_PERF_PRIORITY, `linkProgram for ${this.id}`)();
206
- // TODO Avoid checking program linking error in production
207
- if (log.level === 0) {
208
- // return;
209
- }
210
- if (!this.device.features.has('compilation-status-async-webgl')) {
211
- const status = this._getLinkStatus();
212
- this._reportLinkStatus(status);
213
- return;
214
- }
215
- // async case
216
- log.once(1, 'RenderPipeline linking is asynchronous')();
217
- await this._waitForLinkComplete();
218
- log.info(2, `RenderPipeline ${this.id} - async linking complete: ${this.linkStatus}`)();
219
- const status = this._getLinkStatus();
220
- this._reportLinkStatus(status);
221
- }
222
- /** Report link status. First, check for shader compilation failures if linking fails */
223
- async _reportLinkStatus(status) {
224
- switch (status) {
225
- case 'success':
226
- return;
227
- default:
228
- const errorType = status === 'link-error' ? 'Link error' : 'Validation error';
229
- // First check for shader compilation failures if linking fails
230
- switch (this.vs.compilationStatus) {
231
- case 'error':
232
- this.vs.debugShader();
233
- throw new Error(`${this} ${errorType} during compilation of ${this.vs}`);
234
- case 'pending':
235
- await this.vs.asyncCompilationStatus;
236
- this.vs.debugShader();
237
- break;
238
- case 'success':
239
- break;
240
- }
241
- switch (this.fs?.compilationStatus) {
242
- case 'error':
243
- this.fs.debugShader();
244
- throw new Error(`${this} ${errorType} during compilation of ${this.fs}`);
245
- case 'pending':
246
- await this.fs.asyncCompilationStatus;
247
- this.fs.debugShader();
248
- break;
249
- case 'success':
250
- break;
251
- }
252
- const linkErrorLog = this.device.gl.getProgramInfoLog(this.handle);
253
- this.device.reportError(new Error(`${errorType} during ${status}: ${linkErrorLog}`), this)();
254
- this.device.debug();
255
- }
256
- }
257
- /**
258
- * Get the shader compilation status
259
- * TODO - Load log even when no error reported, to catch warnings?
260
- * https://gamedev.stackexchange.com/questions/30429/how-to-detect-glsl-warnings
261
- */
262
- _getLinkStatus() {
263
- const { gl } = this.device;
264
- const linked = gl.getProgramParameter(this.handle, 35714);
265
- if (!linked) {
266
- this.linkStatus = 'error';
267
- return 'link-error';
268
- }
269
- gl.validateProgram(this.handle);
270
- const validated = gl.getProgramParameter(this.handle, 35715);
271
- if (!validated) {
272
- this.linkStatus = 'error';
273
- return 'validation-error';
274
- }
275
- this.linkStatus = 'success';
276
- return 'success';
277
- }
278
- /** Use KHR_parallel_shader_compile extension if available */
279
- async _waitForLinkComplete() {
280
- const waitMs = async (ms) => await new Promise(resolve => setTimeout(resolve, ms));
281
- const DELAY_MS = 10; // Shader compilation is typically quite fast (with some exceptions)
282
- // If status polling is not available, we can't wait for completion. Just wait a little to minimize blocking
283
- if (!this.device.features.has('compilation-status-async-webgl')) {
284
- await waitMs(DELAY_MS);
285
- return;
286
- }
287
- const { gl } = this.device;
288
- for (;;) {
289
- const complete = gl.getProgramParameter(this.handle, 37297);
290
- if (complete) {
291
- return;
292
- }
293
- await waitMs(DELAY_MS);
294
- }
295
- }
296
182
  /**
297
183
  * Checks if all texture-values uniforms are renderable (i.e. loaded)
298
184
  * Update a texture if needed (e.g. from video)
299
185
  * Note: This is currently done before every draw call
300
186
  */
301
- _areTexturesRenderable() {
187
+ _areTexturesRenderable(bindings) {
302
188
  let texturesRenderable = true;
303
189
  for (const bindingInfo of this.shaderLayout.bindings) {
304
- if (!this.bindings[bindingInfo.name] &&
305
- !this.bindings[bindingInfo.name.replace(/Uniforms$/, '')]) {
190
+ if (!getBindingValueForLayoutBinding(bindings, bindingInfo.name)) {
306
191
  log.warn(`Binding ${bindingInfo.name} not found in ${this.id}`)();
307
192
  texturesRenderable = false;
308
193
  }
@@ -316,7 +201,8 @@ export class WEBGLRenderPipeline extends RenderPipeline {
316
201
  return texturesRenderable;
317
202
  }
318
203
  /** Apply any bindings (before each draw call) */
319
- _applyBindings() {
204
+ _applyBindings(bindings, _options) {
205
+ this._syncLinkStatus();
320
206
  // If we are using async linking, we need to wait until linking completes
321
207
  if (this.linkStatus !== 'success') {
322
208
  return;
@@ -326,8 +212,7 @@ export class WEBGLRenderPipeline extends RenderPipeline {
326
212
  let textureUnit = 0;
327
213
  let uniformBufferIndex = 0;
328
214
  for (const binding of this.shaderLayout.bindings) {
329
- // Accept both `xyz` and `xyzUniforms` as valid names for `xyzUniforms` uniform block
330
- const value = this.bindings[binding.name] || this.bindings[binding.name.replace(/Uniforms$/, '')];
215
+ const value = getBindingValueForLayoutBinding(bindings, binding.name);
331
216
  if (!value) {
332
217
  throw new Error(`No value for binding ${binding.name} in ${this.id}`);
333
218
  }
@@ -339,19 +224,13 @@ export class WEBGLRenderPipeline extends RenderPipeline {
339
224
  if (location === 4294967295) {
340
225
  throw new Error(`Invalid uniform block name ${name}`);
341
226
  }
342
- gl.uniformBlockBinding(this.handle, uniformBufferIndex, location);
343
- // console.debug(binding, location);
227
+ gl.uniformBlockBinding(this.handle, location, uniformBufferIndex);
344
228
  if (value instanceof WEBGLBuffer) {
345
229
  gl.bindBufferBase(35345, uniformBufferIndex, value.handle);
346
230
  }
347
231
  else {
348
- gl.bindBufferRange(35345, uniformBufferIndex,
349
- // @ts-expect-error
350
- value.buffer.handle,
351
- // @ts-expect-error
352
- value.offset || 0,
353
- // @ts-expect-error
354
- value.size || value.buffer.byteLength - value.offset);
232
+ const bufferBinding = value;
233
+ gl.bindBufferRange(35345, uniformBufferIndex, bufferBinding.buffer.handle, bufferBinding.offset || 0, bufferBinding.size || bufferBinding.buffer.byteLength - (bufferBinding.offset || 0));
355
234
  }
356
235
  uniformBufferIndex += 1;
357
236
  break;
@@ -394,15 +273,18 @@ export class WEBGLRenderPipeline extends RenderPipeline {
394
273
  * Due to program sharing, uniforms need to be reset before every draw call
395
274
  * (though caching will avoid redundant WebGL calls)
396
275
  */
397
- _applyUniforms() {
276
+ _applyUniforms(uniforms) {
398
277
  for (const uniformLayout of this.shaderLayout.uniforms || []) {
399
278
  const { name, location, type, textureUnit } = uniformLayout;
400
- const value = this.uniforms[name] ?? textureUnit;
279
+ const value = uniforms[name] ?? textureUnit;
401
280
  if (value !== undefined) {
402
281
  setUniform(this.device.gl, location, type, value);
403
282
  }
404
283
  }
405
284
  }
285
+ _syncLinkStatus() {
286
+ this.linkStatus = this.sharedRenderPipeline.linkStatus;
287
+ }
406
288
  }
407
289
  /**
408
290
  * Merges an provided shader layout into a base shader layout
@@ -414,7 +296,8 @@ function mergeShaderLayout(baseLayout, overrideLayout) {
414
296
  // Deep clone the base layout
415
297
  const mergedLayout = {
416
298
  ...baseLayout,
417
- attributes: baseLayout.attributes.map(attribute => ({ ...attribute }))
299
+ attributes: baseLayout.attributes.map(attribute => ({ ...attribute })),
300
+ bindings: baseLayout.bindings.map(binding => ({ ...binding }))
418
301
  };
419
302
  // Merge the attributes
420
303
  for (const attribute of overrideLayout?.attributes || []) {
@@ -427,6 +310,24 @@ function mergeShaderLayout(baseLayout, overrideLayout) {
427
310
  baseAttribute.stepMode = attribute.stepMode || baseAttribute.stepMode;
428
311
  }
429
312
  }
313
+ for (const binding of overrideLayout?.bindings || []) {
314
+ const baseBinding = getShaderLayoutBindingByName(mergedLayout, binding.name);
315
+ if (!baseBinding) {
316
+ log.warn(`shader layout binding ${binding.name} not present in shader`);
317
+ continue;
318
+ }
319
+ Object.assign(baseBinding, binding);
320
+ }
430
321
  return mergedLayout;
431
322
  }
323
+ function getShaderLayoutBindingByName(shaderLayout, bindingName) {
324
+ return shaderLayout.bindings.find(binding => binding.name === bindingName ||
325
+ binding.name === `${bindingName}Uniforms` ||
326
+ `${binding.name}Uniforms` === bindingName);
327
+ }
328
+ function getBindingValueForLayoutBinding(bindings, bindingName) {
329
+ return (bindings[bindingName] ||
330
+ bindings[`${bindingName}Uniforms`] ||
331
+ bindings[bindingName.replace(/Uniforms$/, '')]);
332
+ }
432
333
  //# sourceMappingURL=webgl-render-pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-render-pipeline.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-render-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-render-pipeline.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-render-pipeline.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Sampler, SamplerProps } from '@luma.gl/core';
2
- import { GLSamplerParameters } from '@luma.gl/constants';
2
+ import { GLSamplerParameters } from '@luma.gl/webgl/constants';
3
3
  import type { WebGLDevice } from "../webgl-device.js";
4
4
  /**
5
5
  * Sampler object -
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-sampler.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-sampler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EAAK,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAC,WAAW,EAAC,2BAAwB;AAEjD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;gBAE7B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY;IAQ3C,OAAO,IAAI,IAAI;IAQf,QAAQ,IAAI,MAAM;IAI3B,4CAA4C;IAC5C,OAAO,CAAC,qBAAqB;CAgB9B"}
1
+ {"version":3,"file":"webgl-sampler.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-sampler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EAAK,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAC,WAAW,EAAC,2BAAwB;AAEjD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;gBAE7B,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY;IAQ3C,OAAO,IAAI,IAAI;IAQf,QAAQ,IAAI,MAAM;IAI3B,4CAA4C;IAC5C,OAAO,CAAC,qBAAqB;CAgB9B"}
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { Sampler } from '@luma.gl/core';
5
- import { GL } from '@luma.gl/constants';
5
+ import { GL } from '@luma.gl/webgl/constants';
6
6
  import { convertSamplerParametersToWebGL } from "../converters/sampler-parameters.js";
7
7
  /**
8
8
  * Sampler object -
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-sampler.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-sampler.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,OAAO,EAAe,MAAM,eAAe,CAAC;AACpD,OAAO,EAAC,EAAE,EAAsB,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,+BAA+B,EAAC,4CAAyC;AAGjF;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IAC9B,MAAM,CAAc;IACpB,MAAM,CAAe;IACrB,UAAU,CAAsB;IAEzC,YAAY,MAAmB,EAAE,KAAmB;QAClD,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;QAC7D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEQ,OAAO;QACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,uCAAuC;YACvC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAEQ,QAAQ;QACf,OAAO,WAAW,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7D,CAAC;IAED,4CAA4C;IACpC,qBAAqB,CAAC,UAA+B;QAC3D,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,+GAA+G;YAC/G,uEAAuE;YACvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAA4C,CAAC;YACvE,QAAQ,KAAK,EAAE,CAAC;gBACd,WAAwB;gBACxB;oBACE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC5D,MAAM;gBACR;oBACE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC5D,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"webgl-sampler.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-sampler.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,OAAO,EAAe,MAAM,eAAe,CAAC;AACpD,OAAO,EAAC,EAAE,EAAsB,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,+BAA+B,EAAC,4CAAyC;AAGjF;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IAC9B,MAAM,CAAc;IACpB,MAAM,CAAe;IACrB,UAAU,CAAsB;IAEzC,YAAY,MAAmB,EAAE,KAAmB;QAClD,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;QAC7D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEQ,OAAO;QACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,uCAAuC;YACvC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAEQ,QAAQ;QACf,OAAO,WAAW,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7D,CAAC;IAED,4CAA4C;IACpC,qBAAqB,CAAC,UAA+B;QAC3D,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,+GAA+G;YAC/G,uEAAuE;YACvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAA4C,CAAC;YACvE,QAAQ,KAAK,EAAE,CAAC;gBACd,WAAwB;gBACxB;oBACE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC5D,MAAM;gBACR;oBACE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC5D,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -13,7 +13,7 @@ export declare class WEBGLShader extends Shader {
13
13
  getCompilationInfoSync(): readonly CompilerMessage[];
14
14
  getTranslatedSource(): string | null;
15
15
  /** Compile a shader and get compilation status */
16
- protected _compile(source: string): Promise<void>;
16
+ protected _compile(source: string): void | Promise<void>;
17
17
  /** Use KHR_parallel_shader_compile extension if available */
18
18
  protected _waitForCompilationComplete(): Promise<void>;
19
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-shader.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-shader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAM,MAAM,eAAe,CAAC;AAGxE,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW;IAoB1C,OAAO,IAAI,IAAI;IAWxB,IAAI,sBAAsB,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,CAKrE;IAEc,kBAAkB,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAK/D,sBAAsB,IAAI,SAAS,eAAe,EAAE;IAKpD,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAQ7C,kDAAkD;cAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCvD,6DAA6D;cAC7C,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5D;;;;OAIG;IACH,SAAS,CAAC,qBAAqB;CAKhC"}
1
+ {"version":3,"file":"webgl-shader.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-shader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAM,MAAM,eAAe,CAAC;AAGxE,OAAO,EAAC,WAAW,EAAC,2BAAwB;AAE5C;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW;IA0B1C,OAAO,IAAI,IAAI;IAWxB,IAAI,sBAAsB,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,CAKrE;IAEc,kBAAkB,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAK/D,sBAAsB,IAAI,SAAS,eAAe,EAAE;IAKpD,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAQ7C,kDAAkD;IAClD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCxD,6DAA6D;cAC7C,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5D;;;;OAIG;IACH,SAAS,CAAC,qBAAqB;CAKhC"}
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { Shader, log } from '@luma.gl/core';
5
- import { GL } from '@luma.gl/constants';
5
+ import { GL } from '@luma.gl/webgl/constants';
6
6
  import { parseShaderCompilerLog } from "../helpers/parse-shader-compiler-log.js";
7
7
  /**
8
8
  * An immutable compiled shader program that execute portions of the GPU Pipeline
@@ -25,7 +25,13 @@ export class WEBGLShader extends Shader {
25
25
  }
26
26
  // default framebuffer handle is null, so we can't set spector metadata...
27
27
  device._setWebGLDebugMetadata(this.handle, this, { spector: this.props });
28
- this._compile(this.source);
28
+ const compilationStatus = this._compile(this.source);
29
+ if (compilationStatus && typeof compilationStatus.catch === 'function') {
30
+ compilationStatus.catch(() => {
31
+ // Ensure any async compile status errors are consumed.
32
+ this.compilationStatus = 'error';
33
+ });
34
+ }
29
35
  }
30
36
  destroy() {
31
37
  if (this.handle) {
@@ -58,7 +64,7 @@ export class WEBGLShader extends Shader {
58
64
  }
59
65
  // PRIVATE METHODS
60
66
  /** Compile a shader and get compilation status */
61
- async _compile(source) {
67
+ _compile(source) {
62
68
  source = source.startsWith('#version ') ? source : `#version 300 es\n${source}`;
63
69
  const { gl } = this.device;
64
70
  gl.shaderSource(this.handle, source);
@@ -80,11 +86,12 @@ export class WEBGLShader extends Shader {
80
86
  }
81
87
  // async case
82
88
  log.once(1, 'Shader compilation is asynchronous')();
83
- await this._waitForCompilationComplete();
84
- log.info(2, `Shader ${this.id} - async compilation complete: ${this.compilationStatus}`)();
85
- this._getCompilationStatus();
86
- // The `Shader` base class will determine if debug window should be opened based on this.compilationStatus
87
- this.debugShader();
89
+ return this._waitForCompilationComplete().then(() => {
90
+ log.info(2, `Shader ${this.id} - async compilation complete: ${this.compilationStatus}`)();
91
+ this._getCompilationStatus();
92
+ // The `Shader` base class will determine if debug window should be opened based on this.compilationStatus
93
+ this.debugShader();
94
+ });
88
95
  }
89
96
  /** Use KHR_parallel_shader_compile extension if available */
90
97
  async _waitForCompilationComplete() {
@@ -1 +1 @@
1
- {"version":3,"file":"webgl-shader.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-shader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webgl-shader.js","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-shader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { SharedRenderPipeline, type ShaderLayout, type SharedRenderPipelineProps } from '@luma.gl/core';
2
+ import type { WebGLDevice } from "../webgl-device.js";
3
+ import type { WEBGLShader } from "./webgl-shader.js";
4
+ export declare class WEBGLSharedRenderPipeline extends SharedRenderPipeline {
5
+ readonly device: WebGLDevice;
6
+ readonly handle: WebGLProgram;
7
+ readonly vs: WEBGLShader;
8
+ readonly fs: WEBGLShader;
9
+ introspectedLayout: ShaderLayout;
10
+ linkStatus: 'pending' | 'success' | 'error';
11
+ constructor(device: WebGLDevice, props: SharedRenderPipelineProps & {
12
+ handle?: WebGLProgram;
13
+ vs: WEBGLShader;
14
+ fs: WEBGLShader;
15
+ });
16
+ destroy(): void;
17
+ protected _linkShaders(): Promise<void>;
18
+ _reportLinkStatus(status: 'success' | 'link-error' | 'validation-error'): Promise<void>;
19
+ _getLinkStatus(): 'success' | 'link-error' | 'validation-error';
20
+ _initializeSamplerUniforms(): void;
21
+ _assignSamplerUniform(location: WebGLUniformLocation, activeInfo: WebGLActiveInfo, isArray: boolean, textureUnit: number): number;
22
+ _waitForLinkComplete(): Promise<void>;
23
+ }
24
+ //# sourceMappingURL=webgl-shared-render-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-shared-render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-shared-render-pipeline.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,oBAAoB,EAEpB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAC;AAIvB,OAAO,KAAK,EAAC,WAAW,EAAC,2BAAwB;AACjD,OAAO,KAAK,EAAC,WAAW,EAAC,0BAAuB;AAIhD,qBAAa,yBAA0B,SAAQ,oBAAoB;IACjE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,kBAAkB,EAAE,YAAY,CAAgD;IAChF,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAa;gBAGtD,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,yBAAyB,GAAG;QACjC,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,EAAE,EAAE,WAAW,CAAC;QAChB,EAAE,EAAE,WAAW,CAAC;KACjB;IAyBM,OAAO,IAAI,IAAI;cAYR,YAAY;IAqBtB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC7F,cAAc,IAAI,SAAS,GAAG,YAAY,GAAG,kBAAkB;IAoB/D,0BAA0B,IAAI,IAAI;IAoBlC,qBAAqB,CACnB,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM;IAgBH,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAkB5C"}