@luma.gl/webgl 9.0.0-beta.6 → 9.0.0-beta.7
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 +81 -84
- package/dist/adapter/converters/sampler-parameters.js +17 -17
- package/dist/adapter/converters/shader-formats.js +12 -12
- package/dist/adapter/converters/texture-formats.d.ts +10 -8
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +175 -168
- package/dist/adapter/converters/vertex-formats.js +20 -20
- package/dist/adapter/device-helpers/webgl-device-features.d.ts +2 -1
- package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-features.js +14 -2
- package/dist/adapter/device-helpers/webgl-device-info.js +5 -5
- package/dist/adapter/device-helpers/webgl-device-limits.js +10 -10
- package/dist/adapter/helpers/decode-webgl-types.js +45 -45
- package/dist/adapter/helpers/get-shader-layout.js +29 -29
- package/dist/adapter/helpers/set-uniform.js +40 -40
- package/dist/adapter/helpers/webgl-topology-utils.js +38 -38
- package/dist/adapter/objects/webgl-renderbuffer.js +6 -6
- package/dist/adapter/objects/webgl-resource.js +1 -2
- package/dist/adapter/resources/webgl-buffer.js +14 -14
- package/dist/adapter/resources/webgl-command-buffer.js +25 -25
- package/dist/adapter/resources/webgl-external-texture.js +3 -3
- package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -4
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +41 -36
- package/dist/adapter/resources/webgl-query-set.js +6 -6
- package/dist/adapter/resources/webgl-render-pass.js +5 -5
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +19 -13
- package/dist/adapter/resources/webgl-sampler.js +2 -2
- package/dist/adapter/resources/webgl-shader.js +4 -4
- package/dist/adapter/resources/webgl-texture.d.ts +2 -1
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +29 -27
- package/dist/adapter/resources/webgl-transform-feedback.js +8 -8
- package/dist/adapter/resources/webgl-vertex-array.d.ts +1 -1
- package/dist/adapter/resources/webgl-vertex-array.js +5 -5
- package/dist/adapter/webgl-device.d.ts +6 -3
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +22 -17
- package/dist/classic/accessor.js +4 -4
- package/dist/classic/clear.js +2 -2
- package/dist/classic/copy-and-blit.js +15 -16
- package/dist/classic/format-utils.d.ts +2 -2
- package/dist/classic/format-utils.js +14 -14
- package/dist/classic/typed-array-utils.js +18 -18
- package/dist/context/parameters/unified-parameter-api.d.ts +3 -4
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +4 -9
- package/dist/context/parameters/webgl-parameter-tables.d.ts +2 -13
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +292 -298
- package/dist/context/state-tracker/with-parameters.d.ts +1 -2
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +2 -5
- package/dist/dist.dev.js +877 -840
- package/dist/index.cjs +1253 -1188
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist.min.js +6 -6
- package/package.json +4 -4
- package/src/adapter/converters/device-parameters.ts +9 -11
- package/src/adapter/converters/texture-formats.ts +64 -61
- package/src/adapter/device-helpers/webgl-device-features.ts +22 -2
- package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
- package/src/adapter/objects/webgl-resource.ts +1 -1
- package/src/adapter/resources/webgl-external-texture.ts +3 -3
- package/src/adapter/resources/webgl-framebuffer.ts +29 -26
- package/src/adapter/resources/webgl-render-pass.ts +3 -3
- package/src/adapter/resources/webgl-render-pipeline.ts +13 -6
- package/src/adapter/resources/webgl-texture.ts +7 -3
- package/src/adapter/webgl-device.ts +24 -19
- package/src/classic/clear.ts +2 -2
- package/src/context/parameters/unified-parameter-api.ts +4 -16
- package/src/context/state-tracker/with-parameters.ts +2 -7
- package/src/index.ts +4 -4
- package/dist/adapter/device-helpers/device-features.d.ts +0 -6
- package/dist/adapter/device-helpers/device-features.d.ts.map +0 -1
- package/dist/adapter/device-helpers/device-features.js +0 -65
- package/dist/adapter/device-helpers/device-limits.d.ts +0 -50
- package/dist/adapter/device-helpers/device-limits.d.ts.map +0 -1
- package/dist/adapter/device-helpers/device-limits.js +0 -92
- package/dist/adapter/device-helpers/get-device-info.d.ts +0 -4
- package/dist/adapter/device-helpers/get-device-info.d.ts.map +0 -1
- package/dist/adapter/device-helpers/get-device-info.js +0 -87
- package/dist/context/context/context-data.d.ts +0 -14
- package/dist/context/context/context-data.d.ts.map +0 -1
- package/dist/context/context/context-data.js +0 -33
- package/dist/context/context/create-browser-context.d.ts +0 -35
- package/dist/context/context/create-browser-context.d.ts.map +0 -1
- package/dist/context/context/create-browser-context.js +0 -66
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
// luma.gl, MIT license
|
|
2
|
-
// Copyright (c) vis.gl contributors
|
|
3
|
-
const DEFAULT_CONTEXT_PROPS = {
|
|
4
|
-
powerPreference: 'high-performance', // After all, most apps are using WebGL for performance reasons
|
|
5
|
-
// eslint-disable-next-line no-console
|
|
6
|
-
onContextLost: () => console.error('WebGL context lost'),
|
|
7
|
-
// eslint-disable-next-line no-console
|
|
8
|
-
onContextRestored: () => console.info('WebGL context restored')
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Create a WebGL context for a canvas
|
|
12
|
-
* Note calling this multiple time on the same canvas does return the same context
|
|
13
|
-
* @param canvas A canvas element or offscreen canvas
|
|
14
|
-
*/
|
|
15
|
-
export function createBrowserContext(canvas, props) {
|
|
16
|
-
props = { ...DEFAULT_CONTEXT_PROPS, ...props };
|
|
17
|
-
// Try to extract any extra information about why context creation failed
|
|
18
|
-
let errorMessage = null;
|
|
19
|
-
const onCreateError = error => (errorMessage = error.statusMessage || errorMessage);
|
|
20
|
-
canvas.addEventListener('webglcontextcreationerror', onCreateError, false);
|
|
21
|
-
// Create the desired context
|
|
22
|
-
let gl = null;
|
|
23
|
-
// props.failIfMajorPerformanceCaveat = true;
|
|
24
|
-
// We require webgl2 context
|
|
25
|
-
gl ||= canvas.getContext('webgl2', props);
|
|
26
|
-
// Software GPU
|
|
27
|
-
// props.failIfMajorPerformanceCaveat = false;
|
|
28
|
-
// if (!gl && props.webgl1) {
|
|
29
|
-
// gl = canvas.getContext('webgl', props);
|
|
30
|
-
// }
|
|
31
|
-
// TODO are we removing this listener before giving it a chance to fire?
|
|
32
|
-
canvas.removeEventListener('webglcontextcreationerror', onCreateError, false);
|
|
33
|
-
if (!gl) {
|
|
34
|
-
throw new Error(`Failed to create WebGL context: ${errorMessage || 'Unknown error'}`);
|
|
35
|
-
}
|
|
36
|
-
if (props.onContextLost) {
|
|
37
|
-
// Carefully extract and wrap callbacks to prevent addEventListener from rebinding them.
|
|
38
|
-
const { onContextLost } = props;
|
|
39
|
-
canvas.addEventListener('webglcontextlost', (event) => onContextLost(event), false);
|
|
40
|
-
}
|
|
41
|
-
if (props.onContextRestored) {
|
|
42
|
-
// Carefully extract and wrap callbacks to prevent addEventListener from rebinding them.
|
|
43
|
-
const { onContextRestored } = props;
|
|
44
|
-
canvas.addEventListener('webglcontextrestored', (event) => onContextRestored(event), false);
|
|
45
|
-
}
|
|
46
|
-
return gl;
|
|
47
|
-
}
|
|
48
|
-
/* TODO - can we call this asynchronously to catch the error events?
|
|
49
|
-
export async function createBrowserContextAsync(canvas: HTMLCanvasElement | OffscreenCanvas, props: ContextProps): Promise<WebGL2RenderingContext> {
|
|
50
|
-
props = {...DEFAULT_CONTEXT_PROPS, ...props};
|
|
51
|
-
|
|
52
|
-
// Try to extract any extra information about why context creation failed
|
|
53
|
-
let errorMessage = null;
|
|
54
|
-
const onCreateError = (error) => (errorMessage = error.statusMessage || errorMessage);
|
|
55
|
-
canvas.addEventListener('webglcontextcreationerror', onCreateError, false);
|
|
56
|
-
|
|
57
|
-
const gl = createBrowserContext(canvas, props);
|
|
58
|
-
|
|
59
|
-
// Give the listener a chance to fire
|
|
60
|
-
await new Promise(resolve => setTimeout(resolve, 0));
|
|
61
|
-
|
|
62
|
-
canvas.removeEventListener('webglcontextcreationerror', onCreateError, false);
|
|
63
|
-
|
|
64
|
-
return gl;
|
|
65
|
-
}
|
|
66
|
-
*/
|