@luma.gl/webgl 9.0.0-alpha.16 → 9.0.0-alpha.17
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/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +117 -200
- package/dist/adapter/converters/device-parameters.js.map +1 -0
- package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
- package/dist/adapter/converters/renderbuffer-formats.js +172 -62
- package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +151 -149
- package/dist/adapter/converters/sampler-parameters.js.map +1 -0
- package/dist/adapter/converters/texture-formats.d.ts +2 -2
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +847 -438
- package/dist/adapter/converters/texture-formats.js.map +1 -0
- package/dist/adapter/converters/vertex-formats.js +24 -15
- package/dist/adapter/converters/vertex-formats.js.map +1 -0
- package/dist/adapter/device-helpers/device-features.js +84 -120
- package/dist/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +83 -88
- package/dist/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/adapter/device-helpers/get-device-info.js +37 -42
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/adapter/device-helpers/is-old-ie.js +8 -10
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/adapter/helpers/attribute-utils.js +57 -50
- package/dist/adapter/helpers/attribute-utils.js.map +1 -0
- package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-info.js +19 -21
- package/dist/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.js +251 -310
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
- package/dist/adapter/helpers/parse-shader-compiler-log.js +26 -32
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +80 -67
- package/dist/adapter/helpers/set-uniform.js.map +1 -0
- package/dist/adapter/helpers/uniforms.js +75 -80
- package/dist/adapter/helpers/uniforms.js.map +1 -0
- package/dist/adapter/objects/constants-to-keys.js +26 -33
- package/dist/adapter/objects/constants-to-keys.js.map +1 -0
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +70 -67
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +158 -213
- package/dist/adapter/objects/webgl-resource.js.map +1 -0
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +66 -74
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +118 -150
- package/dist/adapter/resources/webgl-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +41 -40
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-encoder.js +37 -26
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
- package/dist/adapter/resources/webgl-external-texture.js +1 -91
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
- package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +198 -231
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pass.js +11 -8
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +289 -316
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
- package/dist/adapter/resources/webgl-sampler.js +35 -42
- package/dist/adapter/resources/webgl-sampler.js.map +1 -0
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +53 -57
- package/dist/adapter/resources/webgl-shader.js.map +1 -0
- package/dist/adapter/resources/webgl-texture.d.ts +4 -4
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +697 -661
- package/dist/adapter/resources/webgl-texture.js.map +1 -0
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +35 -55
- package/dist/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/adapter/webgl-device.d.ts +5 -0
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +270 -287
- package/dist/adapter/webgl-device.js.map +1 -0
- package/dist/classic/accessor.js +103 -120
- package/dist/classic/accessor.js.map +1 -0
- package/dist/classic/buffer.d.ts +1 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +300 -325
- package/dist/classic/buffer.js.map +1 -0
- package/dist/classic/typed-array-utils.d.ts +1 -1
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +81 -91
- package/dist/classic/typed-array-utils.js.map +1 -0
- package/dist/context/context/create-browser-context.d.ts +3 -1
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +49 -66
- package/dist/context/context/create-browser-context.js.map +1 -0
- package/dist/context/context/create-headless-context.d.ts +1 -1
- package/dist/context/context/create-headless-context.d.ts.map +1 -1
- package/dist/context/context/create-headless-context.js +30 -24
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/webgl-checks.js +17 -25
- package/dist/context/context/webgl-checks.js.map +1 -0
- package/dist/context/debug/spector.d.ts +3 -1
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +50 -53
- package/dist/context/debug/spector.js.map +1 -0
- package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +76 -107
- package/dist/context/debug/webgl-developer-tools.js.map +1 -0
- package/dist/context/parameters/unified-parameter-api.js +46 -93
- package/dist/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +404 -462
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/context/polyfill/context-data.js +10 -16
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.js +71 -91
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/context/polyfill/polyfill-context.js +73 -75
- package/dist/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +116 -133
- package/dist/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +227 -255
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/context/state-tracker/deep-array-equal.js +14 -16
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +127 -183
- package/dist/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +29 -43
- package/dist/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/dist.dev.js +9205 -0
- package/dist/index.cjs +5948 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -41
- package/dist/index.js.map +1 -0
- package/dist/types/webgl.d.ts +16 -16
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js +1 -0
- package/dist/types/webgl.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/dist.min.js +36 -0
- package/package.json +18 -9
- package/src/.DS_Store +0 -0
- package/src/adapter/.DS_Store +0 -0
- package/src/adapter/converters/device-parameters.ts +5 -2
- package/src/adapter/converters/sampler-parameters.ts +4 -2
- package/src/adapter/converters/texture-formats.ts +3 -1
- package/src/adapter/device-helpers/get-device-info.ts +8 -8
- package/src/adapter/helpers/get-shader-info.ts +1 -1
- package/src/adapter/helpers/get-shader-layout.ts +4 -4
- package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
- package/src/adapter/helpers/set-uniform.ts +2 -0
- package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
- package/src/adapter/objects/webgl-resource.ts +1 -1
- package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
- package/src/adapter/resources/webgl-buffer.ts +5 -5
- package/src/adapter/resources/webgl-command-encoder.ts +1 -1
- package/src/adapter/resources/webgl-framebuffer.ts +3 -4
- package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
- package/src/adapter/resources/webgl-shader.ts +1 -1
- package/src/adapter/resources/webgl-texture.ts +8 -9
- package/src/adapter/webgl-canvas-context.ts +2 -2
- package/src/adapter/webgl-device.ts +12 -2
- package/src/classic/accessor.ts +1 -1
- package/src/classic/buffer.ts +3 -3
- package/src/classic/typed-array-utils.ts +1 -1
- package/src/context/.DS_Store +0 -0
- package/src/context/context/create-browser-context.ts +4 -2
- package/src/context/context/create-headless-context.ts +2 -2
- package/src/context/debug/spector.ts +5 -4
- package/src/context/debug/webgl-developer-tools.ts +1 -0
- package/src/context/polyfill/polyfill-table.ts +1 -0
- package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +6 -5
- package/src/context/state-tracker/with-parameters.ts +1 -1
- package/src/index.ts +1 -5
- package/src/types/webgl.ts +2 -0
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -4
- package/dist/dist.min.js +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -139
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -151
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -182
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -950
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -36
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -121
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -54
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -49
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -15
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -69
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-info.js +0 -31
- package/dist/es5/adapter/helpers/get-shader-info.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -311
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -54
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -92
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -88
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -43
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -122
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -233
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -109
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -196
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -70
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -80
- 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 -275
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -45
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -385
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -75
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -111
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -826
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -72
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -387
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -151
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -398
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -99
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/create-browser-context.js +0 -66
- package/dist/es5/context/context/create-browser-context.js.map +0 -1
- package/dist/es5/context/context/create-headless-context.js +0 -47
- package/dist/es5/context/context/create-headless-context.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -44
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -99
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -146
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -76
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -346
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/context-data.js +0 -18
- package/dist/es5/context/polyfill/context-data.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -69
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -109
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -143
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -271
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -23
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -167
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -40
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -249
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -7
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -5
- 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 -137
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -181
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -172
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -901
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -29
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -95
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -88
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -42
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -9
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -64
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-info.js +0 -25
- package/dist/esm/adapter/helpers/get-shader-info.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -282
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -30
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -85
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -89
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -35
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -78
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -163
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -74
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -134
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -50
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -41
- 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 -207
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -14
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -311
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -42
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -62
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -714
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -41
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -276
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -120
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -327
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -92
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/create-browser-context.js +0 -53
- package/dist/esm/context/context/create-browser-context.js.map +0 -1
- package/dist/esm/context/context/create-headless-context.js +0 -39
- package/dist/esm/context/context/create-headless-context.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -31
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -64
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -97
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -55
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -427
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/context-data.js +0 -12
- package/dist/esm/context/polyfill/context-data.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -86
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -84
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -138
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -265
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -17
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -148
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -34
- 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 -3
- package/src/bundle.ts +0 -4
- package/src/init.ts +0 -4
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.getParameterPolyfill = getParameterPolyfill;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
10
|
-
var _webglChecks = require("../context/webgl-checks");
|
|
11
|
-
var _WEBGL_PARAMETERS;
|
|
12
|
-
var OES_element_index = 'OES_element_index';
|
|
13
|
-
var WEBGL_draw_buffers = 'WEBGL_draw_buffers';
|
|
14
|
-
var EXT_disjoint_timer_query = 'EXT_disjoint_timer_query';
|
|
15
|
-
var EXT_disjoint_timer_query_webgl2 = 'EXT_disjoint_timer_query_webgl2';
|
|
16
|
-
var EXT_texture_filter_anisotropic = 'EXT_texture_filter_anisotropic';
|
|
17
|
-
var WEBGL_debug_renderer_info = 'WEBGL_debug_renderer_info';
|
|
18
|
-
var GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8b8b;
|
|
19
|
-
var GL_DONT_CARE = 0x1100;
|
|
20
|
-
var GL_GPU_DISJOINT_EXT = 0x8fbb;
|
|
21
|
-
var GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84ff;
|
|
22
|
-
var GL_UNMASKED_VENDOR_WEBGL = 0x9245;
|
|
23
|
-
var GL_UNMASKED_RENDERER_WEBGL = 0x9246;
|
|
24
|
-
var getWebGL2ValueOrZero = function getWebGL2ValueOrZero(gl) {
|
|
25
|
-
return !(0, _webglChecks.isWebGL2)(gl) ? 0 : undefined;
|
|
26
|
-
};
|
|
27
|
-
var WEBGL_PARAMETERS = (_WEBGL_PARAMETERS = {}, (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.READ_BUFFER, function (gl) {
|
|
28
|
-
return !(0, _webglChecks.isWebGL2)(gl) ? _constants.default.COLOR_ATTACHMENT0 : undefined;
|
|
29
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, GL_FRAGMENT_SHADER_DERIVATIVE_HINT, function (gl) {
|
|
30
|
-
return !(0, _webglChecks.isWebGL2)(gl) ? GL_DONT_CARE : undefined;
|
|
31
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.RASTERIZER_DISCARD, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.SAMPLES, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, GL_GPU_DISJOINT_EXT, function (gl, getParameter) {
|
|
32
|
-
var ext = (0, _webglChecks.isWebGL2)(gl) ? gl.getExtension(EXT_disjoint_timer_query_webgl2) : gl.getExtension(EXT_disjoint_timer_query);
|
|
33
|
-
return ext && ext.GPU_DISJOINT_EXT ? getParameter(ext.GPU_DISJOINT_EXT) : 0;
|
|
34
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, GL_UNMASKED_VENDOR_WEBGL, function (gl, getParameter) {
|
|
35
|
-
var ext = gl.getExtension(WEBGL_debug_renderer_info);
|
|
36
|
-
return getParameter(ext && ext.UNMASKED_VENDOR_WEBGL || _constants.default.VENDOR);
|
|
37
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, GL_UNMASKED_RENDERER_WEBGL, function (gl, getParameter) {
|
|
38
|
-
var ext = gl.getExtension(WEBGL_debug_renderer_info);
|
|
39
|
-
return getParameter(ext && ext.UNMASKED_RENDERER_WEBGL || _constants.default.RENDERER);
|
|
40
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, function (gl, getParameter) {
|
|
41
|
-
var _gl$luma, _gl$luma$extensions;
|
|
42
|
-
var ext = ((_gl$luma = gl.luma) === null || _gl$luma === void 0 ? void 0 : (_gl$luma$extensions = _gl$luma.extensions) === null || _gl$luma$extensions === void 0 ? void 0 : _gl$luma$extensions[EXT_texture_filter_anisotropic]) || gl.getExtension('EXT_texture_filter_anisotropic');
|
|
43
|
-
return ext ? getParameter(ext.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 1.0;
|
|
44
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_3D_TEXTURE_SIZE, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_ARRAY_TEXTURE_LAYERS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_CLIENT_WAIT_TIMEOUT_WEBGL, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_COLOR_ATTACHMENTS, function (gl, getParameter) {
|
|
45
|
-
if (!(0, _webglChecks.isWebGL2)(gl)) {
|
|
46
|
-
var ext = gl.getExtension(WEBGL_draw_buffers);
|
|
47
|
-
return ext ? getParameter(ext.MAX_COLOR_ATTACHMENTS_WEBGL) : 0;
|
|
48
|
-
}
|
|
49
|
-
return undefined;
|
|
50
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_COMBINED_UNIFORM_BLOCKS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_DRAW_BUFFERS, function (gl) {
|
|
51
|
-
if (!(0, _webglChecks.isWebGL2)(gl)) {
|
|
52
|
-
var ext = gl.getExtension(WEBGL_draw_buffers);
|
|
53
|
-
return ext ? ext.MAX_DRAW_BUFFERS_WEBGL : 0;
|
|
54
|
-
}
|
|
55
|
-
return undefined;
|
|
56
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_ELEMENT_INDEX, function (gl) {
|
|
57
|
-
return gl.getExtension(OES_element_index) ? 2147483647 : 65535;
|
|
58
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_ELEMENTS_INDICES, function (gl) {
|
|
59
|
-
return gl.getExtension(OES_element_index) ? 16777216 : 65535;
|
|
60
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_ELEMENTS_VERTICES, function (gl) {
|
|
61
|
-
return 16777216;
|
|
62
|
-
}), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_FRAGMENT_INPUT_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_FRAGMENT_UNIFORM_BLOCKS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_FRAGMENT_UNIFORM_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_SAMPLES, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_SERVER_WAIT_TIMEOUT, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_TEXTURE_LOD_BIAS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_UNIFORM_BLOCK_SIZE, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_UNIFORM_BUFFER_BINDINGS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_VARYING_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_VERTEX_OUTPUT_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_VERTEX_UNIFORM_BLOCKS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_VERTEX_UNIFORM_COMPONENTS, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MIN_PROGRAM_TEXEL_OFFSET, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.MAX_PROGRAM_TEXEL_OFFSET, getWebGL2ValueOrZero), (0, _defineProperty2.default)(_WEBGL_PARAMETERS, _constants.default.UNIFORM_BUFFER_OFFSET_ALIGNMENT, getWebGL2ValueOrZero), _WEBGL_PARAMETERS);
|
|
63
|
-
function getParameterPolyfill(gl, originalGetParameter, pname) {
|
|
64
|
-
var limit = WEBGL_PARAMETERS[pname];
|
|
65
|
-
var value = typeof limit === 'function' ? limit(gl, originalGetParameter, pname) : limit;
|
|
66
|
-
var result = value !== undefined ? value : originalGetParameter(pname);
|
|
67
|
-
return result;
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=get-parameter-polyfill.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-parameter-polyfill.js","names":["_constants","_interopRequireDefault","require","_webglChecks","_WEBGL_PARAMETERS","OES_element_index","WEBGL_draw_buffers","EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2","EXT_texture_filter_anisotropic","WEBGL_debug_renderer_info","GL_FRAGMENT_SHADER_DERIVATIVE_HINT","GL_DONT_CARE","GL_GPU_DISJOINT_EXT","GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT","GL_UNMASKED_VENDOR_WEBGL","GL_UNMASKED_RENDERER_WEBGL","getWebGL2ValueOrZero","gl","isWebGL2","undefined","WEBGL_PARAMETERS","_defineProperty2","default","GL","READ_BUFFER","COLOR_ATTACHMENT0","RASTERIZER_DISCARD","SAMPLES","getParameter","ext","getExtension","GPU_DISJOINT_EXT","UNMASKED_VENDOR_WEBGL","VENDOR","UNMASKED_RENDERER_WEBGL","RENDERER","_gl$luma","_gl$luma$extensions","luma","extensions","MAX_TEXTURE_MAX_ANISOTROPY_EXT","MAX_3D_TEXTURE_SIZE","MAX_ARRAY_TEXTURE_LAYERS","MAX_CLIENT_WAIT_TIMEOUT_WEBGL","MAX_COLOR_ATTACHMENTS","MAX_COLOR_ATTACHMENTS_WEBGL","MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS","MAX_COMBINED_UNIFORM_BLOCKS","MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS","MAX_DRAW_BUFFERS","MAX_DRAW_BUFFERS_WEBGL","MAX_ELEMENT_INDEX","MAX_ELEMENTS_INDICES","MAX_ELEMENTS_VERTICES","MAX_FRAGMENT_INPUT_COMPONENTS","MAX_FRAGMENT_UNIFORM_BLOCKS","MAX_FRAGMENT_UNIFORM_COMPONENTS","MAX_SAMPLES","MAX_SERVER_WAIT_TIMEOUT","MAX_TEXTURE_LOD_BIAS","MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS","MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS","MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS","MAX_UNIFORM_BLOCK_SIZE","MAX_UNIFORM_BUFFER_BINDINGS","MAX_VARYING_COMPONENTS","MAX_VERTEX_OUTPUT_COMPONENTS","MAX_VERTEX_UNIFORM_BLOCKS","MAX_VERTEX_UNIFORM_COMPONENTS","MIN_PROGRAM_TEXEL_OFFSET","MAX_PROGRAM_TEXEL_OFFSET","UNIFORM_BUFFER_OFFSET_ALIGNMENT","getParameterPolyfill","originalGetParameter","pname","limit","value","result"],"sources":["../../../../src/context/polyfill/get-parameter-polyfill.ts"],"sourcesContent":["/* eslint-disable no-inline-comments, max-len, camelcase */\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '../context/webgl-checks';\n\nconst OES_element_index = 'OES_element_index';\nconst WEBGL_draw_buffers = 'WEBGL_draw_buffers';\nconst EXT_disjoint_timer_query = 'EXT_disjoint_timer_query';\nconst EXT_disjoint_timer_query_webgl2 = 'EXT_disjoint_timer_query_webgl2';\nconst EXT_texture_filter_anisotropic = 'EXT_texture_filter_anisotropic';\nconst WEBGL_debug_renderer_info = 'WEBGL_debug_renderer_info';\n\nconst GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8b8b;\nconst GL_DONT_CARE = 0x1100;\nconst GL_GPU_DISJOINT_EXT = 0x8fbb;\nconst GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84ff;\nconst GL_UNMASKED_VENDOR_WEBGL = 0x9245; // vendor string of the graphics driver.\nconst GL_UNMASKED_RENDERER_WEBGL = 0x9246; // renderer string of the graphics driver.\n\nconst getWebGL2ValueOrZero = (gl) => (!isWebGL2(gl) ? 0 : undefined);\n\n// if a function returns undefined in this table,\n// the original getParameter will be called, defeating the override\nconst WEBGL_PARAMETERS = {\n [GL.READ_BUFFER]: (gl) => (!isWebGL2(gl) ? GL.COLOR_ATTACHMENT0 : undefined),\n\n // WebGL2 context parameters\n [GL_FRAGMENT_SHADER_DERIVATIVE_HINT]: (gl) => (!isWebGL2(gl) ? GL_DONT_CARE : undefined),\n\n [GL.RASTERIZER_DISCARD]: getWebGL2ValueOrZero,\n\n [GL.SAMPLES]: getWebGL2ValueOrZero,\n\n // WebGL2 extension context parameters\n [GL_GPU_DISJOINT_EXT]: (gl: WebGLRenderingContext, getParameter) => {\n const ext = isWebGL2(gl)\n ? gl.getExtension(EXT_disjoint_timer_query_webgl2)\n : gl.getExtension(EXT_disjoint_timer_query);\n return ext && ext.GPU_DISJOINT_EXT ? getParameter(ext.GPU_DISJOINT_EXT) : 0;\n },\n\n // Extension fixed values\n [GL_UNMASKED_VENDOR_WEBGL]: (gl: WebGLRenderingContext, getParameter) => {\n const ext = gl.getExtension(WEBGL_debug_renderer_info);\n return getParameter((ext && ext.UNMASKED_VENDOR_WEBGL) || GL.VENDOR);\n },\n\n [GL_UNMASKED_RENDERER_WEBGL]: (gl: WebGLRenderingContext, getParameter) => {\n const ext = gl.getExtension(WEBGL_debug_renderer_info);\n return getParameter((ext && ext.UNMASKED_RENDERER_WEBGL) || GL.RENDERER);\n },\n\n // Extension LIMITS\n [GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT]: (gl: WebGLRenderingContext, getParameter) => {\n // @ts-ignore TODO - store these on the device instance instead...\n const ext = gl.luma?.extensions?.[EXT_texture_filter_anisotropic] ||\n gl.getExtension('EXT_texture_filter_anisotropic');\n return ext ? getParameter(ext.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 1.0;\n },\n\n // WebGL2 Limits\n [GL.MAX_3D_TEXTURE_SIZE]: getWebGL2ValueOrZero,\n [GL.MAX_ARRAY_TEXTURE_LAYERS]: getWebGL2ValueOrZero,\n [GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL]: getWebGL2ValueOrZero,\n [GL.MAX_COLOR_ATTACHMENTS]: (gl: WebGLRenderingContext, getParameter) => {\n if (!isWebGL2(gl)) {\n const ext = gl.getExtension(WEBGL_draw_buffers);\n return ext ? getParameter(ext.MAX_COLOR_ATTACHMENTS_WEBGL) : 0;\n }\n return undefined;\n },\n [GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MAX_COMBINED_UNIFORM_BLOCKS]: getWebGL2ValueOrZero,\n [GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MAX_DRAW_BUFFERS]: (gl) => {\n if (!isWebGL2(gl)) {\n const ext = gl.getExtension(WEBGL_draw_buffers);\n return ext ? ext.MAX_DRAW_BUFFERS_WEBGL : 0;\n }\n return undefined;\n },\n [GL.MAX_ELEMENT_INDEX]:\n // Guess: per webglstats.com 99.6% of webgl2 supports 2147483647\n (gl) => (gl.getExtension(OES_element_index) ? 2147483647 : 65535),\n [GL.MAX_ELEMENTS_INDICES]:\n // Guess: \"Reasonably safe\" per webglstats.com - could be higher/lower (on some mobile devices)\n (gl) => (gl.getExtension(OES_element_index) ? 16777216 : 65535),\n [GL.MAX_ELEMENTS_VERTICES]:\n // Guess: \"Reasonably safe\" per webglstats.com - could be higher/lower (on some mobile devices)\n (gl) => 16777216,\n [GL.MAX_FRAGMENT_INPUT_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MAX_FRAGMENT_UNIFORM_BLOCKS]: getWebGL2ValueOrZero,\n [GL.MAX_FRAGMENT_UNIFORM_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MAX_SAMPLES]: getWebGL2ValueOrZero,\n [GL.MAX_SERVER_WAIT_TIMEOUT]: getWebGL2ValueOrZero,\n [GL.MAX_TEXTURE_LOD_BIAS]: getWebGL2ValueOrZero,\n [GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS]: getWebGL2ValueOrZero,\n [GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MAX_UNIFORM_BLOCK_SIZE]: getWebGL2ValueOrZero,\n [GL.MAX_UNIFORM_BUFFER_BINDINGS]: getWebGL2ValueOrZero,\n [GL.MAX_VARYING_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MAX_VERTEX_OUTPUT_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MAX_VERTEX_UNIFORM_BLOCKS]: getWebGL2ValueOrZero,\n [GL.MAX_VERTEX_UNIFORM_COMPONENTS]: getWebGL2ValueOrZero,\n [GL.MIN_PROGRAM_TEXEL_OFFSET]: getWebGL2ValueOrZero,\n [GL.MAX_PROGRAM_TEXEL_OFFSET]: getWebGL2ValueOrZero,\n [GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT]: getWebGL2ValueOrZero\n};\n\n// A \"replacement\" gl.getParameter that accepts \"enums\" from extensions and WebGL2\n// and returns reasonably safe defaults\nexport function getParameterPolyfill(gl: WebGLRenderingContext, originalGetParameter, pname) {\n // Return mock limits (usually 0) for WebGL2 constants to ensure these\n // can be queries without error\n const limit = WEBGL_PARAMETERS[pname];\n const value = typeof limit === 'function' ? limit(gl, originalGetParameter, pname) : limit;\n const result = value !== undefined ? value : originalGetParameter(pname);\n return result;\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAiD,IAAAE,iBAAA;AAEjD,IAAMC,iBAAiB,GAAG,mBAAmB;AAC7C,IAAMC,kBAAkB,GAAG,oBAAoB;AAC/C,IAAMC,wBAAwB,GAAG,0BAA0B;AAC3D,IAAMC,+BAA+B,GAAG,iCAAiC;AACzE,IAAMC,8BAA8B,GAAG,gCAAgC;AACvE,IAAMC,yBAAyB,GAAG,2BAA2B;AAE7D,IAAMC,kCAAkC,GAAG,MAAM;AACjD,IAAMC,YAAY,GAAG,MAAM;AAC3B,IAAMC,mBAAmB,GAAG,MAAM;AAClC,IAAMC,iCAAiC,GAAG,MAAM;AAChD,IAAMC,wBAAwB,GAAG,MAAM;AACvC,IAAMC,0BAA0B,GAAG,MAAM;AAEzC,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,EAAE;EAAA,OAAM,CAAC,IAAAC,qBAAQ,EAACD,EAAE,CAAC,GAAG,CAAC,GAAGE,SAAS;AAAA,CAAC;AAIpE,IAAMC,gBAAgB,IAAAjB,iBAAA,WAAAkB,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACnBoB,kBAAE,CAACC,WAAW,EAAG,UAACP,EAAE;EAAA,OAAM,CAAC,IAAAC,qBAAQ,EAACD,EAAE,CAAC,GAAGM,kBAAE,CAACE,iBAAiB,GAAGN,SAAS;AAAA,CAAC,OAAAE,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAG3EO,kCAAkC,EAAG,UAACO,EAAE;EAAA,OAAM,CAAC,IAAAC,qBAAQ,EAACD,EAAE,CAAC,GAAGN,YAAY,GAAGQ,SAAS;AAAA,CAAC,OAAAE,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAEvFoB,kBAAE,CAACG,kBAAkB,EAAGV,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAE5CoB,kBAAE,CAACI,OAAO,EAAGX,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAGjCS,mBAAmB,EAAG,UAACK,EAAyB,EAAEW,YAAY,EAAK;EAClE,IAAMC,GAAG,GAAG,IAAAX,qBAAQ,EAACD,EAAE,CAAC,GACpBA,EAAE,CAACa,YAAY,CAACvB,+BAA+B,CAAC,GAChDU,EAAE,CAACa,YAAY,CAACxB,wBAAwB,CAAC;EAC7C,OAAOuB,GAAG,IAAIA,GAAG,CAACE,gBAAgB,GAAGH,YAAY,CAACC,GAAG,CAACE,gBAAgB,CAAC,GAAG,CAAC;AAC7E,CAAC,OAAAV,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAGAW,wBAAwB,EAAG,UAACG,EAAyB,EAAEW,YAAY,EAAK;EACvE,IAAMC,GAAG,GAAGZ,EAAE,CAACa,YAAY,CAACrB,yBAAyB,CAAC;EACtD,OAAOmB,YAAY,CAAEC,GAAG,IAAIA,GAAG,CAACG,qBAAqB,IAAKT,kBAAE,CAACU,MAAM,CAAC;AACtE,CAAC,OAAAZ,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAEAY,0BAA0B,EAAG,UAACE,EAAyB,EAAEW,YAAY,EAAK;EACzE,IAAMC,GAAG,GAAGZ,EAAE,CAACa,YAAY,CAACrB,yBAAyB,CAAC;EACtD,OAAOmB,YAAY,CAAEC,GAAG,IAAIA,GAAG,CAACK,uBAAuB,IAAKX,kBAAE,CAACY,QAAQ,CAAC;AAC1E,CAAC,OAAAd,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAGAU,iCAAiC,EAAG,UAACI,EAAyB,EAAEW,YAAY,EAAK;EAAA,IAAAQ,QAAA,EAAAC,mBAAA;EAEhF,IAAMR,GAAG,GAAG,EAAAO,QAAA,GAAAnB,EAAE,CAACqB,IAAI,cAAAF,QAAA,wBAAAC,mBAAA,GAAPD,QAAA,CAASG,UAAU,cAAAF,mBAAA,uBAAnBA,mBAAA,CAAsB7B,8BAA8B,CAAC,KAC/DS,EAAE,CAACa,YAAY,CAAC,gCAAgC,CAAC;EACnD,OAAOD,GAAG,GAAGD,YAAY,CAACC,GAAG,CAACW,8BAA8B,CAAC,GAAG,GAAG;AACrE,CAAC,OAAAnB,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAGAoB,kBAAE,CAACkB,mBAAmB,EAAGzB,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAC7CoB,kBAAE,CAACmB,wBAAwB,EAAG1B,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAClDoB,kBAAE,CAACoB,6BAA6B,EAAG3B,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACvDoB,kBAAE,CAACqB,qBAAqB,EAAG,UAAC3B,EAAyB,EAAEW,YAAY,EAAK;EACvE,IAAI,CAAC,IAAAV,qBAAQ,EAACD,EAAE,CAAC,EAAE;IACjB,IAAMY,GAAG,GAAGZ,EAAE,CAACa,YAAY,CAACzB,kBAAkB,CAAC;IAC/C,OAAOwB,GAAG,GAAGD,YAAY,CAACC,GAAG,CAACgB,2BAA2B,CAAC,GAAG,CAAC;EAChE;EACA,OAAO1B,SAAS;AAClB,CAAC,OAAAE,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACAoB,kBAAE,CAACuB,wCAAwC,EAAG9B,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAClEoB,kBAAE,CAACwB,2BAA2B,EAAG/B,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACrDoB,kBAAE,CAACyB,sCAAsC,EAAGhC,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAChEoB,kBAAE,CAAC0B,gBAAgB,EAAG,UAAChC,EAAE,EAAK;EAC7B,IAAI,CAAC,IAAAC,qBAAQ,EAACD,EAAE,CAAC,EAAE;IACjB,IAAMY,GAAG,GAAGZ,EAAE,CAACa,YAAY,CAACzB,kBAAkB,CAAC;IAC/C,OAAOwB,GAAG,GAAGA,GAAG,CAACqB,sBAAsB,GAAG,CAAC;EAC7C;EACA,OAAO/B,SAAS;AAClB,CAAC,OAAAE,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACAoB,kBAAE,CAAC4B,iBAAiB,EAEnB,UAAClC,EAAE;EAAA,OAAMA,EAAE,CAACa,YAAY,CAAC1B,iBAAiB,CAAC,GAAG,UAAU,GAAG,KAAK;AAAA,CAAC,OAAAiB,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAClEoB,kBAAE,CAAC6B,oBAAoB,EAEtB,UAACnC,EAAE;EAAA,OAAMA,EAAE,CAACa,YAAY,CAAC1B,iBAAiB,CAAC,GAAG,QAAQ,GAAG,KAAK;AAAA,CAAC,OAAAiB,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAChEoB,kBAAE,CAAC8B,qBAAqB,EAEvB,UAACpC,EAAE;EAAA,OAAK,QAAQ;AAAA,QAAAI,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACjBoB,kBAAE,CAAC+B,6BAA6B,EAAGtC,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACvDoB,kBAAE,CAACgC,2BAA2B,EAAGvC,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACrDoB,kBAAE,CAACiC,+BAA+B,EAAGxC,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACzDoB,kBAAE,CAACkC,WAAW,EAAGzC,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACrCoB,kBAAE,CAACmC,uBAAuB,EAAG1C,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACjDoB,kBAAE,CAACoC,oBAAoB,EAAG3C,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAC9CoB,kBAAE,CAACqC,6CAA6C,EAAG5C,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACvEoB,kBAAE,CAACsC,uCAAuC,EAAG7C,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACjEoB,kBAAE,CAACuC,0CAA0C,EAAG9C,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACpEoB,kBAAE,CAACwC,sBAAsB,EAAG/C,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAChDoB,kBAAE,CAACyC,2BAA2B,EAAGhD,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACrDoB,kBAAE,CAAC0C,sBAAsB,EAAGjD,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAChDoB,kBAAE,CAAC2C,4BAA4B,EAAGlD,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACtDoB,kBAAE,CAAC4C,yBAAyB,EAAGnD,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACnDoB,kBAAE,CAAC6C,6BAA6B,EAAGpD,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EACvDoB,kBAAE,CAAC8C,wBAAwB,EAAGrD,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAClDoB,kBAAE,CAAC+C,wBAAwB,EAAGtD,oBAAoB,OAAAK,gBAAA,CAAAC,OAAA,EAAAnB,iBAAA,EAClDoB,kBAAE,CAACgD,+BAA+B,EAAGvD,oBAAoB,GAAAb,iBAAA,CAC3D;AAIM,SAASqE,oBAAoBA,CAACvD,EAAyB,EAAEwD,oBAAoB,EAAEC,KAAK,EAAE;EAG3F,IAAMC,KAAK,GAAGvD,gBAAgB,CAACsD,KAAK,CAAC;EACrC,IAAME,KAAK,GAAG,OAAOD,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAC1D,EAAE,EAAEwD,oBAAoB,EAAEC,KAAK,CAAC,GAAGC,KAAK;EAC1F,IAAME,MAAM,GAAGD,KAAK,KAAKzD,SAAS,GAAGyD,KAAK,GAAGH,oBAAoB,CAACC,KAAK,CAAC;EACxE,OAAOG,MAAM;AACf"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.polyfillContext = polyfillContext;
|
|
7
|
-
var _api = require("@luma.gl/api");
|
|
8
|
-
var _polyfillVertexArrayObject = require("./polyfill-vertex-array-object");
|
|
9
|
-
var _polyfillTable = require("./polyfill-table");
|
|
10
|
-
var _contextData = require("./context-data");
|
|
11
|
-
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; } } }; }
|
|
12
|
-
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); }
|
|
13
|
-
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; }
|
|
14
|
-
function polyfillContext(gl) {
|
|
15
|
-
var contextState = (0, _contextData.getContextData)(gl);
|
|
16
|
-
if (!contextState._polyfilled) {
|
|
17
|
-
(0, _polyfillVertexArrayObject.polyfillVertexArrayObject)(gl);
|
|
18
|
-
initializeExtensions(gl);
|
|
19
|
-
installPolyfills(gl, _polyfillTable.WEBGL2_CONTEXT_POLYFILLS);
|
|
20
|
-
installOverrides(gl, {
|
|
21
|
-
target: contextState,
|
|
22
|
-
target2: gl
|
|
23
|
-
});
|
|
24
|
-
contextState._polyfilled = true;
|
|
25
|
-
}
|
|
26
|
-
return gl;
|
|
27
|
-
}
|
|
28
|
-
function initializeExtensions(gl) {
|
|
29
|
-
var contextState = (0, _contextData.getContextData)(gl);
|
|
30
|
-
var EXTENSIONS = gl.getSupportedExtensions() || [];
|
|
31
|
-
var _iterator = _createForOfIteratorHelper(EXTENSIONS),
|
|
32
|
-
_step;
|
|
33
|
-
try {
|
|
34
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
35
|
-
var extensionName = _step.value;
|
|
36
|
-
var extension = gl.getExtension(extensionName);
|
|
37
|
-
contextState._extensions[extensionName] = extension;
|
|
38
|
-
}
|
|
39
|
-
} catch (err) {
|
|
40
|
-
_iterator.e(err);
|
|
41
|
-
} finally {
|
|
42
|
-
_iterator.f();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function installPolyfills(gl, polyfills) {
|
|
46
|
-
var contextState = (0, _contextData.getContextData)(gl);
|
|
47
|
-
var _iterator2 = _createForOfIteratorHelper(Object.getOwnPropertyNames(polyfills)),
|
|
48
|
-
_step2;
|
|
49
|
-
try {
|
|
50
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
51
|
-
var extension = _step2.value;
|
|
52
|
-
if (extension !== 'overrides') {
|
|
53
|
-
polyfillExtension(gl, {
|
|
54
|
-
extension: extension,
|
|
55
|
-
target: contextState,
|
|
56
|
-
target2: gl
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
} catch (err) {
|
|
61
|
-
_iterator2.e(err);
|
|
62
|
-
} finally {
|
|
63
|
-
_iterator2.f();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function polyfillExtension(gl, _ref) {
|
|
67
|
-
var extension = _ref.extension,
|
|
68
|
-
target = _ref.target,
|
|
69
|
-
target2 = _ref.target2;
|
|
70
|
-
var defaults = _polyfillTable.WEBGL2_CONTEXT_POLYFILLS[extension];
|
|
71
|
-
(0, _api.assert)(defaults);
|
|
72
|
-
var _defaults$meta = defaults.meta,
|
|
73
|
-
meta = _defaults$meta === void 0 ? {} : _defaults$meta;
|
|
74
|
-
var _meta$suffix = meta.suffix,
|
|
75
|
-
suffix = _meta$suffix === void 0 ? '' : _meta$suffix;
|
|
76
|
-
var ext = gl.getExtension(extension);
|
|
77
|
-
var _loop = function _loop() {
|
|
78
|
-
var key = _Object$keys[_i];
|
|
79
|
-
var extKey = "".concat(key).concat(suffix);
|
|
80
|
-
var polyfill = null;
|
|
81
|
-
if (key === 'meta') {} else if (typeof gl[key] === 'function') {} else if (ext && typeof ext[extKey] === 'function') {
|
|
82
|
-
polyfill = function polyfill() {
|
|
83
|
-
return ext[extKey].apply(ext, arguments);
|
|
84
|
-
};
|
|
85
|
-
} else if (typeof defaults[key] === 'function') {
|
|
86
|
-
polyfill = defaults[key].bind(target);
|
|
87
|
-
}
|
|
88
|
-
if (polyfill) {
|
|
89
|
-
target[key] = polyfill;
|
|
90
|
-
target2[key] = polyfill;
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
for (var _i = 0, _Object$keys = Object.keys(defaults); _i < _Object$keys.length; _i++) {
|
|
94
|
-
_loop();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
function installOverrides(gl, _ref2) {
|
|
98
|
-
var target = _ref2.target,
|
|
99
|
-
target2 = _ref2.target2;
|
|
100
|
-
Object.keys(_polyfillTable.WEBGL2_CONTEXT_OVERRIDES).forEach(function (key) {
|
|
101
|
-
if (typeof _polyfillTable.WEBGL2_CONTEXT_OVERRIDES[key] === 'function') {
|
|
102
|
-
var originalFunc = gl[key] ? gl[key].bind(gl) : function () {};
|
|
103
|
-
var polyfill = _polyfillTable.WEBGL2_CONTEXT_OVERRIDES[key].bind(null, gl, originalFunc);
|
|
104
|
-
target[key] = polyfill;
|
|
105
|
-
target2[key] = polyfill;
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=polyfill-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polyfill-context.js","names":["_api","require","_polyfillVertexArrayObject","_polyfillTable","_contextData","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","polyfillContext","gl","contextState","getContextData","_polyfilled","polyfillVertexArrayObject","initializeExtensions","installPolyfills","WEBGL2_CONTEXT_POLYFILLS","installOverrides","target","target2","EXTENSIONS","getSupportedExtensions","_iterator","_step","extensionName","extension","getExtension","_extensions","polyfills","_iterator2","getOwnPropertyNames","_step2","polyfillExtension","_ref","defaults","assert","_defaults$meta","meta","_meta$suffix","suffix","ext","_loop","key","_Object$keys","_i","extKey","concat","polyfill","apply","arguments","bind","keys","_ref2","WEBGL2_CONTEXT_OVERRIDES","forEach","originalFunc"],"sources":["../../../../src/context/polyfill/polyfill-context.ts"],"sourcesContent":["// WebGL1/WebGL2 extension polyfill support\n//\n// Provides a function that creates polyfills for WebGL2 functions based\n// on available extensions and installs them on a supplied target (could be\n// the WebGLContext or its prototype, or a separate object).\n//\n// This is intended to be a stand-alone file with minimal dependencies,\n// easy to reuse or repurpose in other projects.\n\nimport {assert} from '@luma.gl/api';\nimport {polyfillVertexArrayObject} from './polyfill-vertex-array-object';\n\nimport {WEBGL2_CONTEXT_POLYFILLS, WEBGL2_CONTEXT_OVERRIDES} from './polyfill-table';\nimport {getContextData} from './context-data';\n\n/**\n * Registers extensions, polyfills or mock functions for extensions in the polyfills list\n */\nexport function polyfillContext(gl: WebGLRenderingContext): WebGL2RenderingContext {\n const contextState = getContextData(gl);\n\n if (!contextState._polyfilled) {\n polyfillVertexArrayObject(gl);\n initializeExtensions(gl);\n installPolyfills(gl, WEBGL2_CONTEXT_POLYFILLS);\n installOverrides(gl, {target: contextState, target2: gl});\n contextState._polyfilled = true;\n }\n\n // Note - only supports a subset of WebGL2\n return gl as WebGL2RenderingContext;\n}\n\nfunction initializeExtensions(gl: WebGLRenderingContext): void {\n const contextState = getContextData(gl);\n // `getSupportedExtensions` can return null when context is lost.\n const EXTENSIONS = gl.getSupportedExtensions() || [];\n for (const extensionName of EXTENSIONS) {\n const extension = gl.getExtension(extensionName);\n contextState._extensions[extensionName] = extension;\n }\n}\n\nfunction installPolyfills(gl: WebGLRenderingContext, polyfills): void {\n const contextState = getContextData(gl);\n for (const extension of Object.getOwnPropertyNames(polyfills)) {\n if (extension !== 'overrides') {\n polyfillExtension(gl, {extension, target: contextState, target2: gl});\n }\n }\n}\n\n/** Polyfills a single WebGL extension into the `target` object */\nfunction polyfillExtension(gl: WebGLRenderingContext, {extension, target, target2}): void {\n const defaults = WEBGL2_CONTEXT_POLYFILLS[extension];\n assert(defaults);\n\n const {meta = {}} = defaults;\n const {suffix = ''} = meta;\n\n const ext = gl.getExtension(extension);\n\n for (const key of Object.keys(defaults)) {\n const extKey = `${key}${suffix}`;\n\n let polyfill: Function | null = null;\n if (key === 'meta') {\n // ignore\n } else if (typeof gl[key] === 'function') {\n // WebGL2 implementation is already\n } else if (ext && typeof ext[extKey] === 'function') {\n // pick extension implementation,if available\n polyfill = (...args) => ext[extKey](...args);\n } else if (typeof defaults[key] === 'function') {\n // pick the mock implementation, if no implementation was detected\n polyfill = defaults[key].bind(target);\n }\n\n if (polyfill) {\n target[key] = polyfill;\n target2[key] = polyfill;\n }\n }\n}\n\n/** Install simple overrides (mostly get* functions) */\nfunction installOverrides(gl: WebGLRenderingContext, {target, target2}) {\n Object.keys(WEBGL2_CONTEXT_OVERRIDES).forEach((key) => {\n if (typeof WEBGL2_CONTEXT_OVERRIDES[key] === 'function') {\n // install an override, if no implementation was detected\n const originalFunc = gl[key] ? gl[key].bind(gl) : () => {};\n const polyfill = WEBGL2_CONTEXT_OVERRIDES[key].bind(null, gl, originalFunc);\n target[key] = polyfill;\n target2[key] = polyfill;\n }\n });\n}\n"],"mappings":"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"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.WEBGL2_CONTEXT_POLYFILLS = exports.WEBGL2_CONTEXT_OVERRIDES = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _api = require("@luma.gl/api");
|
|
10
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
11
|
-
var _webglChecks = require("../context/webgl-checks");
|
|
12
|
-
var _getParameterPolyfill = require("./get-parameter-polyfill");
|
|
13
|
-
var _contextData = require("./context-data");
|
|
14
|
-
var _WEBGL2_CONTEXT_POLYF;
|
|
15
|
-
var OES_vertex_array_object = 'OES_vertex_array_object';
|
|
16
|
-
var ANGLE_instanced_arrays = 'ANGLE_instanced_arrays';
|
|
17
|
-
var WEBGL_draw_buffers = 'WEBGL_draw_buffers';
|
|
18
|
-
var EXT_disjoint_timer_query = 'EXT_disjoint_timer_query';
|
|
19
|
-
var EXT_texture_filter_anisotropic = 'EXT_texture_filter_anisotropic';
|
|
20
|
-
var ERR_VAO_NOT_SUPPORTED = 'VertexArray requires WebGL2 or OES_vertex_array_object extension';
|
|
21
|
-
function getExtensionData(gl, extension) {
|
|
22
|
-
return {
|
|
23
|
-
webgl2: (0, _webglChecks.isWebGL2)(gl),
|
|
24
|
-
ext: gl.getExtension(extension)
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
var WEBGL2_CONTEXT_POLYFILLS = (_WEBGL2_CONTEXT_POLYF = {}, (0, _defineProperty2.default)(_WEBGL2_CONTEXT_POLYF, OES_vertex_array_object, {
|
|
28
|
-
meta: {
|
|
29
|
-
suffix: 'OES'
|
|
30
|
-
},
|
|
31
|
-
createVertexArray: function createVertexArray() {
|
|
32
|
-
(0, _api.assert)(false, ERR_VAO_NOT_SUPPORTED);
|
|
33
|
-
},
|
|
34
|
-
deleteVertexArray: function deleteVertexArray() {},
|
|
35
|
-
bindVertexArray: function bindVertexArray() {},
|
|
36
|
-
isVertexArray: function isVertexArray() {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
}), (0, _defineProperty2.default)(_WEBGL2_CONTEXT_POLYF, ANGLE_instanced_arrays, {
|
|
40
|
-
meta: {
|
|
41
|
-
suffix: 'ANGLE'
|
|
42
|
-
},
|
|
43
|
-
vertexAttribDivisor: function vertexAttribDivisor(location, divisor) {
|
|
44
|
-
(0, _api.assert)(divisor === 0, 'WebGL instanced rendering not supported');
|
|
45
|
-
},
|
|
46
|
-
drawElementsInstanced: function drawElementsInstanced() {},
|
|
47
|
-
drawArraysInstanced: function drawArraysInstanced() {}
|
|
48
|
-
}), (0, _defineProperty2.default)(_WEBGL2_CONTEXT_POLYF, WEBGL_draw_buffers, {
|
|
49
|
-
meta: {
|
|
50
|
-
suffix: 'WEBGL'
|
|
51
|
-
},
|
|
52
|
-
drawBuffers: function drawBuffers() {
|
|
53
|
-
(0, _api.assert)(false);
|
|
54
|
-
}
|
|
55
|
-
}), (0, _defineProperty2.default)(_WEBGL2_CONTEXT_POLYF, EXT_disjoint_timer_query, {
|
|
56
|
-
meta: {
|
|
57
|
-
suffix: 'EXT'
|
|
58
|
-
},
|
|
59
|
-
createQuery: function createQuery() {
|
|
60
|
-
(0, _api.assert)(false);
|
|
61
|
-
},
|
|
62
|
-
deleteQuery: function deleteQuery() {
|
|
63
|
-
(0, _api.assert)(false);
|
|
64
|
-
},
|
|
65
|
-
beginQuery: function beginQuery() {
|
|
66
|
-
(0, _api.assert)(false);
|
|
67
|
-
},
|
|
68
|
-
endQuery: function endQuery() {},
|
|
69
|
-
getQuery: function getQuery(handle, pname) {
|
|
70
|
-
return this.getQueryObject(handle, pname);
|
|
71
|
-
},
|
|
72
|
-
getQueryParameter: function getQueryParameter(handle, pname) {
|
|
73
|
-
return this.getQueryObject(handle, pname);
|
|
74
|
-
},
|
|
75
|
-
getQueryObject: function getQueryObject(handle, pname) {}
|
|
76
|
-
}), _WEBGL2_CONTEXT_POLYF);
|
|
77
|
-
exports.WEBGL2_CONTEXT_POLYFILLS = WEBGL2_CONTEXT_POLYFILLS;
|
|
78
|
-
var WEBGL2_CONTEXT_OVERRIDES = {
|
|
79
|
-
readBuffer: function readBuffer(gl, originalFunc, attachment) {
|
|
80
|
-
if ((0, _webglChecks.isWebGL2)(gl)) {
|
|
81
|
-
originalFunc(attachment);
|
|
82
|
-
} else {}
|
|
83
|
-
},
|
|
84
|
-
getVertexAttrib: function getVertexAttrib(gl, originalFunc, location, pname) {
|
|
85
|
-
var _getExtensionData = getExtensionData(gl, ANGLE_instanced_arrays),
|
|
86
|
-
webgl2 = _getExtensionData.webgl2,
|
|
87
|
-
ext = _getExtensionData.ext;
|
|
88
|
-
var result;
|
|
89
|
-
switch (pname) {
|
|
90
|
-
case _constants.default.VERTEX_ATTRIB_ARRAY_INTEGER:
|
|
91
|
-
result = !webgl2 ? false : undefined;
|
|
92
|
-
break;
|
|
93
|
-
case _constants.default.VERTEX_ATTRIB_ARRAY_DIVISOR:
|
|
94
|
-
result = !webgl2 && !ext ? 0 : undefined;
|
|
95
|
-
break;
|
|
96
|
-
default:
|
|
97
|
-
}
|
|
98
|
-
return result !== undefined ? result : originalFunc(location, pname);
|
|
99
|
-
},
|
|
100
|
-
getProgramParameter: function getProgramParameter(gl, originalFunc, program, pname) {
|
|
101
|
-
if (!(0, _webglChecks.isWebGL2)(gl)) {
|
|
102
|
-
switch (pname) {
|
|
103
|
-
case _constants.default.TRANSFORM_FEEDBACK_BUFFER_MODE:
|
|
104
|
-
return _constants.default.SEPARATE_ATTRIBS;
|
|
105
|
-
case _constants.default.TRANSFORM_FEEDBACK_VARYINGS:
|
|
106
|
-
return 0;
|
|
107
|
-
case _constants.default.ACTIVE_UNIFORM_BLOCKS:
|
|
108
|
-
return 0;
|
|
109
|
-
default:
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
return originalFunc(program, pname);
|
|
113
|
-
},
|
|
114
|
-
getInternalformatParameter: function getInternalformatParameter(gl, originalFunc, target, format, pname) {
|
|
115
|
-
if (!(0, _webglChecks.isWebGL2)(gl)) {
|
|
116
|
-
switch (pname) {
|
|
117
|
-
case _constants.default.SAMPLES:
|
|
118
|
-
return new Int32Array([0]);
|
|
119
|
-
default:
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
var gl2 = gl;
|
|
123
|
-
return gl2.getInternalformatParameter(target, format, pname);
|
|
124
|
-
},
|
|
125
|
-
getTexParameter: function getTexParameter(gl, originalFunc, target, pname) {
|
|
126
|
-
switch (pname) {
|
|
127
|
-
case _constants.default.TEXTURE_MAX_ANISOTROPY_EXT:
|
|
128
|
-
var contextData = (0, _contextData.getContextData)(gl);
|
|
129
|
-
var _extensions = contextData._extensions;
|
|
130
|
-
var ext = _extensions[EXT_texture_filter_anisotropic];
|
|
131
|
-
pname = ext && ext.TEXTURE_MAX_ANISOTROPY_EXT || _constants.default.TEXTURE_MAX_ANISOTROPY_EXT;
|
|
132
|
-
break;
|
|
133
|
-
default:
|
|
134
|
-
}
|
|
135
|
-
return originalFunc(target, pname);
|
|
136
|
-
},
|
|
137
|
-
getParameter: _getParameterPolyfill.getParameterPolyfill,
|
|
138
|
-
hint: function hint(gl, originalFunc, pname, value) {
|
|
139
|
-
return originalFunc(pname, value);
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
exports.WEBGL2_CONTEXT_OVERRIDES = WEBGL2_CONTEXT_OVERRIDES;
|
|
143
|
-
//# sourceMappingURL=polyfill-table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polyfill-table.js","names":["_api","require","_constants","_interopRequireDefault","_webglChecks","_getParameterPolyfill","_contextData","_WEBGL2_CONTEXT_POLYF","OES_vertex_array_object","ANGLE_instanced_arrays","WEBGL_draw_buffers","EXT_disjoint_timer_query","EXT_texture_filter_anisotropic","ERR_VAO_NOT_SUPPORTED","getExtensionData","gl","extension","webgl2","isWebGL2","ext","getExtension","WEBGL2_CONTEXT_POLYFILLS","_defineProperty2","default","meta","suffix","createVertexArray","assert","deleteVertexArray","bindVertexArray","isVertexArray","vertexAttribDivisor","location","divisor","drawElementsInstanced","drawArraysInstanced","drawBuffers","createQuery","deleteQuery","beginQuery","endQuery","getQuery","handle","pname","getQueryObject","getQueryParameter","exports","WEBGL2_CONTEXT_OVERRIDES","readBuffer","originalFunc","attachment","getVertexAttrib","_getExtensionData","result","GL","VERTEX_ATTRIB_ARRAY_INTEGER","undefined","VERTEX_ATTRIB_ARRAY_DIVISOR","getProgramParameter","program","TRANSFORM_FEEDBACK_BUFFER_MODE","SEPARATE_ATTRIBS","TRANSFORM_FEEDBACK_VARYINGS","ACTIVE_UNIFORM_BLOCKS","getInternalformatParameter","target","format","SAMPLES","Int32Array","gl2","getTexParameter","TEXTURE_MAX_ANISOTROPY_EXT","contextData","getContextData","_extensions","getParameter","getParameterPolyfill","hint","value"],"sources":["../../../../src/context/polyfill/polyfill-table.ts"],"sourcesContent":["import {assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '../context/webgl-checks';\n\nimport {getParameterPolyfill} from './get-parameter-polyfill';\nimport {getContextData} from './context-data';\n\nconst OES_vertex_array_object = 'OES_vertex_array_object';\nconst ANGLE_instanced_arrays = 'ANGLE_instanced_arrays';\nconst WEBGL_draw_buffers = 'WEBGL_draw_buffers';\nconst EXT_disjoint_timer_query = 'EXT_disjoint_timer_query';\nconst EXT_texture_filter_anisotropic = 'EXT_texture_filter_anisotropic';\n\nconst ERR_VAO_NOT_SUPPORTED = 'VertexArray requires WebGL2 or OES_vertex_array_object extension';\n\n// Return object with webgl2 flag and an extension\nfunction getExtensionData(gl: WebGLRenderingContext, extension: string) {\n return {\n webgl2: isWebGL2(gl),\n ext: gl.getExtension(extension)\n };\n}\n\n// function mapExtensionConstant(gl: WebGLRenderingContext, constant) {\n// switch (constant) {\n// case ext.FRAGMENT_SHADER_DERIVATIVE_HINT_OES: return GL.FRAGMENT_SHADER_DERIVATIVE_HINT;\n// }\n// }\n\nexport const WEBGL2_CONTEXT_POLYFILLS = {\n // POLYFILL TABLE\n [OES_vertex_array_object]: {\n meta: {suffix: 'OES'},\n // NEW METHODS\n createVertexArray: () => {\n assert(false, ERR_VAO_NOT_SUPPORTED);\n },\n deleteVertexArray: () => {},\n bindVertexArray: () => {},\n isVertexArray: () => false\n },\n [ANGLE_instanced_arrays]: {\n meta: {\n suffix: 'ANGLE'\n // constants: {\n // VERTEX_ATTRIB_ARRAY_DIVISOR: 'VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE'\n // }\n },\n vertexAttribDivisor(location: number, divisor: number) {\n // Accept divisor 0 even if instancing is not supported (0 = no instancing)\n assert(divisor === 0, 'WebGL instanced rendering not supported');\n },\n drawElementsInstanced: () => {},\n drawArraysInstanced: () => {}\n },\n [WEBGL_draw_buffers]: {\n meta: {\n suffix: 'WEBGL'\n },\n drawBuffers: () => {\n assert(false);\n }\n },\n [EXT_disjoint_timer_query]: {\n meta: {suffix: 'EXT'},\n // WebGL1: Polyfills the WebGL2 Query API\n createQuery: () => {\n assert(false);\n },\n deleteQuery: () => {\n assert(false);\n },\n beginQuery: () => {\n assert(false);\n },\n endQuery: () => {},\n getQuery(handle, pname: string) {\n return this.getQueryObject(handle, pname);\n },\n // The WebGL1 extension uses getQueryObject rather then getQueryParameter\n getQueryParameter(handle, pname: string) {\n return this.getQueryObject(handle, pname);\n },\n getQueryObject: (handle: unknown, pname: unknown) => {}\n }\n};\n\nexport const WEBGL2_CONTEXT_OVERRIDES = {\n // Ensure readBuffer is a no-op\n readBuffer: (gl: WebGLRenderingContext, originalFunc, attachment) => {\n if (isWebGL2(gl)) {\n originalFunc(attachment);\n } else {\n // assert(attachment !== GL_COLOR_ATTACHMENT0 && attachment !== GL_FRONT);\n }\n },\n // Override for getVertexAttrib that returns sane values for non-WebGL1 constants\n getVertexAttrib: (gl: WebGLRenderingContext, originalFunc, location, pname) => {\n // const gl = this; // eslint-disable-line\n const {webgl2, ext} = getExtensionData(gl, ANGLE_instanced_arrays);\n\n let result;\n switch (pname) {\n // WebGL1 attributes will never be integer\n case GL.VERTEX_ATTRIB_ARRAY_INTEGER:\n result = !webgl2 ? false : undefined;\n break;\n // if instancing is not available, return 0 meaning divisor has not been set\n case GL.VERTEX_ATTRIB_ARRAY_DIVISOR:\n result = !webgl2 && !ext ? 0 : undefined;\n break;\n default:\n }\n\n return result !== undefined ? result : originalFunc(location, pname);\n },\n // Handle transform feedback and uniform block queries in WebGL1\n getProgramParameter: (gl: WebGLRenderingContext, originalFunc, program, pname) => {\n if (!isWebGL2(gl)) {\n switch (pname) {\n case GL.TRANSFORM_FEEDBACK_BUFFER_MODE:\n return GL.SEPARATE_ATTRIBS;\n case GL.TRANSFORM_FEEDBACK_VARYINGS:\n return 0;\n case GL.ACTIVE_UNIFORM_BLOCKS:\n return 0;\n default:\n }\n }\n return originalFunc(program, pname);\n },\n getInternalformatParameter: (gl: WebGLRenderingContext, originalFunc, target, format, pname) => {\n if (!isWebGL2(gl)) {\n switch (pname) {\n case GL.SAMPLES:\n return new Int32Array([0]);\n default:\n }\n }\n const gl2 = gl as WebGL2RenderingContext;\n return gl2.getInternalformatParameter(target, format, pname);\n },\n getTexParameter(gl, originalFunc, target, pname) {\n switch (pname) {\n case GL.TEXTURE_MAX_ANISOTROPY_EXT:\n const contextData = getContextData(gl);\n const {_extensions} = contextData;\n const ext = _extensions[EXT_texture_filter_anisotropic];\n pname = (ext && ext.TEXTURE_MAX_ANISOTROPY_EXT) || GL.TEXTURE_MAX_ANISOTROPY_EXT;\n break;\n default:\n }\n return originalFunc(target, pname);\n },\n getParameter: getParameterPolyfill,\n hint(gl, originalFunc, pname, value) {\n // TODO - handle GL.FRAGMENT_SHADER_DERIVATIVE_HINT:\n // switch (pname) {\n // case GL.FRAGMENT_SHADER_DERIVATIVE_HINT:\n // }\n return originalFunc(pname, value);\n }\n};\n"],"mappings":"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"}
|