@luma.gl/webgl 9.0.0-beta.3 → 9.0.0-beta.5
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.js +240 -158
- package/dist/adapter/converters/sampler-parameters.d.ts +0 -4
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +73 -68
- package/dist/adapter/converters/shader-formats.js +33 -46
- package/dist/adapter/converters/texture-formats.d.ts +9 -18
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +454 -871
- package/dist/adapter/converters/vertex-formats.js +52 -61
- package/dist/adapter/device-helpers/device-features.d.ts +2 -5
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +56 -87
- package/dist/adapter/device-helpers/device-limits.d.ts +2 -4
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +88 -83
- 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 +79 -63
- package/dist/adapter/device-helpers/webgl-device-features.d.ts +6 -0
- package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-features.js +52 -0
- package/dist/adapter/device-helpers/webgl-device-info.d.ts +4 -0
- package/dist/adapter/device-helpers/webgl-device-info.d.ts.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-info.js +87 -0
- package/dist/adapter/device-helpers/webgl-device-limits.d.ts +50 -0
- package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -0
- package/dist/adapter/device-helpers/webgl-device-limits.js +92 -0
- package/dist/adapter/helpers/decode-webgl-types.js +87 -76
- package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +261 -226
- package/dist/adapter/helpers/parse-shader-compiler-log.js +46 -37
- package/dist/adapter/helpers/set-uniform.d.ts +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +67 -82
- package/dist/adapter/helpers/webgl-topology-utils.js +77 -93
- package/dist/adapter/objects/constants-to-keys.d.ts +1 -1
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +18 -12
- package/dist/adapter/objects/webgl-renderbuffer.js +76 -80
- package/dist/adapter/objects/webgl-resource.d.ts +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +204 -154
- package/dist/adapter/resources/webgl-buffer.d.ts +2 -3
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +160 -119
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +268 -171
- package/dist/adapter/resources/webgl-command-encoder.js +32 -40
- package/dist/adapter/resources/webgl-external-texture.js +92 -1
- 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 +167 -139
- package/dist/adapter/resources/webgl-render-pass.js +121 -95
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +11 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +378 -228
- package/dist/adapter/resources/webgl-sampler.d.ts +0 -2
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +43 -34
- package/dist/adapter/resources/webgl-shader.d.ts +10 -1
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +106 -45
- package/dist/adapter/resources/webgl-texture.d.ts +2 -6
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +614 -699
- package/dist/adapter/resources/webgl-transform-feedback.d.ts +1 -1
- package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-transform-feedback.js +143 -145
- package/dist/adapter/resources/webgl-vertex-array.d.ts +1 -1
- package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-vertex-array.js +229 -158
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +58 -37
- package/dist/adapter/webgl-device.d.ts +7 -15
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +440 -381
- package/dist/classic/accessor.js +132 -102
- package/dist/classic/clear.d.ts +2 -2
- package/dist/classic/clear.d.ts.map +1 -1
- package/dist/classic/clear.js +73 -73
- package/dist/classic/copy-and-blit.d.ts.map +1 -1
- package/dist/classic/copy-and-blit.js +176 -177
- package/dist/classic/format-utils.d.ts +2 -2
- package/dist/classic/format-utils.js +38 -32
- package/dist/classic/typed-array-utils.js +95 -81
- package/dist/context/{polyfill → context}/context-data.d.ts +2 -1
- package/dist/context/context/context-data.d.ts.map +1 -0
- package/dist/context/context/context-data.js +33 -0
- package/dist/context/context/create-browser-context.d.ts +1 -6
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +62 -49
- package/dist/context/debug/spector.js +54 -50
- package/dist/context/debug/webgl-developer-tools.d.ts +1 -2
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +102 -76
- package/dist/context/parameters/unified-parameter-api.d.ts +3 -3
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +95 -46
- package/dist/context/parameters/webgl-parameter-tables.d.ts +110 -99
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +456 -404
- package/dist/context/state-tracker/deep-array-equal.js +18 -14
- package/dist/context/state-tracker/track-context-state.d.ts +4 -4
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +190 -126
- package/dist/context/state-tracker/with-parameters.d.ts +1 -1
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +45 -29
- package/dist/dist.dev.js +2568 -3786
- package/dist/index.cjs +1346 -2464
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +2 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -26
- package/dist/types.js +2 -1
- package/dist.min.js +9 -42
- package/package.json +11 -15
- package/src/adapter/converters/device-parameters.ts +0 -1
- package/src/adapter/converters/sampler-parameters.ts +0 -17
- package/src/adapter/converters/texture-formats.ts +86 -154
- package/src/adapter/device-helpers/webgl-device-features.ts +69 -0
- package/src/adapter/device-helpers/{get-device-info.ts → webgl-device-info.ts} +3 -4
- package/src/adapter/device-helpers/{device-limits.ts → webgl-device-limits.ts} +25 -23
- package/src/adapter/helpers/get-shader-layout.ts +17 -28
- package/src/adapter/helpers/set-uniform.ts +1 -3
- package/src/adapter/objects/constants-to-keys.ts +1 -1
- package/src/adapter/objects/webgl-renderbuffer.ts +4 -4
- package/src/adapter/objects/webgl-resource.ts +3 -18
- package/src/adapter/resources/webgl-buffer.ts +6 -11
- package/src/adapter/resources/webgl-command-buffer.ts +20 -30
- package/src/adapter/resources/webgl-external-texture.ts +2 -3
- package/src/adapter/resources/webgl-framebuffer.ts +4 -5
- package/src/adapter/resources/webgl-render-pass.ts +7 -7
- package/src/adapter/resources/webgl-render-pipeline.ts +106 -31
- package/src/adapter/resources/webgl-sampler.ts +5 -9
- package/src/adapter/resources/webgl-shader.ts +57 -10
- package/src/adapter/resources/webgl-texture.ts +29 -103
- package/src/adapter/resources/webgl-transform-feedback.ts +14 -15
- package/src/adapter/resources/webgl-vertex-array.ts +16 -18
- package/src/adapter/webgl-canvas-context.ts +1 -7
- package/src/adapter/webgl-device.ts +18 -67
- package/src/classic/clear.ts +13 -14
- package/src/classic/copy-and-blit.ts +1 -2
- package/src/context/context/context-data.ts +44 -0
- package/src/context/context/create-browser-context.ts +7 -32
- package/src/context/debug/webgl-developer-tools.ts +6 -8
- package/src/context/parameters/unified-parameter-api.ts +3 -3
- package/src/context/parameters/webgl-parameter-tables.ts +66 -75
- package/src/context/state-tracker/track-context-state.ts +18 -17
- package/src/context/state-tracker/with-parameters.ts +1 -1
- package/src/index.ts +2 -17
- package/dist/adapter/converters/device-parameters.js.map +0 -1
- package/dist/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/adapter/converters/shader-formats.js.map +0 -1
- package/dist/adapter/converters/texture-formats.js.map +0 -1
- package/dist/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/adapter/device-helpers/is-old-ie.d.ts +0 -2
- package/dist/adapter/device-helpers/is-old-ie.d.ts.map +0 -1
- package/dist/adapter/device-helpers/is-old-ie.js +0 -9
- package/dist/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/adapter/helpers/decode-webgl-types.js.map +0 -1
- package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/adapter/helpers/webgl-topology-utils.js.map +0 -1
- package/dist/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/adapter/resources/webgl-transform-feedback.js.map +0 -1
- package/dist/adapter/resources/webgl-vertex-array.js.map +0 -1
- package/dist/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/adapter/webgl-device.js.map +0 -1
- package/dist/classic/accessor.js.map +0 -1
- package/dist/classic/clear.js.map +0 -1
- package/dist/classic/copy-and-blit.js.map +0 -1
- package/dist/classic/format-utils.js.map +0 -1
- package/dist/classic/typed-array-utils.js.map +0 -1
- package/dist/context/context/create-browser-context.js.map +0 -1
- package/dist/context/context/create-headless-context.d.ts +0 -9
- package/dist/context/context/create-headless-context.d.ts.map +0 -1
- package/dist/context/context/create-headless-context.js +0 -42
- package/dist/context/context/create-headless-context.js.map +0 -1
- package/dist/context/context/webgl-checks.d.ts +0 -13
- package/dist/context/context/webgl-checks.d.ts.map +0 -1
- package/dist/context/context/webgl-checks.js +0 -31
- package/dist/context/context/webgl-checks.js.map +0 -1
- package/dist/context/debug/spector.js.map +0 -1
- package/dist/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/context/polyfill/context-data.d.ts.map +0 -1
- package/dist/context/polyfill/context-data.js +0 -12
- package/dist/context/polyfill/context-data.js.map +0 -1
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +0 -2
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +0 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +0 -85
- package/dist/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/context/polyfill/polyfill-context.d.ts +0 -5
- package/dist/context/polyfill/polyfill-context.d.ts.map +0 -1
- package/dist/context/polyfill/polyfill-context.js +0 -87
- package/dist/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/context/polyfill/polyfill-table.d.ts +0 -48
- package/dist/context/polyfill/polyfill-table.d.ts.map +0 -1
- package/dist/context/polyfill/polyfill-table.js +0 -137
- package/dist/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +0 -2
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +0 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -265
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/src/adapter/device-helpers/device-features.ts +0 -161
- package/src/adapter/device-helpers/is-old-ie.ts +0 -14
- package/src/context/context/create-headless-context.ts +0 -51
- package/src/context/context/webgl-checks.ts +0 -51
- package/src/context/polyfill/context-data.ts +0 -30
- package/src/context/polyfill/get-parameter-polyfill.ts +0 -122
- package/src/context/polyfill/polyfill-context.ts +0 -104
- package/src/context/polyfill/polyfill-table.ts +0 -167
- package/src/context/polyfill/polyfill-vertex-array-object.ts +0 -365
|
@@ -1,66 +1,57 @@
|
|
|
1
|
+
// luma.gl, MIT license
|
|
2
|
+
// Copyright (c) vis.gl contributors
|
|
3
|
+
import { GL } from '@luma.gl/constants';
|
|
4
|
+
/** Get vertex format from GL constants */
|
|
1
5
|
export function getVertexFormatFromGL(type, components) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
const base = getVertexTypeFromGL(type);
|
|
7
|
+
// prettier-ignore
|
|
8
|
+
switch (components) {
|
|
9
|
+
// @ts-expect-error TODO deal with lack of formats
|
|
10
|
+
case 1: return base;
|
|
11
|
+
case 2: return `${base}x2`;
|
|
12
|
+
// @ts-expect-error TODO deal with lack of formats
|
|
13
|
+
case 3: return `${base}x3`;
|
|
14
|
+
case 4: return `${base}x4`;
|
|
15
|
+
}
|
|
16
|
+
// @ts-ignore unreachable
|
|
17
|
+
throw new Error(String(components));
|
|
14
18
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return 'float32';
|
|
32
|
-
case 5131:
|
|
33
|
-
return 'float16';
|
|
34
|
-
}
|
|
35
|
-
throw new Error(String(type));
|
|
19
|
+
/** Get data type from GL constants */
|
|
20
|
+
export function getVertexTypeFromGL(type, normalized = false) {
|
|
21
|
+
// prettier-ignore
|
|
22
|
+
switch (type) {
|
|
23
|
+
// WebGPU does not support normalized 32 bit integer attributes
|
|
24
|
+
case GL.INT: return normalized ? 'sint32' : 'sint32';
|
|
25
|
+
case GL.UNSIGNED_INT: return normalized ? 'uint32' : 'uint32';
|
|
26
|
+
case GL.SHORT: return normalized ? 'sint16' : 'unorm16';
|
|
27
|
+
case GL.UNSIGNED_SHORT: return normalized ? 'uint16' : 'unorm16';
|
|
28
|
+
case GL.BYTE: return normalized ? 'sint8' : 'snorm16';
|
|
29
|
+
case GL.UNSIGNED_BYTE: return normalized ? 'uint8' : 'unorm8';
|
|
30
|
+
case GL.FLOAT: return 'float32';
|
|
31
|
+
case GL.HALF_FLOAT: return 'float16';
|
|
32
|
+
}
|
|
33
|
+
// @ts-ignore unreachable
|
|
34
|
+
throw new Error(String(type));
|
|
36
35
|
}
|
|
37
36
|
export function getGLFromVertexType(dataType) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return 5124;
|
|
59
|
-
case 'float16':
|
|
60
|
-
return 5131;
|
|
61
|
-
case 'float32':
|
|
62
|
-
return 5126;
|
|
63
|
-
}
|
|
64
|
-
throw new Error(String(dataType));
|
|
37
|
+
// prettier-ignore
|
|
38
|
+
switch (dataType) {
|
|
39
|
+
case 'uint8': return GL.UNSIGNED_BYTE;
|
|
40
|
+
case 'sint8': return GL.BYTE;
|
|
41
|
+
case 'unorm8': return GL.UNSIGNED_BYTE;
|
|
42
|
+
case 'snorm8': return GL.BYTE;
|
|
43
|
+
case 'uint16': return GL.UNSIGNED_SHORT;
|
|
44
|
+
case 'sint16': return GL.SHORT;
|
|
45
|
+
case 'unorm16': return GL.UNSIGNED_SHORT;
|
|
46
|
+
case 'snorm16': return GL.SHORT;
|
|
47
|
+
case 'uint32': return GL.UNSIGNED_INT;
|
|
48
|
+
case 'sint32': return GL.INT;
|
|
49
|
+
// WebGPU does not support normalized 32 bit integer attributes
|
|
50
|
+
// case 'unorm32': return GL.UNSIGNED_INT;
|
|
51
|
+
// case 'snorm32': return GL.INT;
|
|
52
|
+
case 'float16': return GL.HALF_FLOAT;
|
|
53
|
+
case 'float32': return GL.FLOAT;
|
|
54
|
+
}
|
|
55
|
+
// @ts-ignore unreachable
|
|
56
|
+
throw new Error(String(dataType));
|
|
65
57
|
}
|
|
66
|
-
//# sourceMappingURL=vertex-formats.js.map
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { DeviceFeature } from '@luma.gl/core';
|
|
2
2
|
/** Get WebGPU style feature strings */
|
|
3
|
-
export declare function getDeviceFeatures(gl:
|
|
3
|
+
export declare function getDeviceFeatures(gl: WebGL2RenderingContext): Set<DeviceFeature>;
|
|
4
4
|
/** Extract all WebGL features */
|
|
5
|
-
export declare function getWebGLFeatures(gl:
|
|
6
|
-
export declare function canCompileGLSLExtension(gl: WebGLRenderingContext, extensionName: any, opts?: {
|
|
7
|
-
behavior?: any;
|
|
8
|
-
}): any;
|
|
5
|
+
export declare function getWebGLFeatures(gl: WebGL2RenderingContext): Set<DeviceFeature>;
|
|
9
6
|
//# sourceMappingURL=device-features.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-features.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/device-features.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device-features.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/device-features.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAG5C,uCAAuC;AACvC,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,sBAAsB,GAAG,GAAG,CAAC,aAAa,CAAC,CAiBhF;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,sBAAsB,GAAG,GAAG,CAAC,aAAa,CAAC,CAe/E"}
|
|
@@ -1,96 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { getTextureFeatures
|
|
1
|
+
// luma.gl, MIT license
|
|
2
|
+
// Copyright (c) vis.gl contributors
|
|
3
|
+
import { getTextureFeatures } from '../converters/texture-formats';
|
|
4
|
+
/** Get WebGPU style feature strings */
|
|
4
5
|
export function getDeviceFeatures(gl) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
features.add(
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const features = getWebGLFeatures(gl);
|
|
7
|
+
// texture features
|
|
8
|
+
// features.add('texture-compression-bc');
|
|
9
|
+
for (const textureFeature of getTextureFeatures(gl)) {
|
|
10
|
+
features.add(textureFeature);
|
|
11
|
+
}
|
|
12
|
+
// TODO
|
|
13
|
+
// features.add('depth-clip-control'); // GPUPrimitiveState.clampDepth
|
|
14
|
+
// features.add('depth24unorm-stencil8'); // GPUTextureFormat 'depth24unorm-stencil8'.
|
|
15
|
+
// features.add('depth32float-stencil8'); // GPUTextureFormat 'depth32float-stencil8'.
|
|
16
|
+
// features.add('timestamp-query'); // GPUQueryType "timestamp-query"
|
|
17
|
+
// "indirect-first-instance"
|
|
18
|
+
return features;
|
|
10
19
|
}
|
|
20
|
+
/** Extract all WebGL features */
|
|
11
21
|
export function getWebGLFeatures(gl) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
// Enables EXT_float_blend first: https://developer.mozilla.org/en-US/docs/Web/API/EXT_float_blend
|
|
23
|
+
gl.getExtension('EXT_color_buffer_float');
|
|
24
|
+
gl.getExtension('WEBGL_color_buffer_float');
|
|
25
|
+
gl.getExtension('EXT_float_blend');
|
|
26
|
+
const features = new Set(WEBGL_ALWAYS_FEATURES);
|
|
27
|
+
for (const feature of Object.keys(WEBGL_FEATURES)) {
|
|
28
|
+
// @ts-expect-error
|
|
29
|
+
if (isFeatureSupported(gl, feature)) {
|
|
30
|
+
// @ts-expect-error
|
|
31
|
+
features.add(feature);
|
|
32
|
+
}
|
|
19
33
|
}
|
|
20
|
-
|
|
21
|
-
return features;
|
|
34
|
+
return features;
|
|
22
35
|
}
|
|
23
36
|
function isFeatureSupported(gl, feature) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return isWebGL2(gl) ? Boolean(gl.getExtension(featureDefinition)) : _checkFloat32ColorAttachment(gl);
|
|
36
|
-
case 'glsl-derivatives':
|
|
37
|
-
return canCompileGLSLExtension(gl, featureDefinition);
|
|
38
|
-
case 'glsl-frag-data':
|
|
39
|
-
return canCompileGLSLExtension(gl, featureDefinition, {
|
|
40
|
-
behavior: 'require'
|
|
41
|
-
});
|
|
42
|
-
case 'glsl-frag-depth':
|
|
43
|
-
return canCompileGLSLExtension(gl, featureDefinition);
|
|
44
|
-
default:
|
|
45
|
-
return Boolean(gl.getExtension(featureDefinition));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
const compiledGLSLExtensions = {};
|
|
49
|
-
export function canCompileGLSLExtension(gl, extensionName) {
|
|
50
|
-
let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
51
|
-
if (!isOldIE(opts)) {
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
if (extensionName in compiledGLSLExtensions) {
|
|
55
|
-
return compiledGLSLExtensions[extensionName];
|
|
56
|
-
}
|
|
57
|
-
const behavior = opts.behavior || 'enable';
|
|
58
|
-
const source = `#extension GL_${extensionName} : ${behavior}\nvoid main(void) {}`;
|
|
59
|
-
const shader = gl.createShader(35633);
|
|
60
|
-
if (!shader) {
|
|
61
|
-
throw new Error('shader');
|
|
62
|
-
}
|
|
63
|
-
gl.shaderSource(shader, source);
|
|
64
|
-
gl.compileShader(shader);
|
|
65
|
-
const canCompile = gl.getShaderParameter(shader, 35713);
|
|
66
|
-
gl.deleteShader(shader);
|
|
67
|
-
compiledGLSLExtensions[extensionName] = canCompile;
|
|
68
|
-
return canCompile;
|
|
37
|
+
const featureInfo = WEBGL_FEATURES[feature];
|
|
38
|
+
if (!featureInfo) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
// Get extension name from table
|
|
42
|
+
const featureDefinition = featureInfo;
|
|
43
|
+
// Check if the value is dependent on checking one or more extensions
|
|
44
|
+
if (typeof featureDefinition === 'boolean') {
|
|
45
|
+
return featureDefinition;
|
|
46
|
+
}
|
|
47
|
+
return Boolean(gl.getExtension(featureDefinition));
|
|
69
48
|
}
|
|
49
|
+
const WEBGL_ALWAYS_FEATURES = ['webgl', 'glsl', 'transform-feedback-webgl'];
|
|
50
|
+
/**
|
|
51
|
+
* Defines luma.gl "feature" names and semantics
|
|
52
|
+
* when value is 'string' it is the name of the extension that enables this feature
|
|
53
|
+
*/
|
|
70
54
|
const WEBGL_FEATURES = {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
'texture-formats-srgb-webgl1': ['EXT_sRGB', true],
|
|
82
|
-
'texture-formats-depth-webgl1': ['WEBGL_depth_texture', true],
|
|
83
|
-
'texture-formats-float32-webgl1': ['OES_texture_float', true],
|
|
84
|
-
'texture-formats-float16-webgl1': ['OES_texture_half_float', true],
|
|
85
|
-
'texture-filter-linear-float32-webgl': ['OES_texture_float_linear', 'OES_texture_float_linear'],
|
|
86
|
-
'texture-filter-linear-float16-webgl': ['OES_texture_half_float_linear', 'OES_texture_half_float_linear'],
|
|
87
|
-
'texture-filter-anisotropic-webgl': ['EXT_texture_filter_anisotropic', 'EXT_texture_filter_anisotropic'],
|
|
88
|
-
'texture-renderable-rgba32float-webgl': ['WEBGL_color_buffer_float', 'EXT_color_buffer_float'],
|
|
89
|
-
'texture-renderable-float32-webgl': [false, 'EXT_color_buffer_float'],
|
|
90
|
-
'texture-renderable-float16-webgl': ['EXT_color_buffer_half_float', 'EXT_color_buffer_half_float'],
|
|
91
|
-
'glsl-frag-data': ['WEBGL_draw_buffers', true],
|
|
92
|
-
'glsl-frag-depth': ['EXT_frag_depth', true],
|
|
93
|
-
'glsl-derivatives': ['OES_standard_derivatives', true],
|
|
94
|
-
'glsl-texture-lod': ['EXT_shader_texture_lod', true]
|
|
55
|
+
'timer-query-webgl': 'EXT_disjoint_timer_query_webgl2',
|
|
56
|
+
'transform-feedback-webgl': true,
|
|
57
|
+
// WEBGL1 SUPPORT
|
|
58
|
+
'texture-blend-float-webgl': 'EXT_float_blend',
|
|
59
|
+
'float32-filterable-linear-webgl': 'OES_texture_float_linear',
|
|
60
|
+
'float16-filterable-linear-webgl': 'OES_texture_half_float_linear',
|
|
61
|
+
'texture-filterable-anisotropic-webgl': 'EXT_texture_filter_anisotropic',
|
|
62
|
+
// FRAMEBUFFERS, TEXTURES AND RENDERBUFFERS
|
|
63
|
+
'float32-renderable-webgl': 'EXT_color_buffer_float',
|
|
64
|
+
'float16-renderable-webgl': 'EXT_color_buffer_half_float',
|
|
95
65
|
};
|
|
96
|
-
//# sourceMappingURL=device-features.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DeviceLimits } from '@luma.gl/core';
|
|
2
2
|
import { GL } from '@luma.gl/constants';
|
|
3
3
|
/** Populate a WebGPU style device limits */
|
|
4
|
-
export declare function getDeviceLimits(gl:
|
|
4
|
+
export declare function getDeviceLimits(gl: WebGL2RenderingContext): DeviceLimits;
|
|
5
5
|
/** WebGL context limits */
|
|
6
6
|
export type WebGLLimits = {
|
|
7
7
|
[GL.ALIASED_LINE_WIDTH_RANGE]: [number, number];
|
|
@@ -20,7 +20,6 @@ export type WebGLLimits = {
|
|
|
20
20
|
[GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT]: number;
|
|
21
21
|
[GL.MAX_3D_TEXTURE_SIZE]: number;
|
|
22
22
|
[GL.MAX_ARRAY_TEXTURE_LAYERS]: number;
|
|
23
|
-
[GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL]: number;
|
|
24
23
|
[GL.MAX_COLOR_ATTACHMENTS]: number;
|
|
25
24
|
[GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS]: number;
|
|
26
25
|
[GL.MAX_COMBINED_UNIFORM_BLOCKS]: number;
|
|
@@ -33,7 +32,6 @@ export type WebGLLimits = {
|
|
|
33
32
|
[GL.MAX_FRAGMENT_UNIFORM_BLOCKS]: number;
|
|
34
33
|
[GL.MAX_FRAGMENT_UNIFORM_COMPONENTS]: number;
|
|
35
34
|
[GL.MAX_SAMPLES]: number;
|
|
36
|
-
[GL.MAX_SERVER_WAIT_TIMEOUT]: number;
|
|
37
35
|
[GL.MAX_TEXTURE_LOD_BIAS]: number;
|
|
38
36
|
[GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS]: number;
|
|
39
37
|
[GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS]: number;
|
|
@@ -48,5 +46,5 @@ export type WebGLLimits = {
|
|
|
48
46
|
[GL.MAX_PROGRAM_TEXEL_OFFSET]: number;
|
|
49
47
|
[GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT]: number;
|
|
50
48
|
};
|
|
51
|
-
export declare function getWebGLLimits(gl:
|
|
49
|
+
export declare function getWebGLLimits(gl: WebGL2RenderingContext): WebGLLimits;
|
|
52
50
|
//# sourceMappingURL=device-limits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-limits.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/device-limits.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,EAAE,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"device-limits.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/device-limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,87 +1,92 @@
|
|
|
1
|
-
|
|
1
|
+
// luma.gl, MIT license
|
|
2
|
+
// Copyright (c) vis.gl contributors
|
|
3
|
+
import { GL } from '@luma.gl/constants';
|
|
4
|
+
/** Populate a WebGPU style device limits */
|
|
2
5
|
export function getDeviceLimits(gl) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
6
|
+
return {
|
|
7
|
+
maxTextureDimension1D: 0, // WebGL does not support 1D textures
|
|
8
|
+
maxTextureDimension2D: gl.getParameter(GL.MAX_TEXTURE_SIZE),
|
|
9
|
+
maxTextureDimension3D: gl.getParameter(GL.MAX_3D_TEXTURE_SIZE),
|
|
10
|
+
maxTextureArrayLayers: gl.getParameter(GL.MAX_ARRAY_TEXTURE_LAYERS),
|
|
11
|
+
maxBindGroups: 1, // TBD - if we emulate bind groups we could support any number...
|
|
12
|
+
maxDynamicUniformBuffersPerPipelineLayout: 0, // TBD
|
|
13
|
+
maxDynamicStorageBuffersPerPipelineLayout: 0, // TBD
|
|
14
|
+
maxSampledTexturesPerShaderStage: gl.getParameter(GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS), // TBD
|
|
15
|
+
maxSamplersPerShaderStage: gl.getParameter(GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS),
|
|
16
|
+
maxStorageBuffersPerShaderStage: 0, // TBD
|
|
17
|
+
maxStorageTexturesPerShaderStage: 0, // TBD
|
|
18
|
+
maxUniformBuffersPerShaderStage: gl.getParameter(GL.MAX_UNIFORM_BUFFER_BINDINGS),
|
|
19
|
+
maxUniformBufferBindingSize: gl.getParameter(GL.MAX_UNIFORM_BLOCK_SIZE),
|
|
20
|
+
maxStorageBufferBindingSize: 0,
|
|
21
|
+
minUniformBufferOffsetAlignment: gl.getParameter(GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT),
|
|
22
|
+
minStorageBufferOffsetAlignment: 0, // TBD
|
|
23
|
+
maxVertexBuffers: 0,
|
|
24
|
+
maxVertexAttributes: gl.getParameter(GL.MAX_VERTEX_ATTRIBS),
|
|
25
|
+
maxVertexBufferArrayStride: 2048, // TBD, this is just the default value from WebGPU
|
|
26
|
+
maxInterStageShaderComponents: gl.getParameter(GL.MAX_VARYING_COMPONENTS),
|
|
27
|
+
maxComputeWorkgroupStorageSize: 0, // WebGL does not support compute shaders
|
|
28
|
+
maxComputeInvocationsPerWorkgroup: 0, // WebGL does not support compute shaders
|
|
29
|
+
maxComputeWorkgroupSizeX: 0, // WebGL does not support compute shaders
|
|
30
|
+
maxComputeWorkgroupSizeY: 0, // WebGL does not support compute shaders
|
|
31
|
+
maxComputeWorkgroupSizeZ: 0, // WebGL does not support compute shaders
|
|
32
|
+
maxComputeWorkgroupsPerDimension: 0 // WebGL does not support compute shaders
|
|
33
|
+
};
|
|
32
34
|
}
|
|
33
35
|
export function getWebGLLimits(gl) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
36
|
+
function get(pname) {
|
|
37
|
+
return gl.getParameter(pname);
|
|
38
|
+
}
|
|
39
|
+
function get2(pname, defaultValue) {
|
|
40
|
+
return gl.getParameter(pname) || defaultValue;
|
|
41
|
+
}
|
|
42
|
+
// function getMaxAnistropy() {
|
|
43
|
+
// const extension = gl.getExtension('EXT_texture_filter_anisotropic');
|
|
44
|
+
// }
|
|
45
|
+
return {
|
|
46
|
+
[GL.ALIASED_LINE_WIDTH_RANGE]: get(GL.ALIASED_LINE_WIDTH_RANGE),
|
|
47
|
+
[GL.ALIASED_POINT_SIZE_RANGE]: get(GL.ALIASED_POINT_SIZE_RANGE),
|
|
48
|
+
[GL.MAX_TEXTURE_SIZE]: get(GL.MAX_TEXTURE_SIZE),
|
|
49
|
+
[GL.MAX_CUBE_MAP_TEXTURE_SIZE]: get(GL.MAX_CUBE_MAP_TEXTURE_SIZE), // GLint
|
|
50
|
+
[GL.MAX_TEXTURE_IMAGE_UNITS]: get(GL.MAX_TEXTURE_IMAGE_UNITS), // GLint
|
|
51
|
+
[GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS]: get(GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS), // GLint
|
|
52
|
+
[GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS]: get(GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS), // GLint
|
|
53
|
+
[GL.MAX_RENDERBUFFER_SIZE]: get(GL.MAX_RENDERBUFFER_SIZE), // GLint
|
|
54
|
+
[GL.MAX_VARYING_VECTORS]: get(GL.MAX_VARYING_VECTORS), // GLint
|
|
55
|
+
[GL.MAX_VERTEX_ATTRIBS]: get(GL.MAX_VERTEX_ATTRIBS), // GLint
|
|
56
|
+
[GL.MAX_VERTEX_UNIFORM_VECTORS]: get(GL.MAX_VERTEX_UNIFORM_VECTORS), // GLint
|
|
57
|
+
[GL.MAX_FRAGMENT_UNIFORM_VECTORS]: get(GL.MAX_FRAGMENT_UNIFORM_VECTORS), // GLint
|
|
58
|
+
[GL.MAX_VIEWPORT_DIMS]: get(GL.MAX_VIEWPORT_DIMS),
|
|
59
|
+
// Extensions
|
|
60
|
+
[GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT]: get(GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT), // getMaxAnistropy(),
|
|
61
|
+
// WebGL2 Limits
|
|
62
|
+
[GL.MAX_3D_TEXTURE_SIZE]: get2(GL.MAX_3D_TEXTURE_SIZE), // GLint
|
|
63
|
+
[GL.MAX_ARRAY_TEXTURE_LAYERS]: get2(GL.MAX_ARRAY_TEXTURE_LAYERS), // GLint
|
|
64
|
+
// [GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL]: get2(GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL), // GLint64
|
|
65
|
+
[GL.MAX_COLOR_ATTACHMENTS]: get2(GL.MAX_COLOR_ATTACHMENTS), // GLint
|
|
66
|
+
[GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS]: get2(GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS), // GLint64
|
|
67
|
+
[GL.MAX_COMBINED_UNIFORM_BLOCKS]: get2(GL.MAX_COMBINED_UNIFORM_BLOCKS), // GLint
|
|
68
|
+
[GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS]: get2(GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS), // GLint64
|
|
69
|
+
[GL.MAX_DRAW_BUFFERS]: get2(GL.MAX_DRAW_BUFFERS), // GLint
|
|
70
|
+
[GL.MAX_ELEMENT_INDEX]: get2(GL.MAX_ELEMENT_INDEX), // GLint64
|
|
71
|
+
[GL.MAX_ELEMENTS_INDICES]: get2(GL.MAX_ELEMENTS_INDICES), // GLint
|
|
72
|
+
[GL.MAX_ELEMENTS_VERTICES]: get2(GL.MAX_ELEMENTS_VERTICES), // GLint
|
|
73
|
+
[GL.MAX_FRAGMENT_INPUT_COMPONENTS]: get2(GL.MAX_FRAGMENT_INPUT_COMPONENTS), // GLint
|
|
74
|
+
[GL.MAX_FRAGMENT_UNIFORM_BLOCKS]: get2(GL.MAX_FRAGMENT_UNIFORM_BLOCKS), // GLint
|
|
75
|
+
[GL.MAX_FRAGMENT_UNIFORM_COMPONENTS]: get2(GL.MAX_FRAGMENT_UNIFORM_COMPONENTS), // GLint
|
|
76
|
+
[GL.MAX_SAMPLES]: get2(GL.MAX_SAMPLES), // GLint
|
|
77
|
+
// [GL.MAX_SERVER_WAIT_TIMEOUT]: get2(GL.MAX_SERVER_WAIT_TIMEOUT), // GLint64
|
|
78
|
+
[GL.MAX_TEXTURE_LOD_BIAS]: get2(GL.MAX_TEXTURE_LOD_BIAS), // GLfloat
|
|
79
|
+
[GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS]: get2(GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS), // GLint
|
|
80
|
+
[GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS]: get2(GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS), // GLint
|
|
81
|
+
[GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS]: get2(GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS), // GLint
|
|
82
|
+
[GL.MAX_UNIFORM_BLOCK_SIZE]: get2(GL.MAX_UNIFORM_BLOCK_SIZE), // GLint64
|
|
83
|
+
[GL.MAX_UNIFORM_BUFFER_BINDINGS]: get2(GL.MAX_UNIFORM_BUFFER_BINDINGS), // GLint
|
|
84
|
+
[GL.MAX_VARYING_COMPONENTS]: get2(GL.MAX_VARYING_COMPONENTS), // GLint
|
|
85
|
+
[GL.MAX_VERTEX_OUTPUT_COMPONENTS]: get2(GL.MAX_VERTEX_OUTPUT_COMPONENTS), // GLint
|
|
86
|
+
[GL.MAX_VERTEX_UNIFORM_BLOCKS]: get2(GL.MAX_VERTEX_UNIFORM_BLOCKS), // GLint
|
|
87
|
+
[GL.MAX_VERTEX_UNIFORM_COMPONENTS]: get2(GL.MAX_VERTEX_UNIFORM_COMPONENTS), // GLint
|
|
88
|
+
[GL.MIN_PROGRAM_TEXEL_OFFSET]: get2(GL.MIN_PROGRAM_TEXEL_OFFSET), // GLint
|
|
89
|
+
[GL.MAX_PROGRAM_TEXEL_OFFSET]: get2(GL.MAX_PROGRAM_TEXEL_OFFSET), // GLint
|
|
90
|
+
[GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT]: get2(GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT) // GLint
|
|
91
|
+
};
|
|
86
92
|
}
|
|
87
|
-
//# sourceMappingURL=device-limits.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { DeviceInfo } from '@luma.gl/core';
|
|
2
2
|
/** @returns strings identifying the GPU vendor and driver. */
|
|
3
|
-
export declare function getDeviceInfo(gl:
|
|
3
|
+
export declare function getDeviceInfo(gl: WebGL2RenderingContext): DeviceInfo;
|
|
4
4
|
//# sourceMappingURL=get-device-info.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-device-info.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/get-device-info.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"get-device-info.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/get-device-info.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAGzC,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,EAAE,EAAE,sBAAsB,GAAG,UAAU,CAuCpE"}
|