@luma.gl/webgl 9.0.0-alpha.5 → 9.0.0-alpha.51
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.
- package/LICENSE +3 -1
- package/dist/adapter/converters/device-parameters.d.ts +23 -4
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +101 -73
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts +6 -6
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +74 -111
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/shader-formats.d.ts +9 -0
- package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
- package/dist/adapter/converters/shader-formats.js +52 -0
- package/dist/adapter/converters/shader-formats.js.map +1 -0
- package/dist/adapter/converters/texture-formats.d.ts +32 -44
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +309 -346
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/converters/vertex-formats.d.ts +9 -3
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +53 -22
- package/dist/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +17 -23
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +54 -58
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +31 -22
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
- package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
- package/dist/adapter/helpers/decode-webgl-types.js +89 -0
- package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +87 -143
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +16 -11
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts +3 -2
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +51 -82
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
- package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
- package/dist/adapter/helpers/webgl-topology-utils.js +103 -0
- package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
- package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +2 -29
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +36 -44
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts +6 -9
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +26 -83
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts +19 -11
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +60 -88
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +175 -48
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +10 -20
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +63 -173
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +99 -11
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -21
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +108 -270
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +11 -21
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts +5 -5
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +18 -43
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +62 -42
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +137 -256
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
- package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-transform-feedback.js +164 -0
- package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
- package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
- package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-vertex-array.js +167 -0
- package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
- package/dist/adapter/webgl-canvas-context.d.ts +6 -7
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +10 -23
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +76 -41
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +219 -129
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.d.ts +3 -3
- package/dist/classic/accessor.d.ts.map +1 -1
- package/dist/classic/accessor.js +26 -52
- package/dist/classic/accessor.js.map +1 -1
- package/dist/classic/clear.d.ts +22 -0
- package/dist/classic/clear.d.ts.map +1 -0
- package/dist/classic/clear.js +88 -0
- package/dist/classic/clear.js.map +1 -0
- package/dist/classic/copy-and-blit.d.ts +62 -0
- package/dist/classic/copy-and-blit.d.ts.map +1 -0
- package/dist/classic/copy-and-blit.js +191 -0
- package/dist/classic/copy-and-blit.js.map +1 -0
- package/dist/classic/format-utils.d.ts +3 -0
- package/dist/classic/format-utils.d.ts.map +1 -0
- package/dist/classic/format-utils.js +37 -0
- package/dist/classic/format-utils.js.map +1 -0
- package/dist/classic/typed-array-utils.d.ts +17 -17
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +18 -39
- package/dist/classic/typed-array-utils.js.map +1 -1
- package/dist/context/context/create-browser-context.d.ts +40 -0
- package/dist/context/context/create-browser-context.d.ts.map +1 -0
- package/dist/context/context/create-browser-context.js +53 -0
- package/dist/context/context/create-browser-context.js.map +1 -0
- package/dist/context/context/create-headless-context.d.ts +9 -0
- package/dist/context/context/create-headless-context.d.ts.map +1 -0
- package/dist/context/context/create-headless-context.js +42 -0
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/webgl-checks.d.ts.map +1 -1
- package/dist/context/context/webgl-checks.js +1 -4
- package/dist/context/context/webgl-checks.js.map +1 -1
- package/dist/context/debug/spector.d.ts +1 -2
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +8 -20
- package/dist/context/debug/spector.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +15 -39
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts +9 -8
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +9 -19
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +267 -286
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfill/context-data.d.ts +13 -0
- package/dist/context/polyfill/context-data.d.ts.map +1 -0
- package/dist/context/polyfill/context-data.js +12 -0
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +37 -43
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +22 -30
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts +8 -8
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +18 -41
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +17 -87
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +26 -62
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/context/state-tracker/with-parameters.d.ts +2 -1
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +8 -10
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/dist.dev.js +8624 -0
- package/dist/index.cjs +6570 -0
- package/dist/index.d.ts +26 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -26
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist.min.js +52 -0
- package/package.json +21 -9
- package/src/adapter/converters/device-parameters.ts +144 -41
- package/src/adapter/converters/sampler-parameters.ts +103 -41
- package/src/adapter/converters/shader-formats.ts +44 -0
- package/src/adapter/converters/texture-formats.ts +268 -195
- package/src/adapter/converters/vertex-formats.ts +71 -10
- package/src/adapter/device-helpers/device-features.ts +14 -3
- package/src/adapter/device-helpers/device-limits.ts +5 -3
- package/src/adapter/device-helpers/get-device-info.ts +53 -18
- package/src/adapter/device-helpers/is-old-ie.ts +3 -0
- package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +39 -21
- package/src/adapter/helpers/get-shader-layout.ts +121 -146
- package/src/adapter/helpers/parse-shader-compiler-log.ts +24 -8
- package/src/adapter/helpers/set-uniform.ts +39 -35
- package/src/adapter/helpers/webgl-topology-utils.ts +103 -0
- package/src/adapter/objects/constants-to-keys.ts +6 -25
- package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
- package/src/adapter/objects/webgl-resource.ts +16 -23
- package/src/adapter/resources/.webgl-render-pipeline.ts.swp +0 -0
- package/src/adapter/resources/webgl-buffer.ts +67 -62
- package/src/adapter/resources/webgl-command-buffer.ts +327 -25
- package/src/adapter/resources/webgl-command-encoder.ts +20 -12
- package/src/adapter/resources/webgl-external-texture.ts +5 -2
- package/src/adapter/resources/webgl-framebuffer.ts +90 -134
- package/src/adapter/resources/webgl-render-pass.ts +166 -4
- package/src/adapter/resources/webgl-render-pipeline.ts +256 -192
- package/src/adapter/resources/webgl-sampler.ts +16 -10
- package/src/adapter/resources/webgl-shader.ts +33 -27
- package/src/adapter/resources/webgl-texture.ts +138 -99
- package/src/adapter/resources/webgl-transform-feedback.ts +202 -0
- package/src/adapter/resources/webgl-vertex-array.ts +283 -0
- package/src/adapter/webgl-canvas-context.ts +16 -14
- package/src/adapter/webgl-device.ts +328 -79
- package/src/classic/accessor.ts +8 -18
- package/src/classic/clear.ts +113 -0
- package/src/classic/copy-and-blit.ts +311 -0
- package/src/classic/format-utils.ts +46 -0
- package/src/classic/typed-array-utils.ts +21 -27
- package/src/context/context/create-browser-context.ts +140 -0
- package/src/context/context/create-headless-context.ts +51 -0
- package/src/context/context/webgl-checks.ts +3 -1
- package/src/context/debug/spector.ts +9 -6
- package/src/context/debug/webgl-developer-tools.ts +23 -15
- package/src/context/parameters/unified-parameter-api.ts +23 -14
- package/src/context/parameters/webgl-parameter-tables.ts +120 -98
- package/src/context/polyfill/context-data.ts +30 -0
- package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
- package/src/context/polyfill/polyfill-context.ts +10 -9
- package/src/context/polyfill/polyfill-table.ts +21 -16
- package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
- package/src/context/state-tracker/deep-array-equal.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +14 -11
- package/src/context/state-tracker/with-parameters.ts +13 -4
- package/src/index.ts +70 -35
- package/src/types.ts +5 -0
- package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
- package/dist/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
- package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
- package/dist/adapter/helpers/attribute-utils.js +0 -81
- package/dist/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/adapter/helpers/uniforms.d.ts +0 -26
- package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
- package/dist/adapter/helpers/uniforms.js +0 -99
- package/dist/adapter/helpers/uniforms.js.map +0 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/dist/classic/buffer.d.ts +0 -95
- package/dist/classic/buffer.d.ts.map +0 -1
- package/dist/classic/buffer.js +0 -384
- package/dist/classic/buffer.js.map +0 -1
- package/dist/context/context/context-state.d.ts +0 -18
- package/dist/context/context/context-state.d.ts.map +0 -1
- package/dist/context/context/context-state.js +0 -26
- package/dist/context/context/context-state.js.map +0 -1
- package/dist/context/context/create-context.d.ts +0 -41
- package/dist/context/context/create-context.d.ts.map +0 -1
- package/dist/context/context/create-context.js +0 -49
- package/dist/context/context/create-context.js.map +0 -1
- package/dist/context/context/device-pixels.d.ts +0 -25
- package/dist/context/context/device-pixels.d.ts.map +0 -1
- package/dist/context/context/device-pixels.js +0 -98
- package/dist/context/context/device-pixels.js.map +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -170
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -1031
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -45
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -144
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -125
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -112
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -292
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -149
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -986
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -97
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -399
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -181
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -470
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -126
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/context-state.js +0 -31
- package/dist/es5/context/context/context-state.js.map +0 -1
- package/dist/es5/context/context/create-context.js +0 -69
- package/dist/es5/context/context/create-context.js.map +0 -1
- package/dist/es5/context/context/device-pixels.js +0 -115
- package/dist/es5/context/context/device-pixels.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -54
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -133
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -135
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -166
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -211
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -44
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -276
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -10
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -6
- package/dist/es5/types/webgl.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -155
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -954
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -35
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -102
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -115
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -99
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -216
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -75
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -833
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -54
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -280
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -144
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -384
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -112
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/context-state.js +0 -26
- package/dist/esm/context/context/context-state.js.map +0 -1
- package/dist/esm/context/context/create-context.js +0 -49
- package/dist/esm/context/context/create-context.js.map +0 -1
- package/dist/esm/context/context/device-pixels.js +0 -98
- package/dist/esm/context/context/device-pixels.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -34
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -76
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -92
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -160
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -183
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -36
- package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/init.js +0 -4
- package/dist/esm/init.js.map +0 -1
- package/dist/esm/types/webgl.js +0 -2
- package/dist/esm/types/webgl.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/init.d.ts +0 -2
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -4
- package/dist/init.js.map +0 -1
- package/dist/types/webgl.d.ts +0 -145
- package/dist/types/webgl.d.ts.map +0 -1
- package/dist/types/webgl.js +0 -2
- package/dist/types/webgl.js.map +0 -1
- package/src/adapter/converters/renderbuffer-formats.ts +0 -92
- package/src/adapter/helpers/attribute-utils.ts +0 -61
- package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
- package/src/bundle.ts +0 -4
- package/src/classic/buffer.ts +0 -474
- package/src/context/context/context-state.ts +0 -41
- package/src/context/context/create-context.ts +0 -110
- package/src/context/context/device-pixels.ts +0 -152
- package/src/init.ts +0 -4
- package/src/types/webgl.ts +0 -284
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.getPrimitiveDrawMode = getPrimitiveDrawMode;
|
|
9
|
-
exports.getPrimitiveCount = getPrimitiveCount;
|
|
10
|
-
exports.getVertexCount = getVertexCount;
|
|
11
|
-
|
|
12
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
13
|
-
|
|
14
|
-
function getPrimitiveDrawMode(drawMode) {
|
|
15
|
-
switch (drawMode) {
|
|
16
|
-
case _constants.default.POINTS:
|
|
17
|
-
return _constants.default.POINTS;
|
|
18
|
-
|
|
19
|
-
case _constants.default.LINES:
|
|
20
|
-
return _constants.default.LINES;
|
|
21
|
-
|
|
22
|
-
case _constants.default.LINE_STRIP:
|
|
23
|
-
return _constants.default.LINES;
|
|
24
|
-
|
|
25
|
-
case _constants.default.LINE_LOOP:
|
|
26
|
-
return _constants.default.LINES;
|
|
27
|
-
|
|
28
|
-
case _constants.default.TRIANGLES:
|
|
29
|
-
return _constants.default.TRIANGLES;
|
|
30
|
-
|
|
31
|
-
case _constants.default.TRIANGLE_STRIP:
|
|
32
|
-
return _constants.default.TRIANGLES;
|
|
33
|
-
|
|
34
|
-
case _constants.default.TRIANGLE_FAN:
|
|
35
|
-
return _constants.default.TRIANGLES;
|
|
36
|
-
|
|
37
|
-
default:
|
|
38
|
-
throw new Error('drawMode');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function getPrimitiveCount(options) {
|
|
43
|
-
var drawMode = options.drawMode,
|
|
44
|
-
vertexCount = options.vertexCount;
|
|
45
|
-
|
|
46
|
-
switch (drawMode) {
|
|
47
|
-
case _constants.default.POINTS:
|
|
48
|
-
case _constants.default.LINE_LOOP:
|
|
49
|
-
return vertexCount;
|
|
50
|
-
|
|
51
|
-
case _constants.default.LINES:
|
|
52
|
-
return vertexCount / 2;
|
|
53
|
-
|
|
54
|
-
case _constants.default.LINE_STRIP:
|
|
55
|
-
return vertexCount - 1;
|
|
56
|
-
|
|
57
|
-
case _constants.default.TRIANGLES:
|
|
58
|
-
return vertexCount / 3;
|
|
59
|
-
|
|
60
|
-
case _constants.default.TRIANGLE_STRIP:
|
|
61
|
-
case _constants.default.TRIANGLE_FAN:
|
|
62
|
-
return vertexCount - 2;
|
|
63
|
-
|
|
64
|
-
default:
|
|
65
|
-
throw new Error('drawMode');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function getVertexCount(options) {
|
|
70
|
-
var drawMode = options.drawMode,
|
|
71
|
-
vertexCount = options.vertexCount;
|
|
72
|
-
var primitiveCount = getPrimitiveCount({
|
|
73
|
-
drawMode: drawMode,
|
|
74
|
-
vertexCount: vertexCount
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
switch (getPrimitiveDrawMode(drawMode)) {
|
|
78
|
-
case _constants.default.POINTS:
|
|
79
|
-
return primitiveCount;
|
|
80
|
-
|
|
81
|
-
case _constants.default.LINES:
|
|
82
|
-
return primitiveCount * 2;
|
|
83
|
-
|
|
84
|
-
case _constants.default.TRIANGLES:
|
|
85
|
-
return primitiveCount * 3;
|
|
86
|
-
|
|
87
|
-
default:
|
|
88
|
-
throw new Error('drawMode');
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=attribute-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapter/helpers/attribute-utils.ts"],"names":["getPrimitiveDrawMode","drawMode","GL","POINTS","LINES","LINE_STRIP","LINE_LOOP","TRIANGLES","TRIANGLE_STRIP","TRIANGLE_FAN","Error","getPrimitiveCount","options","vertexCount","getVertexCount","primitiveCount"],"mappings":";;;;;;;;;;;AAAA;;AAIO,SAASA,oBAAT,CAA8BC,QAA9B,EAAiE;AACtE,UAAQA,QAAR;AACE,SAAKC,mBAAGC,MAAR;AACE,aAAOD,mBAAGC,MAAV;;AACF,SAAKD,mBAAGE,KAAR;AACE,aAAOF,mBAAGE,KAAV;;AACF,SAAKF,mBAAGG,UAAR;AACE,aAAOH,mBAAGE,KAAV;;AACF,SAAKF,mBAAGI,SAAR;AACE,aAAOJ,mBAAGE,KAAV;;AACF,SAAKF,mBAAGK,SAAR;AACE,aAAOL,mBAAGK,SAAV;;AACF,SAAKL,mBAAGM,cAAR;AACE,aAAON,mBAAGK,SAAV;;AACF,SAAKL,mBAAGO,YAAR;AACE,aAAOP,mBAAGK,SAAV;;AACF;AACE,YAAM,IAAIG,KAAJ,CAAU,UAAV,CAAN;AAhBJ;AAkBD;;AAGM,SAASC,iBAAT,CAA2BC,OAA3B,EAAyF;AAC9F,MAAOX,QAAP,GAAgCW,OAAhC,CAAOX,QAAP;AAAA,MAAiBY,WAAjB,GAAgCD,OAAhC,CAAiBC,WAAjB;;AACA,UAAQZ,QAAR;AACE,SAAKC,mBAAGC,MAAR;AACA,SAAKD,mBAAGI,SAAR;AACE,aAAOO,WAAP;;AACF,SAAKX,mBAAGE,KAAR;AACE,aAAOS,WAAW,GAAG,CAArB;;AACF,SAAKX,mBAAGG,UAAR;AACE,aAAOQ,WAAW,GAAG,CAArB;;AACF,SAAKX,mBAAGK,SAAR;AACE,aAAOM,WAAW,GAAG,CAArB;;AACF,SAAKX,mBAAGM,cAAR;AACA,SAAKN,mBAAGO,YAAR;AACE,aAAOI,WAAW,GAAG,CAArB;;AACF;AACE,YAAM,IAAIH,KAAJ,CAAU,UAAV,CAAN;AAdJ;AAgBD;;AAGM,SAASI,cAAT,CAAwBF,OAAxB,EAAsF;AAC3F,MAAOX,QAAP,GAAgCW,OAAhC,CAAOX,QAAP;AAAA,MAAiBY,WAAjB,GAAgCD,OAAhC,CAAiBC,WAAjB;AACA,MAAME,cAAc,GAAGJ,iBAAiB,CAAC;AAACV,IAAAA,QAAQ,EAARA,QAAD;AAAWY,IAAAA,WAAW,EAAXA;AAAX,GAAD,CAAxC;;AACA,UAAQb,oBAAoB,CAACC,QAAD,CAA5B;AACE,SAAKC,mBAAGC,MAAR;AACE,aAAOY,cAAP;;AACF,SAAKb,mBAAGE,KAAR;AACE,aAAOW,cAAc,GAAG,CAAxB;;AACF,SAAKb,mBAAGK,SAAR;AACE,aAAOQ,cAAc,GAAG,CAAxB;;AACF;AACE,YAAM,IAAIL,KAAJ,CAAU,UAAV,CAAN;AARJ;AAUD","sourcesContent":["import GL from '@luma.gl/constants';\nimport {GLDrawMode, GLPrimitive} from '../../types/webgl';\n\n// Counts the number of complete primitives given a number of vertices and a drawMode\nexport function getPrimitiveDrawMode(drawMode: GLDrawMode): GLPrimitive {\n switch (drawMode) {\n case GL.POINTS:\n return GL.POINTS;\n case GL.LINES:\n return GL.LINES;\n case GL.LINE_STRIP:\n return GL.LINES;\n case GL.LINE_LOOP:\n return GL.LINES;\n case GL.TRIANGLES:\n return GL.TRIANGLES;\n case GL.TRIANGLE_STRIP:\n return GL.TRIANGLES;\n case GL.TRIANGLE_FAN:\n return GL.TRIANGLES;\n default:\n throw new Error('drawMode');\n }\n}\n\n// Counts the number of complete \"primitives\" given a number of vertices and a drawMode\nexport function getPrimitiveCount(options: {drawMode: GLDrawMode, vertexCount: number}): number {\n const {drawMode, vertexCount} = options;\n switch (drawMode) {\n case GL.POINTS:\n case GL.LINE_LOOP:\n return vertexCount;\n case GL.LINES:\n return vertexCount / 2;\n case GL.LINE_STRIP:\n return vertexCount - 1;\n case GL.TRIANGLES:\n return vertexCount / 3;\n case GL.TRIANGLE_STRIP:\n case GL.TRIANGLE_FAN:\n return vertexCount - 2;\n default:\n throw new Error('drawMode');\n }\n}\n\n// Counts the number of vertices after splitting the vertex stream into separate \"primitives\"\nexport function getVertexCount(options: {drawMode: GLDrawMode, vertexCount: number}): number {\n const {drawMode, vertexCount} = options;\n const primitiveCount = getPrimitiveCount({drawMode, vertexCount});\n switch (getPrimitiveDrawMode(drawMode)) {\n case GL.POINTS:\n return primitiveCount;\n case GL.LINES:\n return primitiveCount * 2;\n case GL.TRIANGLES:\n return primitiveCount * 3;\n default:\n throw new Error('drawMode');\n }\n}\n"],"file":"attribute-utils.js"}
|
|
@@ -1,371 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.getShaderLayout = getShaderLayout;
|
|
9
|
-
exports.getProgramBindings = getProgramBindings;
|
|
10
|
-
|
|
11
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
-
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
|
|
15
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
16
|
-
|
|
17
|
-
var _webglChecks = require("../../context/context/webgl-checks");
|
|
18
|
-
|
|
19
|
-
var _accessor = _interopRequireDefault(require("../../classic/accessor"));
|
|
20
|
-
|
|
21
|
-
var _uniforms2 = require("./uniforms");
|
|
22
|
-
|
|
23
|
-
var _vertexFormats = require("../converters/vertex-formats");
|
|
24
|
-
|
|
25
|
-
var _SAMPLER_UNIFORMS_GL_;
|
|
26
|
-
|
|
27
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
28
|
-
|
|
29
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
30
|
-
|
|
31
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
32
|
-
|
|
33
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
34
|
-
|
|
35
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
36
|
-
|
|
37
|
-
function getShaderLayout(gl, program) {
|
|
38
|
-
var _programBindings$unif, _programBindings$vary;
|
|
39
|
-
|
|
40
|
-
var programBindings = getProgramBindings(gl, program);
|
|
41
|
-
var shaderLayout = {
|
|
42
|
-
attributes: [],
|
|
43
|
-
bindings: []
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
var _iterator = _createForOfIteratorHelper(programBindings.attributes),
|
|
47
|
-
_step;
|
|
48
|
-
|
|
49
|
-
try {
|
|
50
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
51
|
-
var attribute = _step.value;
|
|
52
|
-
var format = (0, _vertexFormats.getVertexFormat)(attribute.accessor.type || _constants.default.FLOAT, attribute.accessor.size);
|
|
53
|
-
shaderLayout.attributes.push({
|
|
54
|
-
name: attribute.name,
|
|
55
|
-
location: attribute.location,
|
|
56
|
-
format: format,
|
|
57
|
-
stepMode: attribute.accessor.divisor === 1 ? 'instance' : 'vertex'
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
} catch (err) {
|
|
61
|
-
_iterator.e(err);
|
|
62
|
-
} finally {
|
|
63
|
-
_iterator.f();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
var _iterator2 = _createForOfIteratorHelper(programBindings.uniformBlocks),
|
|
67
|
-
_step2;
|
|
68
|
-
|
|
69
|
-
try {
|
|
70
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
71
|
-
var uniformBlock = _step2.value;
|
|
72
|
-
|
|
73
|
-
var _uniforms = uniformBlock.uniforms.map(function (uniform) {
|
|
74
|
-
return {
|
|
75
|
-
name: uniform.name,
|
|
76
|
-
format: uniform.format,
|
|
77
|
-
byteOffset: uniform.byteOffset,
|
|
78
|
-
byteStride: uniform.byteStride,
|
|
79
|
-
arrayLength: uniform.arrayLength
|
|
80
|
-
};
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
shaderLayout.bindings.push({
|
|
84
|
-
type: 'uniform',
|
|
85
|
-
name: uniformBlock.name,
|
|
86
|
-
location: uniformBlock.location,
|
|
87
|
-
visibility: (uniformBlock.vertex ? 0x1 : 0) & (uniformBlock.fragment ? 0x2 : 0),
|
|
88
|
-
minBindingSize: uniformBlock.byteLength,
|
|
89
|
-
uniforms: _uniforms
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
} catch (err) {
|
|
93
|
-
_iterator2.e(err);
|
|
94
|
-
} finally {
|
|
95
|
-
_iterator2.f();
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
var textureUnit = 0;
|
|
99
|
-
|
|
100
|
-
var _iterator3 = _createForOfIteratorHelper(programBindings.uniforms),
|
|
101
|
-
_step3;
|
|
102
|
-
|
|
103
|
-
try {
|
|
104
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
105
|
-
var uniform = _step3.value;
|
|
106
|
-
|
|
107
|
-
if ((0, _uniforms2.isSamplerUniform)(uniform.type)) {
|
|
108
|
-
var _getSamplerInfo = getSamplerInfo(uniform.type),
|
|
109
|
-
viewDimension = _getSamplerInfo.viewDimension,
|
|
110
|
-
sampleType = _getSamplerInfo.sampleType;
|
|
111
|
-
|
|
112
|
-
shaderLayout.bindings.push({
|
|
113
|
-
type: 'texture',
|
|
114
|
-
name: uniform.name,
|
|
115
|
-
location: textureUnit,
|
|
116
|
-
viewDimension: viewDimension,
|
|
117
|
-
sampleType: sampleType
|
|
118
|
-
});
|
|
119
|
-
uniform.textureUnit = textureUnit;
|
|
120
|
-
textureUnit += 1;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
} catch (err) {
|
|
124
|
-
_iterator3.e(err);
|
|
125
|
-
} finally {
|
|
126
|
-
_iterator3.f();
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
var uniforms = ((_programBindings$unif = programBindings.uniforms) === null || _programBindings$unif === void 0 ? void 0 : _programBindings$unif.filter(function (uniform) {
|
|
130
|
-
return uniform.location !== null;
|
|
131
|
-
})) || [];
|
|
132
|
-
|
|
133
|
-
if (uniforms.length) {
|
|
134
|
-
shaderLayout.uniforms = uniforms;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if ((_programBindings$vary = programBindings.varyings) !== null && _programBindings$vary !== void 0 && _programBindings$vary.length) {
|
|
138
|
-
shaderLayout.varyings = programBindings.varyings;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
return shaderLayout;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function getProgramBindings(gl, program) {
|
|
145
|
-
var config = {
|
|
146
|
-
attributes: readAttributeBindings(gl, program),
|
|
147
|
-
uniforms: readUniformBindings(gl, program),
|
|
148
|
-
uniformBlocks: readUniformBlocks(gl, program),
|
|
149
|
-
varyings: readVaryings(gl, program)
|
|
150
|
-
};
|
|
151
|
-
Object.seal(config);
|
|
152
|
-
return config;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
function readAttributeBindings(gl, program) {
|
|
156
|
-
var attributes = [];
|
|
157
|
-
var count = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
|
|
158
|
-
|
|
159
|
-
for (var index = 0; index < count; index++) {
|
|
160
|
-
var _gl$getActiveAttrib = gl.getActiveAttrib(program, index),
|
|
161
|
-
name = _gl$getActiveAttrib.name,
|
|
162
|
-
compositeType = _gl$getActiveAttrib.type,
|
|
163
|
-
size = _gl$getActiveAttrib.size;
|
|
164
|
-
|
|
165
|
-
var location = gl.getAttribLocation(program, name);
|
|
166
|
-
|
|
167
|
-
if (location >= 0) {
|
|
168
|
-
var _decodeAttributeType = (0, _uniforms2.decodeAttributeType)(compositeType),
|
|
169
|
-
glType = _decodeAttributeType.glType,
|
|
170
|
-
components = _decodeAttributeType.components;
|
|
171
|
-
|
|
172
|
-
var accessor = {
|
|
173
|
-
type: glType,
|
|
174
|
-
size: size * components
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
if (/instance/i.test(name)) {
|
|
178
|
-
accessor.divisor = 1;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
var attributeInfo = {
|
|
182
|
-
location: location,
|
|
183
|
-
name: name,
|
|
184
|
-
accessor: new _accessor.default(accessor)
|
|
185
|
-
};
|
|
186
|
-
attributes.push(attributeInfo);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
attributes.sort(function (a, b) {
|
|
191
|
-
return a.location - b.location;
|
|
192
|
-
});
|
|
193
|
-
return attributes;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
function readVaryings(gl, program) {
|
|
197
|
-
if (!(0, _webglChecks.isWebGL2)(gl)) {
|
|
198
|
-
return [];
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
var gl2 = gl;
|
|
202
|
-
var varyings = [];
|
|
203
|
-
var count = gl.getProgramParameter(program, _constants.default.TRANSFORM_FEEDBACK_VARYINGS);
|
|
204
|
-
|
|
205
|
-
for (var location = 0; location < count; location++) {
|
|
206
|
-
var _gl2$getTransformFeed = gl2.getTransformFeedbackVarying(program, location),
|
|
207
|
-
name = _gl2$getTransformFeed.name,
|
|
208
|
-
compositeType = _gl2$getTransformFeed.type,
|
|
209
|
-
size = _gl2$getTransformFeed.size;
|
|
210
|
-
|
|
211
|
-
var _decodeUniformType = (0, _uniforms2.decodeUniformType)(compositeType),
|
|
212
|
-
glType = _decodeUniformType.glType,
|
|
213
|
-
components = _decodeUniformType.components;
|
|
214
|
-
|
|
215
|
-
var accessor = new _accessor.default({
|
|
216
|
-
type: glType,
|
|
217
|
-
size: size * components
|
|
218
|
-
});
|
|
219
|
-
var varying = {
|
|
220
|
-
location: location,
|
|
221
|
-
name: name,
|
|
222
|
-
accessor: accessor
|
|
223
|
-
};
|
|
224
|
-
varyings.push(varying);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
varyings.sort(function (a, b) {
|
|
228
|
-
return a.location - b.location;
|
|
229
|
-
});
|
|
230
|
-
return varyings;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
function readUniformBindings(gl, program) {
|
|
234
|
-
var uniforms = [];
|
|
235
|
-
var uniformCount = gl.getProgramParameter(program, _constants.default.ACTIVE_UNIFORMS);
|
|
236
|
-
|
|
237
|
-
for (var i = 0; i < uniformCount; i++) {
|
|
238
|
-
var _gl$getActiveUniform = gl.getActiveUniform(program, i),
|
|
239
|
-
rawName = _gl$getActiveUniform.name,
|
|
240
|
-
size = _gl$getActiveUniform.size,
|
|
241
|
-
type = _gl$getActiveUniform.type;
|
|
242
|
-
|
|
243
|
-
var _parseUniformName = parseUniformName(rawName),
|
|
244
|
-
name = _parseUniformName.name,
|
|
245
|
-
isArray = _parseUniformName.isArray;
|
|
246
|
-
|
|
247
|
-
var webglLocation = gl.getUniformLocation(program, name);
|
|
248
|
-
var uniformInfo = {
|
|
249
|
-
location: webglLocation,
|
|
250
|
-
name: name,
|
|
251
|
-
size: size,
|
|
252
|
-
type: type,
|
|
253
|
-
isArray: isArray
|
|
254
|
-
};
|
|
255
|
-
uniforms.push(uniformInfo);
|
|
256
|
-
|
|
257
|
-
if (uniformInfo.size > 1) {
|
|
258
|
-
for (var j = 0; j < uniformInfo.size; j++) {
|
|
259
|
-
var elementName = "".concat(name, "[").concat(j, "]");
|
|
260
|
-
webglLocation = gl.getUniformLocation(program, elementName);
|
|
261
|
-
|
|
262
|
-
var arrayElementUniformInfo = _objectSpread(_objectSpread({}, uniformInfo), {}, {
|
|
263
|
-
name: elementName,
|
|
264
|
-
location: webglLocation
|
|
265
|
-
});
|
|
266
|
-
|
|
267
|
-
uniforms.push(arrayElementUniformInfo);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
return uniforms;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
function readUniformBlocks(gl, program) {
|
|
276
|
-
if (!(0, _webglChecks.isWebGL2)(gl)) {
|
|
277
|
-
return [];
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
var gl2 = gl;
|
|
281
|
-
|
|
282
|
-
var getBlockParameter = function getBlockParameter(blockIndex, pname) {
|
|
283
|
-
return gl2.getActiveUniformBlockParameter(program, blockIndex, pname);
|
|
284
|
-
};
|
|
285
|
-
|
|
286
|
-
var uniformBlocks = [];
|
|
287
|
-
var blockCount = gl2.getProgramParameter(program, _constants.default.ACTIVE_UNIFORM_BLOCKS);
|
|
288
|
-
|
|
289
|
-
for (var blockIndex = 0; blockIndex < blockCount; blockIndex++) {
|
|
290
|
-
var blockInfo = {
|
|
291
|
-
name: gl2.getActiveUniformBlockName(program, blockIndex),
|
|
292
|
-
location: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_BINDING),
|
|
293
|
-
byteLength: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_DATA_SIZE),
|
|
294
|
-
vertex: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),
|
|
295
|
-
fragment: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),
|
|
296
|
-
uniformCount: getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_ACTIVE_UNIFORMS),
|
|
297
|
-
uniforms: []
|
|
298
|
-
};
|
|
299
|
-
var uniformIndices = getBlockParameter(blockIndex, _constants.default.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES);
|
|
300
|
-
var uniformType = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_TYPE);
|
|
301
|
-
var uniformArrayLength = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_SIZE);
|
|
302
|
-
var uniformBlockIndex = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_BLOCK_INDEX);
|
|
303
|
-
var uniformOffset = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_OFFSET);
|
|
304
|
-
var uniformStride = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_ARRAY_STRIDE);
|
|
305
|
-
var uniformMatrixStride = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_MATRIX_STRIDE);
|
|
306
|
-
var uniformRowMajor = gl2.getActiveUniforms(program, uniformIndices, _constants.default.UNIFORM_IS_ROW_MAJOR);
|
|
307
|
-
|
|
308
|
-
for (var i = 0; i < blockInfo.uniformCount; ++i) {
|
|
309
|
-
blockInfo.uniforms.push({
|
|
310
|
-
name: gl2.getActiveUniform(program, uniformIndices[i]).name,
|
|
311
|
-
format: (0, _uniforms2.decodeUniformType)(uniformType[i]).format,
|
|
312
|
-
type: uniformType[i],
|
|
313
|
-
arrayLength: uniformArrayLength[i],
|
|
314
|
-
byteOffset: uniformOffset[i],
|
|
315
|
-
byteStride: uniformStride[i],
|
|
316
|
-
matrixStride: uniformStride[i],
|
|
317
|
-
rowMajor: uniformRowMajor[i]
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
uniformBlocks.push(blockInfo);
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
uniformBlocks.sort(function (a, b) {
|
|
325
|
-
return a.location - b.location;
|
|
326
|
-
});
|
|
327
|
-
return uniformBlocks;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
var SAMPLER_UNIFORMS_GL_TO_GPU = (_SAMPLER_UNIFORMS_GL_ = {}, (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_2D, ['2d', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_CUBE, ['cube', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_3D, ['3d', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_2D_SHADOW, ['3d', 'depth']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_2D_ARRAY, ['2d-array', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_2D_ARRAY_SHADOW, ['2d-array', 'depth']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.SAMPLER_CUBE_SHADOW, ['cube', 'float']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.INT_SAMPLER_2D, ['2d', 'sint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.INT_SAMPLER_3D, ['3d', 'sint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.INT_SAMPLER_CUBE, ['cube', 'sint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.INT_SAMPLER_2D_ARRAY, ['2d-array', 'uint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.UNSIGNED_INT_SAMPLER_2D, ['2d', 'uint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.UNSIGNED_INT_SAMPLER_3D, ['3d', 'uint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.UNSIGNED_INT_SAMPLER_CUBE, ['cube', 'uint']), (0, _defineProperty2.default)(_SAMPLER_UNIFORMS_GL_, _constants.default.UNSIGNED_INT_SAMPLER_2D_ARRAY, ['2d-array', 'uint']), _SAMPLER_UNIFORMS_GL_);
|
|
331
|
-
|
|
332
|
-
function getSamplerInfo(type) {
|
|
333
|
-
var sampler = SAMPLER_UNIFORMS_GL_TO_GPU[type];
|
|
334
|
-
|
|
335
|
-
if (sampler) {
|
|
336
|
-
var _sampler = (0, _slicedToArray2.default)(sampler, 2),
|
|
337
|
-
viewDimension = _sampler[0],
|
|
338
|
-
sampleType = _sampler[1];
|
|
339
|
-
|
|
340
|
-
return {
|
|
341
|
-
viewDimension: viewDimension,
|
|
342
|
-
sampleType: sampleType
|
|
343
|
-
};
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
return null;
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
function parseUniformName(name) {
|
|
350
|
-
if (name[name.length - 1] !== ']') {
|
|
351
|
-
return {
|
|
352
|
-
name: name,
|
|
353
|
-
length: 1,
|
|
354
|
-
isArray: false
|
|
355
|
-
};
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
var UNIFORM_NAME_REGEXP = /([^[]*)(\[[0-9]+\])?/;
|
|
359
|
-
var matches = name.match(UNIFORM_NAME_REGEXP);
|
|
360
|
-
|
|
361
|
-
if (!matches || matches.length < 2) {
|
|
362
|
-
throw new Error("Failed to parse GLSL uniform name ".concat(name));
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
return {
|
|
366
|
-
name: matches[1],
|
|
367
|
-
length: matches[2] ? 1 : 0,
|
|
368
|
-
isArray: Boolean(matches[2])
|
|
369
|
-
};
|
|
370
|
-
}
|
|
371
|
-
//# sourceMappingURL=get-shader-layout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapter/helpers/get-shader-layout.ts"],"names":["getShaderLayout","gl","program","programBindings","getProgramBindings","shaderLayout","attributes","bindings","attribute","format","accessor","type","GL","FLOAT","size","push","name","location","stepMode","divisor","uniformBlocks","uniformBlock","uniforms","map","uniform","byteOffset","byteStride","arrayLength","visibility","vertex","fragment","minBindingSize","byteLength","textureUnit","getSamplerInfo","viewDimension","sampleType","filter","length","varyings","config","readAttributeBindings","readUniformBindings","readUniformBlocks","readVaryings","Object","seal","count","getProgramParameter","ACTIVE_ATTRIBUTES","index","getActiveAttrib","compositeType","getAttribLocation","glType","components","test","attributeInfo","Accessor","sort","a","b","gl2","TRANSFORM_FEEDBACK_VARYINGS","getTransformFeedbackVarying","varying","uniformCount","ACTIVE_UNIFORMS","i","getActiveUniform","rawName","parseUniformName","isArray","webglLocation","getUniformLocation","uniformInfo","j","elementName","arrayElementUniformInfo","getBlockParameter","blockIndex","pname","getActiveUniformBlockParameter","blockCount","ACTIVE_UNIFORM_BLOCKS","blockInfo","getActiveUniformBlockName","UNIFORM_BLOCK_BINDING","UNIFORM_BLOCK_DATA_SIZE","UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER","UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER","UNIFORM_BLOCK_ACTIVE_UNIFORMS","uniformIndices","UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES","uniformType","getActiveUniforms","UNIFORM_TYPE","uniformArrayLength","UNIFORM_SIZE","uniformBlockIndex","UNIFORM_BLOCK_INDEX","uniformOffset","UNIFORM_OFFSET","uniformStride","UNIFORM_ARRAY_STRIDE","uniformMatrixStride","UNIFORM_MATRIX_STRIDE","uniformRowMajor","UNIFORM_IS_ROW_MAJOR","matrixStride","rowMajor","SAMPLER_UNIFORMS_GL_TO_GPU","SAMPLER_2D","SAMPLER_CUBE","SAMPLER_3D","SAMPLER_2D_SHADOW","SAMPLER_2D_ARRAY","SAMPLER_2D_ARRAY_SHADOW","SAMPLER_CUBE_SHADOW","INT_SAMPLER_2D","INT_SAMPLER_3D","INT_SAMPLER_CUBE","INT_SAMPLER_2D_ARRAY","UNSIGNED_INT_SAMPLER_2D","UNSIGNED_INT_SAMPLER_3D","UNSIGNED_INT_SAMPLER_CUBE","UNSIGNED_INT_SAMPLER_2D_ARRAY","sampler","UNIFORM_NAME_REGEXP","matches","match","Error","Boolean"],"mappings":"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","sourcesContent":["import {\n ShaderLayout,\n BindingLayout,\n UniformBinding,\n UniformBlockBinding,\n ProgramBindings,\n AttributeBinding,\n VaryingBinding,\n AttributeLayout,\n AccessorObject\n} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '../../context/context/webgl-checks';\nimport Accessor from '../../classic/accessor'; // TODO - should NOT depend on classic API\nimport {decodeUniformType, decodeAttributeType} from './uniforms';\nimport {getVertexFormat} from '../converters/vertex-formats';\nimport {isSamplerUniform} from './uniforms';\n/**\n * Extract metadata describing binding information for a program's shaders\n * Note: `linkProgram()` needs to have been called\n * (although linking does not need to have been successful).\n */\nexport function getShaderLayout(gl: WebGLRenderingContext, program: WebGLProgram): ShaderLayout {\n const programBindings = getProgramBindings(gl, program);\n\n const shaderLayout: ShaderLayout = {\n attributes: [],\n bindings: []\n };\n\n for (const attribute of programBindings.attributes) {\n const format =\n // attribute.accessor.format ||\n getVertexFormat(attribute.accessor.type || GL.FLOAT, attribute.accessor.size);\n shaderLayout.attributes.push({\n name: attribute.name,\n location: attribute.location,\n format,\n stepMode: attribute.accessor.divisor === 1 ? 'instance' : 'vertex'\n });\n }\n\n // Uniform blocks\n for (const uniformBlock of programBindings.uniformBlocks) {\n const uniforms = uniformBlock.uniforms.map((uniform) => ({\n name: uniform.name,\n format: uniform.format,\n byteOffset: uniform.byteOffset,\n byteStride: uniform.byteStride,\n arrayLength: uniform.arrayLength\n }));\n shaderLayout.bindings.push({\n type: 'uniform',\n name: uniformBlock.name,\n location: uniformBlock.location,\n visibility: (uniformBlock.vertex ? 0x1 : 0) & (uniformBlock.fragment ? 0x2 : 0),\n minBindingSize: uniformBlock.byteLength,\n uniforms\n });\n }\n\n let textureUnit = 0;\n for (const uniform of programBindings.uniforms) {\n if (isSamplerUniform(uniform.type)) {\n const {viewDimension, sampleType} = getSamplerInfo(uniform.type);\n shaderLayout.bindings.push({\n type: 'texture',\n name: uniform.name,\n location: textureUnit,\n viewDimension,\n sampleType\n });\n\n // @ts-expect-error\n uniform.textureUnit = textureUnit;\n textureUnit += 1;\n }\n }\n\n const uniforms = programBindings.uniforms?.filter((uniform) => uniform.location !== null) || [];\n if (uniforms.length) {\n shaderLayout.uniforms = uniforms;\n }\n if (programBindings.varyings?.length) {\n shaderLayout.varyings = programBindings.varyings;\n }\n\n return shaderLayout;\n}\n\n/**\n * Extract metadata describing binding information for a program's shaders\n * Note: `linkProgram()` needs to have been called\n * (although linking does not need to have been successful).\n */\nexport function getProgramBindings(\n gl: WebGLRenderingContext,\n program: WebGLProgram\n): ProgramBindings {\n const config: ProgramBindings = {\n attributes: readAttributeBindings(gl, program),\n uniforms: readUniformBindings(gl, program),\n uniformBlocks: readUniformBlocks(gl, program),\n varyings: readVaryings(gl, program)\n };\n\n Object.seal(config);\n return config;\n // generateWebGPUStyleBindings(bindings);\n}\n\n/**\n * Extract info about all transform feedback varyings\n *\n * linkProgram needs to have been called, although linking does not need to have been successful\n */\nfunction readAttributeBindings(\n gl: WebGLRenderingContext,\n program: WebGLProgram\n): AttributeBinding[] {\n const attributes: AttributeBinding[] = [];\n\n const count = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);\n\n for (let index = 0; index < count; index++) {\n const {name, type: compositeType, size} = gl.getActiveAttrib(program, index);\n const location = gl.getAttribLocation(program, name);\n // Add only user provided attributes, for built-in attributes like\n // `gl_InstanceID` locaiton will be < 0\n if (location >= 0) {\n const {glType, components} = decodeAttributeType(compositeType);\n const accessor: AccessorObject = {type: glType, size: size * components};\n // Any attribute name containing the word \"instance\" will be assumed to be instanced\n if (/instance/i.test(name)) {\n accessor.divisor = 1;\n }\n const attributeInfo = {location, name, accessor: new Accessor(accessor)}; // Base values\n attributes.push(attributeInfo);\n }\n }\n\n attributes.sort((a: AttributeBinding, b: AttributeBinding) => a.location - b.location);\n return attributes;\n}\n\n/**\n * Extract info about all transform feedback varyings\n *\n * linkProgram needs to have been called, although linking does not need to have been successful\n */\nfunction readVaryings(gl: WebGLRenderingContext, program: WebGLProgram): VaryingBinding[] {\n if (!isWebGL2(gl)) {\n return [];\n }\n const gl2 = gl as WebGL2RenderingContext;\n\n const varyings: VaryingBinding[] = [];\n\n const count = gl.getProgramParameter(program, GL.TRANSFORM_FEEDBACK_VARYINGS);\n for (let location = 0; location < count; location++) {\n const {name, type: compositeType, size} = gl2.getTransformFeedbackVarying(program, location);\n const {glType, components} = decodeUniformType(compositeType);\n const accessor = new Accessor({type: glType, size: size * components});\n const varying = {location, name, accessor}; // Base values\n varyings.push(varying);\n }\n\n varyings.sort((a, b) => a.location - b.location);\n return varyings;\n}\n\n/**\n * Extract info about all uniforms\n *\n * Query uniform locations and build name to setter map.\n */\nfunction readUniformBindings(gl: WebGLRenderingContext, program: WebGLProgram): UniformBinding[] {\n const uniforms: UniformBinding[] = [];\n\n const uniformCount = gl.getProgramParameter(program, GL.ACTIVE_UNIFORMS);\n for (let i = 0; i < uniformCount; i++) {\n const {name: rawName, size, type} = gl.getActiveUniform(program, i);\n const {name, isArray} = parseUniformName(rawName);\n let webglLocation = gl.getUniformLocation(program, name);\n const uniformInfo = {\n // WebGL locations are uniquely typed but just numbers\n location: webglLocation as number,\n name,\n size,\n type,\n isArray\n };\n uniforms.push(uniformInfo);\n\n // Array (e.g. matrix) uniforms can occupy several 4x4 byte banks\n if (uniformInfo.size > 1) {\n for (let j = 0; j < uniformInfo.size; j++) {\n const elementName = `${name}[${j}]`;\n\n webglLocation = gl.getUniformLocation(program, elementName);\n\n const arrayElementUniformInfo = {\n ...uniformInfo,\n name: elementName,\n location: webglLocation as number\n };\n\n uniforms.push(arrayElementUniformInfo);\n }\n }\n }\n return uniforms;\n}\n\n/**\n * Extract info about all \"active\" uniform blocks\n *\n * (\"Active\" just means that unused (aka inactive) blocks may have been\n * optimized away during linking)\n */\nfunction readUniformBlocks(\n gl: WebGLRenderingContext,\n program: WebGLProgram\n): UniformBlockBinding[] {\n if (!isWebGL2(gl)) {\n return [];\n }\n const gl2 = gl as WebGL2RenderingContext;\n\n const getBlockParameter = (blockIndex: number, pname: GL): any =>\n gl2.getActiveUniformBlockParameter(program, blockIndex, pname);\n\n const uniformBlocks: UniformBlockBinding[] = [];\n\n const blockCount = gl2.getProgramParameter(program, GL.ACTIVE_UNIFORM_BLOCKS);\n for (let blockIndex = 0; blockIndex < blockCount; blockIndex++) {\n const blockInfo = {\n name: gl2.getActiveUniformBlockName(program, blockIndex),\n location: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_BINDING),\n byteLength: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_DATA_SIZE),\n vertex: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),\n fragment: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),\n uniformCount: getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_ACTIVE_UNIFORMS),\n uniforms: [] as any[]\n };\n\n const uniformIndices = getBlockParameter(blockIndex, GL.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES);\n\n const uniformType = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_TYPE); // Array of GLenum indicating the types of the uniforms.\n const uniformArrayLength = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_SIZE); // Array of GLuint indicating the sizes of the uniforms.\n const uniformBlockIndex = gl2.getActiveUniforms(\n program,\n uniformIndices,\n GL.UNIFORM_BLOCK_INDEX\n ); // Array of GLint indicating the block indices of the uniforms.\n const uniformOffset = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_OFFSET); // Array of GLint indicating the uniform buffer offsets.\n const uniformStride = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_ARRAY_STRIDE); // Array of GLint indicating the strides between the elements.\n const uniformMatrixStride = gl2.getActiveUniforms(\n program,\n uniformIndices,\n GL.UNIFORM_MATRIX_STRIDE\n ); // Array of GLint indicating the strides between columns of a column-major matrix or a row-major matrix.\n const uniformRowMajor = gl2.getActiveUniforms(program, uniformIndices, GL.UNIFORM_IS_ROW_MAJOR);\n for (let i = 0; i < blockInfo.uniformCount; ++i) {\n blockInfo.uniforms.push({\n name: gl2.getActiveUniform(program, uniformIndices[i]).name,\n format: decodeUniformType(uniformType[i]).format,\n type: uniformType[i],\n arrayLength: uniformArrayLength[i],\n byteOffset: uniformOffset[i],\n byteStride: uniformStride[i],\n matrixStride: uniformStride[i],\n rowMajor: uniformRowMajor[i]\n });\n }\n\n uniformBlocks.push(blockInfo);\n }\n\n uniformBlocks.sort((a, b) => a.location - b.location);\n return uniformBlocks;\n}\n\nconst SAMPLER_UNIFORMS_GL_TO_GPU: Record<\n number,\n [\n '1d' | '2d' | '2d-array' | 'cube' | 'cube-array' | '3d',\n 'float' | 'unfilterable-float' | 'depth' | 'sint' | 'uint'\n ]\n> = {\n [GL.SAMPLER_2D]: ['2d', 'float'],\n [GL.SAMPLER_CUBE]: ['cube', 'float'],\n [GL.SAMPLER_3D]: ['3d', 'float'],\n [GL.SAMPLER_2D_SHADOW]: ['3d', 'depth'],\n [GL.SAMPLER_2D_ARRAY]: ['2d-array', 'float'],\n [GL.SAMPLER_2D_ARRAY_SHADOW]: ['2d-array', 'depth'],\n [GL.SAMPLER_CUBE_SHADOW]: ['cube', 'float'],\n [GL.INT_SAMPLER_2D]: ['2d', 'sint'],\n [GL.INT_SAMPLER_3D]: ['3d', 'sint'],\n [GL.INT_SAMPLER_CUBE]: ['cube', 'sint'],\n [GL.INT_SAMPLER_2D_ARRAY]: ['2d-array', 'uint'],\n [GL.UNSIGNED_INT_SAMPLER_2D]: ['2d', 'uint'],\n [GL.UNSIGNED_INT_SAMPLER_3D]: ['3d', 'uint'],\n [GL.UNSIGNED_INT_SAMPLER_CUBE]: ['cube', 'uint'],\n [GL.UNSIGNED_INT_SAMPLER_2D_ARRAY]: ['2d-array', 'uint']\n};\n\nfunction getSamplerInfo(type: GL):\n | {\n viewDimension: '1d' | '2d' | '2d-array' | 'cube' | 'cube-array' | '3d';\n sampleType: 'float' | 'unfilterable-float' | 'depth' | 'sint' | 'uint';\n }\n | undefined {\n let sampler = SAMPLER_UNIFORMS_GL_TO_GPU[type];\n if (sampler) {\n const [viewDimension, sampleType] = sampler;\n return {viewDimension, sampleType};\n }\n return null;\n}\n\n// HELPERS\n\nfunction parseUniformName(name: string): {name: string; length: number; isArray: boolean} {\n // Shortcut to avoid redundant or bad matches\n if (name[name.length - 1] !== ']') {\n return {\n name,\n length: 1,\n isArray: false\n };\n }\n\n // if array name then clean the array brackets\n const UNIFORM_NAME_REGEXP = /([^[]*)(\\[[0-9]+\\])?/;\n const matches = name.match(UNIFORM_NAME_REGEXP);\n if (!matches || matches.length < 2) {\n throw new Error(`Failed to parse GLSL uniform name ${name}`);\n }\n\n return {\n name: matches[1],\n length: matches[2] ? 1 : 0,\n isArray: Boolean(matches[2])\n };\n}\n\n/**\n * TODO - verify this is a copy of above and delete\n * import type {TextureFormat} from '@luma.gl/api';\n* Extract info about all \"active\" uniform blocks\n * (\"Active\" just means that unused (inactive) blocks may have been optimized away during linking)\n *\n function getUniformBlockBindings(gl, program): Binding[] {\n if (!isWebGL2(gl)) {\n return;\n }\n const bindings: Binding[] = [];\n const count = gl.getProgramParameter(program, gl.ACTIVE_UNIFORM_BLOCKS);\n for (let blockIndex = 0; blockIndex < count; blockIndex++) {\n const vertex = gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),\n const fragment = gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),\n const visibility = (vertex) + (fragment);\n const binding: BufferBinding = {\n location: gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_BINDING),\n // name: gl.getActiveUniformBlockName(program, blockIndex),\n type: 'uniform',\n visibility,\n minBindingSize: gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_DATA_SIZE),\n // uniformCount: gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORMS),\n // uniformIndices: gl.getActiveUniformBlockParameter(program, blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES),\n }\n bindings.push(binding);\n }\n return bindings;\n}\n\nfunction setBindings(gl2: WebGL2RenderingContext, program: WebGLProgram, bindings: Binding[][]): void {\n for (const bindGroup of bindings) {\n for (const binding of bindGroup) {\n\n }\n }\n\n // Set up indirection table\n // this.gl2.uniformBlockBinding(this.handle, blockIndex, blockBinding);\n}\n */\n"],"file":"get-shader-layout.js"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.parseShaderCompilerLog = parseShaderCompilerLog;
|
|
9
|
-
|
|
10
|
-
var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
|
|
11
|
-
|
|
12
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
13
|
-
|
|
14
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
|
-
|
|
16
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
17
|
-
|
|
18
|
-
var MESSAGE_TYPES = ['warning', 'error', 'info'];
|
|
19
|
-
|
|
20
|
-
function parseShaderCompilerLog(errLog) {
|
|
21
|
-
var lines = errLog.split(/\r?\n/);
|
|
22
|
-
var messages = [];
|
|
23
|
-
|
|
24
|
-
var _iterator = _createForOfIteratorHelper(lines),
|
|
25
|
-
_step;
|
|
26
|
-
|
|
27
|
-
try {
|
|
28
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
29
|
-
var line = _step.value;
|
|
30
|
-
|
|
31
|
-
if (line.length <= 1) {
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
var segments = line.split(':');
|
|
36
|
-
|
|
37
|
-
var _segments = (0, _toArray2.default)(segments),
|
|
38
|
-
messageType = _segments[0],
|
|
39
|
-
linePosition = _segments[1],
|
|
40
|
-
lineNumber = _segments[2],
|
|
41
|
-
rest = _segments.slice(3);
|
|
42
|
-
|
|
43
|
-
var lineNum = parseInt(lineNumber, 10);
|
|
44
|
-
|
|
45
|
-
if (isNaN(lineNum)) {
|
|
46
|
-
lineNum = 0;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
var linePos = parseInt(linePosition, 10);
|
|
50
|
-
|
|
51
|
-
if (isNaN(linePos)) {
|
|
52
|
-
linePos = 0;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
var lowerCaseType = messageType.toLowerCase();
|
|
56
|
-
var type = MESSAGE_TYPES.includes(lowerCaseType) ? lowerCaseType : 'info';
|
|
57
|
-
messages.push({
|
|
58
|
-
message: rest.join(':').trim(),
|
|
59
|
-
type: type,
|
|
60
|
-
lineNum: lineNum,
|
|
61
|
-
linePos: linePos
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
} catch (err) {
|
|
65
|
-
_iterator.e(err);
|
|
66
|
-
} finally {
|
|
67
|
-
_iterator.f();
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return messages;
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=parse-shader-compiler-log.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapter/helpers/parse-shader-compiler-log.ts"],"names":["MESSAGE_TYPES","parseShaderCompilerLog","errLog","lines","split","messages","line","length","segments","messageType","linePosition","lineNumber","rest","lineNum","parseInt","isNaN","linePos","lowerCaseType","toLowerCase","type","includes","push","message","join","trim"],"mappings":";;;;;;;;;;;;;;;;;AAGA,IAAMA,aAAa,GAAG,CAAC,SAAD,EAAY,OAAZ,EAAqB,MAArB,CAAtB;;AAOO,SAASC,sBAAT,CAAgCC,MAAhC,EAA6E;AAElF,MAAMC,KAAK,GAAGD,MAAM,CAACE,KAAP,CAAa,OAAb,CAAd;AAEA,MAAMC,QAA2B,GAAG,EAApC;;AAJkF,6CAM/DF,KAN+D;AAAA;;AAAA;AAMlF,wDAA0B;AAAA,UAAfG,IAAe;;AACxB,UAAIA,IAAI,CAACC,MAAL,IAAe,CAAnB,EAAsB;AACpB;AACD;;AAED,UAAMC,QAAkB,GAAGF,IAAI,CAACF,KAAL,CAAW,GAAX,CAA3B;;AACA,6CAAyDI,QAAzD;AAAA,UAAOC,WAAP;AAAA,UAAoBC,YAApB;AAAA,UAAkCC,UAAlC;AAAA,UAAiDC,IAAjD;;AAEA,UAAIC,OAAO,GAAGC,QAAQ,CAACH,UAAD,EAAa,EAAb,CAAtB;;AACA,UAAII,KAAK,CAACF,OAAD,CAAT,EAAoB;AAClBA,QAAAA,OAAO,GAAG,CAAV;AACD;;AAED,UAAIG,OAAO,GAAGF,QAAQ,CAACJ,YAAD,EAAe,EAAf,CAAtB;;AACA,UAAIK,KAAK,CAACC,OAAD,CAAT,EAAoB;AAClBA,QAAAA,OAAO,GAAG,CAAV;AACD;;AAGD,UAAMC,aAAa,GAAGR,WAAW,CAACS,WAAZ,EAAtB;AACA,UAAMC,IAAI,GAAInB,aAAa,CAACoB,QAAd,CAAuBH,aAAvB,IAAwCA,aAAxC,GAAwD,MAAtE;AAEAZ,MAAAA,QAAQ,CAACgB,IAAT,CAAc;AACZC,QAAAA,OAAO,EAAEV,IAAI,CAACW,IAAL,CAAU,GAAV,EAAeC,IAAf,EADG;AAEZL,QAAAA,IAAI,EAAJA,IAFY;AAGZN,QAAAA,OAAO,EAAPA,OAHY;AAIZG,QAAAA,OAAO,EAAPA;AAJY,OAAd;AAMD;AAlCiF;AAAA;AAAA;AAAA;AAAA;;AAoClF,SAAOX,QAAP;AACD","sourcesContent":["// luma.gl, MIT license\nimport type {CompilerMessage} from '@luma.gl/shadertools';\n\nconst MESSAGE_TYPES = ['warning', 'error', 'info'];\n\n/**\n * Parse a WebGL-format GLSL compilation log into an array of WebGPU style message records.\n * This follows documented WebGL conventions for compilation logs.\n * Based on https://github.com/wwwtyro/gl-format-compiler-error (public domain)\n */\nexport function parseShaderCompilerLog(errLog: string) : readonly CompilerMessage[] {\n // Parse the error - note: browser and driver dependent\n const lines = errLog.split(/\\r?\\n/);\n\n const messages: CompilerMessage[] = [];\n\n for (const line of lines) {\n if (line.length <= 1) {\n continue;\n }\n\n const segments: string[] = line.split(':');\n const [messageType, linePosition, lineNumber, ...rest] = segments;\n\n let lineNum = parseInt(lineNumber, 10);\n if (isNaN(lineNum)) {\n lineNum = 0;\n }\n\n let linePos = parseInt(linePosition, 10);\n if (isNaN(linePos)) {\n linePos = 0;\n }\n\n // Ensure supported type\n const lowerCaseType = messageType.toLowerCase();\n const type = (MESSAGE_TYPES.includes(lowerCaseType) ? lowerCaseType : 'info') as 'warning' | 'error' | 'info';\n\n messages.push({\n message: rest.join(':').trim(),\n type,\n lineNum,\n linePos // TODO\n })\n }\n\n return messages;\n}\n"],"file":"parse-shader-compiler-log.js"}
|