@luma.gl/webgl 9.0.0-beta.5 → 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 +128 -71
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +20 -19
- package/dist/adapter/converters/shader-formats.d.ts.map +1 -1
- package/dist/adapter/converters/shader-formats.js +40 -20
- package/dist/adapter/converters/texture-formats.d.ts +16 -11
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +224 -205
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +22 -21
- package/dist/adapter/device-helpers/webgl-device-features.d.ts +19 -5
- package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-features.js +89 -43
- package/dist/adapter/device-helpers/webgl-device-info.d.ts +2 -1
- package/dist/adapter/device-helpers/webgl-device-info.d.ts.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-info.js +22 -19
- package/dist/adapter/device-helpers/webgl-device-limits.d.ts +33 -48
- package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-limits.js +42 -87
- package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -1
- package/dist/adapter/helpers/decode-webgl-types.js +47 -46
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +35 -34
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +3 -2
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +42 -41
- package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/webgl-topology-utils.js +40 -39
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +2 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +2 -2
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +30 -17
- package/dist/adapter/objects/webgl-resource.d.ts +2 -24
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +6 -101
- package/dist/adapter/resources/webgl-buffer.d.ts +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +16 -15
- package/dist/adapter/resources/webgl-command-buffer.d.ts +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +32 -31
- package/dist/adapter/resources/webgl-command-encoder.d.ts +8 -3
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +4 -2
- package/dist/adapter/resources/webgl-external-texture.js +6 -5
- package/dist/adapter/resources/webgl-framebuffer.d.ts +6 -10
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +60 -53
- package/dist/adapter/resources/webgl-query-set.d.ts +44 -0
- package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-query-set.js +136 -0
- package/dist/adapter/resources/webgl-render-pass.d.ts +3 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +20 -12
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +4 -5
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +52 -61
- package/dist/adapter/resources/webgl-sampler.d.ts +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +5 -4
- package/dist/adapter/resources/webgl-shader.d.ts +3 -2
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +15 -9
- package/dist/adapter/resources/webgl-texture-view.d.ts +14 -0
- package/dist/adapter/resources/webgl-texture-view.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-texture-view.js +18 -0
- package/dist/adapter/resources/webgl-texture.d.ts +6 -4
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +39 -32
- 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 +10 -10
- package/dist/adapter/resources/webgl-vertex-array.d.ts +3 -3
- package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-vertex-array.js +10 -9
- package/dist/adapter/webgl-canvas-context.d.ts +2 -2
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +3 -2
- package/dist/adapter/webgl-device.d.ts +35 -30
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +110 -109
- package/dist/classic/accessor.d.ts.map +1 -1
- package/dist/classic/accessor.js +8 -7
- package/dist/classic/clear.d.ts.map +1 -1
- package/dist/classic/clear.js +5 -4
- package/dist/classic/copy-and-blit.d.ts +1 -1
- package/dist/classic/copy-and-blit.d.ts.map +1 -1
- package/dist/classic/copy-and-blit.js +19 -19
- package/dist/classic/format-utils.d.ts.map +1 -1
- package/dist/classic/format-utils.js +16 -15
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +20 -19
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +2 -1
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +7 -6
- package/dist/context/{context → helpers}/create-browser-context.d.ts.map +1 -1
- package/dist/context/{context → helpers}/create-browser-context.js +2 -1
- package/dist/context/{context/context-data.d.ts → helpers/webgl-context-data.d.ts} +2 -3
- package/dist/context/helpers/webgl-context-data.d.ts.map +1 -0
- package/dist/context/helpers/webgl-context-data.js +21 -0
- package/dist/context/helpers/webgl-extensions.d.ts +4 -0
- package/dist/context/helpers/webgl-extensions.d.ts.map +1 -0
- package/dist/context/helpers/webgl-extensions.js +10 -0
- 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 +7 -11
- package/dist/context/parameters/webgl-parameter-tables.d.ts +12 -13
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +302 -295
- package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +2 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +5 -4
- package/dist/context/state-tracker/with-parameters.d.ts +2 -3
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +6 -8
- package/dist/dist.dev.js +1635 -1387
- package/dist/index.cjs +1766 -1534
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +25 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist.min.js +6 -6
- package/package.json +4 -4
- package/src/adapter/converters/device-parameters.ts +114 -27
- package/src/adapter/converters/sampler-parameters.ts +12 -3
- package/src/adapter/converters/shader-formats.ts +47 -22
- package/src/adapter/converters/texture-formats.ts +138 -114
- package/src/adapter/converters/vertex-formats.ts +3 -3
- package/src/adapter/device-helpers/webgl-device-features.ts +102 -50
- package/src/adapter/device-helpers/webgl-device-info.ts +28 -19
- package/src/adapter/device-helpers/webgl-device-limits.ts +46 -150
- package/src/adapter/helpers/decode-webgl-types.ts +13 -7
- package/src/adapter/helpers/get-shader-layout.ts +4 -3
- package/src/adapter/helpers/parse-shader-compiler-log.ts +10 -6
- package/src/adapter/helpers/set-uniform.ts +2 -1
- package/src/adapter/helpers/webgl-topology-utils.ts +10 -3
- package/src/adapter/objects/constants-to-keys.ts +2 -1
- package/src/adapter/objects/webgl-renderbuffer.ts +36 -14
- package/src/adapter/objects/webgl-resource.ts +7 -125
- package/src/adapter/resources/webgl-buffer.ts +4 -3
- package/src/adapter/resources/webgl-command-buffer.ts +5 -5
- package/src/adapter/resources/webgl-command-encoder.ts +14 -11
- package/src/adapter/resources/webgl-external-texture.ts +6 -5
- package/src/adapter/resources/webgl-framebuffer.ts +61 -53
- package/src/adapter/resources/webgl-query-set.ts +171 -0
- package/src/adapter/resources/webgl-render-pass.ts +20 -11
- package/src/adapter/resources/webgl-render-pipeline.ts +54 -54
- package/src/adapter/resources/webgl-sampler.ts +2 -1
- package/src/adapter/resources/webgl-shader.ts +12 -5
- package/src/adapter/resources/webgl-texture-view.ts +28 -0
- package/src/adapter/resources/webgl-texture.ts +14 -3
- package/src/adapter/resources/webgl-transform-feedback.ts +2 -7
- package/src/adapter/resources/webgl-vertex-array.ts +4 -3
- package/src/adapter/webgl-canvas-context.ts +6 -4
- package/src/adapter/webgl-device.ts +116 -107
- package/src/classic/accessor.ts +5 -4
- package/src/classic/clear.ts +14 -8
- package/src/classic/copy-and-blit.ts +11 -4
- package/src/classic/format-utils.ts +2 -1
- package/src/classic/typed-array-utils.ts +3 -7
- package/src/context/debug/spector.ts +9 -6
- package/src/context/debug/webgl-developer-tools.ts +27 -14
- package/src/context/{context → helpers}/create-browser-context.ts +3 -2
- package/src/context/helpers/webgl-context-data.ts +31 -0
- package/src/context/helpers/webgl-extensions.ts +17 -0
- package/src/context/parameters/unified-parameter-api.ts +6 -17
- package/src/context/parameters/webgl-parameter-tables.ts +69 -32
- package/src/context/state-tracker/deep-array-equal.ts +2 -1
- package/src/context/state-tracker/track-context-state.ts +11 -6
- package/src/context/state-tracker/with-parameters.ts +8 -8
- package/src/index.ts +7 -6
- package/src/types.ts +2 -1
- 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.map +0 -1
- package/dist/context/context/context-data.js +0 -33
- package/src/context/context/context-data.ts +0 -44
- /package/dist/context/{context → helpers}/create-browser-context.d.ts +0 -0
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { DeviceLimits } from '@luma.gl/core';
|
|
2
|
-
import { GL } from '@luma.gl/constants';
|
|
3
|
-
/** Populate a WebGPU style device limits */
|
|
4
|
-
export declare function getDeviceLimits(gl: WebGL2RenderingContext): DeviceLimits;
|
|
5
|
-
/** WebGL context limits */
|
|
6
|
-
export type WebGLLimits = {
|
|
7
|
-
[GL.ALIASED_LINE_WIDTH_RANGE]: [number, number];
|
|
8
|
-
[GL.ALIASED_POINT_SIZE_RANGE]: [number, number];
|
|
9
|
-
[GL.MAX_TEXTURE_SIZE]: number;
|
|
10
|
-
[GL.MAX_CUBE_MAP_TEXTURE_SIZE]: number;
|
|
11
|
-
[GL.MAX_TEXTURE_IMAGE_UNITS]: number;
|
|
12
|
-
[GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS]: number;
|
|
13
|
-
[GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS]: number;
|
|
14
|
-
[GL.MAX_RENDERBUFFER_SIZE]: number;
|
|
15
|
-
[GL.MAX_VARYING_VECTORS]: number;
|
|
16
|
-
[GL.MAX_VERTEX_ATTRIBS]: number;
|
|
17
|
-
[GL.MAX_VERTEX_UNIFORM_VECTORS]: number;
|
|
18
|
-
[GL.MAX_FRAGMENT_UNIFORM_VECTORS]: number;
|
|
19
|
-
[GL.MAX_VIEWPORT_DIMS]: [number, number];
|
|
20
|
-
[GL.MAX_TEXTURE_MAX_ANISOTROPY_EXT]: number;
|
|
21
|
-
[GL.MAX_3D_TEXTURE_SIZE]: number;
|
|
22
|
-
[GL.MAX_ARRAY_TEXTURE_LAYERS]: number;
|
|
23
|
-
[GL.MAX_COLOR_ATTACHMENTS]: number;
|
|
24
|
-
[GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS]: number;
|
|
25
|
-
[GL.MAX_COMBINED_UNIFORM_BLOCKS]: number;
|
|
26
|
-
[GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS]: number;
|
|
27
|
-
[GL.MAX_DRAW_BUFFERS]: number;
|
|
28
|
-
[GL.MAX_ELEMENT_INDEX]: number;
|
|
29
|
-
[GL.MAX_ELEMENTS_INDICES]: number;
|
|
30
|
-
[GL.MAX_ELEMENTS_VERTICES]: number;
|
|
31
|
-
[GL.MAX_FRAGMENT_INPUT_COMPONENTS]: number;
|
|
32
|
-
[GL.MAX_FRAGMENT_UNIFORM_BLOCKS]: number;
|
|
33
|
-
[GL.MAX_FRAGMENT_UNIFORM_COMPONENTS]: number;
|
|
34
|
-
[GL.MAX_SAMPLES]: number;
|
|
35
|
-
[GL.MAX_TEXTURE_LOD_BIAS]: number;
|
|
36
|
-
[GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS]: number;
|
|
37
|
-
[GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS]: number;
|
|
38
|
-
[GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS]: number;
|
|
39
|
-
[GL.MAX_UNIFORM_BLOCK_SIZE]: number;
|
|
40
|
-
[GL.MAX_UNIFORM_BUFFER_BINDINGS]: number;
|
|
41
|
-
[GL.MAX_VARYING_COMPONENTS]: number;
|
|
42
|
-
[GL.MAX_VERTEX_OUTPUT_COMPONENTS]: number;
|
|
43
|
-
[GL.MAX_VERTEX_UNIFORM_BLOCKS]: number;
|
|
44
|
-
[GL.MAX_VERTEX_UNIFORM_COMPONENTS]: number;
|
|
45
|
-
[GL.MIN_PROGRAM_TEXEL_OFFSET]: number;
|
|
46
|
-
[GL.MAX_PROGRAM_TEXEL_OFFSET]: number;
|
|
47
|
-
[GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT]: number;
|
|
48
|
-
};
|
|
49
|
-
export declare function getWebGLLimits(gl: WebGL2RenderingContext): WebGLLimits;
|
|
50
|
-
//# sourceMappingURL=device-limits.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"device-limits.d.ts","sourceRoot":"","sources":["../../../src/adapter/device-helpers/device-limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
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 */
|
|
5
|
-
export function getDeviceLimits(gl) {
|
|
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
|
-
};
|
|
34
|
-
}
|
|
35
|
-
export function getWebGLLimits(gl) {
|
|
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
|
-
};
|
|
92
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
// luma.gl, MIT license
|
|
2
|
-
// Copyright (c) vis.gl contributors
|
|
3
|
-
import { GL } from '@luma.gl/constants';
|
|
4
|
-
/** @returns strings identifying the GPU vendor and driver. */
|
|
5
|
-
export function getDeviceInfo(gl) {
|
|
6
|
-
// "Masked" info is always available, but don't contain much useful information
|
|
7
|
-
const vendorMasked = gl.getParameter(GL.VENDOR);
|
|
8
|
-
const rendererMasked = gl.getParameter(GL.RENDERER);
|
|
9
|
-
// If we are lucky, unmasked info is available
|
|
10
|
-
// https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/
|
|
11
|
-
const ext = gl.getExtension('WEBGL_debug_renderer_info');
|
|
12
|
-
const vendorUnmasked = gl.getParameter(ext ? ext.UNMASKED_VENDOR_WEBGL : GL.VENDOR);
|
|
13
|
-
const rendererUnmasked = gl.getParameter(ext ? ext.UNMASKED_RENDERER_WEBGL : GL.RENDERER);
|
|
14
|
-
const vendor = vendorUnmasked || vendorMasked;
|
|
15
|
-
const renderer = rendererUnmasked || rendererMasked;
|
|
16
|
-
// Driver version
|
|
17
|
-
const version = gl.getParameter(GL.VERSION);
|
|
18
|
-
// "Sniff" the GPU type and backend from the info. This works best if unmasked info is available.
|
|
19
|
-
const gpu = identifyGPUVendor(vendor, renderer);
|
|
20
|
-
const gpuBackend = identifyGPUBackend(vendor, renderer);
|
|
21
|
-
const gpuType = identifyGPUType(vendor, renderer);
|
|
22
|
-
// Determine GLSL version
|
|
23
|
-
// For now, skip parsing of the long version string, just use context type below to deduce version
|
|
24
|
-
// const version = gl.getParameter(GL.SHADING_LANGUAGE_VERSION) as string;
|
|
25
|
-
// const shadingLanguageVersion = parseGLSLVersion(version);
|
|
26
|
-
const shadingLanguage = 'glsl';
|
|
27
|
-
const shadingLanguageVersion = 300;
|
|
28
|
-
return {
|
|
29
|
-
type: 'webgl',
|
|
30
|
-
gpu,
|
|
31
|
-
gpuType,
|
|
32
|
-
gpuBackend,
|
|
33
|
-
vendor,
|
|
34
|
-
renderer,
|
|
35
|
-
version,
|
|
36
|
-
shadingLanguage,
|
|
37
|
-
shadingLanguageVersion
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
/** "Sniff" the GPU type from the info. This works best if unmasked info is available. */
|
|
41
|
-
function identifyGPUVendor(vendor, renderer) {
|
|
42
|
-
if ((/NVIDIA/i.exec(vendor)) || (/NVIDIA/i.exec(renderer))) {
|
|
43
|
-
return 'nvidia';
|
|
44
|
-
}
|
|
45
|
-
if ((/INTEL/i.exec(vendor)) || (/INTEL/i.exec(renderer))) {
|
|
46
|
-
return 'intel';
|
|
47
|
-
}
|
|
48
|
-
if ((/Apple/i.exec(vendor)) || (/Apple/i.exec(renderer))) {
|
|
49
|
-
return 'apple';
|
|
50
|
-
}
|
|
51
|
-
if ((/AMD/i.exec(vendor)) ||
|
|
52
|
-
(/AMD/i.exec(renderer)) ||
|
|
53
|
-
(/ATI/i.exec(vendor)) ||
|
|
54
|
-
(/ATI/i.exec(renderer))) {
|
|
55
|
-
return 'amd';
|
|
56
|
-
}
|
|
57
|
-
if ((/SwiftShader/i.exec(vendor)) || (/SwiftShader/i.exec(renderer))) {
|
|
58
|
-
return 'software';
|
|
59
|
-
}
|
|
60
|
-
return 'unknown';
|
|
61
|
-
}
|
|
62
|
-
/** "Sniff" the GPU backend from the info. This works best if unmasked info is available. */
|
|
63
|
-
function identifyGPUBackend(vendor, renderer) {
|
|
64
|
-
if ((/Metal/i.exec(vendor)) || (/Metal/i.exec(renderer))) {
|
|
65
|
-
return 'metal';
|
|
66
|
-
}
|
|
67
|
-
if ((/ANGLE/i.exec(vendor)) || (/ANGLE/i.exec(renderer))) {
|
|
68
|
-
return 'opengl';
|
|
69
|
-
}
|
|
70
|
-
return 'unknown';
|
|
71
|
-
}
|
|
72
|
-
function identifyGPUType(vendor, renderer) {
|
|
73
|
-
if ((/SwiftShader/i.exec(vendor)) || (/SwiftShader/i.exec(renderer))) {
|
|
74
|
-
return 'cpu';
|
|
75
|
-
}
|
|
76
|
-
const gpuVendor = identifyGPUVendor(vendor, renderer);
|
|
77
|
-
switch (gpuVendor) {
|
|
78
|
-
case 'intel':
|
|
79
|
-
return 'integrated';
|
|
80
|
-
case 'software':
|
|
81
|
-
return 'cpu';
|
|
82
|
-
case 'unknown':
|
|
83
|
-
return 'unknown';
|
|
84
|
-
default:
|
|
85
|
-
return 'discrete';
|
|
86
|
-
}
|
|
87
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-data.d.ts","sourceRoot":"","sources":["../../../src/context/context/context-data.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,sBAAsB,GAAG,gBAAgB,CAc3E;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,GAAG,IAAI,CAYrE"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// luma.gl, MIT license
|
|
2
|
-
// Copyright (c) vis.gl contributors
|
|
3
|
-
/**
|
|
4
|
-
* Gets luma.gl specific state from a context
|
|
5
|
-
* @returns context state
|
|
6
|
-
*/
|
|
7
|
-
export function getContextData(gl) {
|
|
8
|
-
// @ts-expect-error
|
|
9
|
-
const luma = gl.luma;
|
|
10
|
-
if (!luma) {
|
|
11
|
-
const contextState = {
|
|
12
|
-
_polyfilled: false,
|
|
13
|
-
_extensions: {}
|
|
14
|
-
};
|
|
15
|
-
// @ts-expect-error
|
|
16
|
-
gl.luma = contextState;
|
|
17
|
-
}
|
|
18
|
-
// @ts-expect-error
|
|
19
|
-
return gl.luma;
|
|
20
|
-
}
|
|
21
|
-
export function initializeExtensions(gl) {
|
|
22
|
-
const contextState = getContextData(gl);
|
|
23
|
-
// `getSupportedExtensions` can return null when context is lost.
|
|
24
|
-
const EXTENSIONS = gl.getSupportedExtensions() || [];
|
|
25
|
-
// Generates warnings in Chrome
|
|
26
|
-
const IGNORE_EXTENSIONS = ['WEBGL_polygon_mode'];
|
|
27
|
-
for (const extensionName of EXTENSIONS) {
|
|
28
|
-
if (!IGNORE_EXTENSIONS.includes(extensionName)) {
|
|
29
|
-
const extension = gl.getExtension(extensionName);
|
|
30
|
-
contextState._extensions[extensionName] = extension;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// luma.gl, MIT license
|
|
2
|
-
// Copyright (c) vis.gl contributors
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Stores luma.gl specific state associated with a context
|
|
6
|
-
*/
|
|
7
|
-
export interface WebGLContextData {
|
|
8
|
-
_polyfilled: boolean;
|
|
9
|
-
_extensions: Record<string, any>;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Gets luma.gl specific state from a context
|
|
14
|
-
* @returns context state
|
|
15
|
-
*/
|
|
16
|
-
export function getContextData(gl: WebGL2RenderingContext): WebGLContextData {
|
|
17
|
-
// @ts-expect-error
|
|
18
|
-
const luma = gl.luma as WebGLContextData | null;
|
|
19
|
-
if (!luma) {
|
|
20
|
-
const contextState: WebGLContextData = {
|
|
21
|
-
_polyfilled: false,
|
|
22
|
-
_extensions: {}
|
|
23
|
-
};
|
|
24
|
-
// @ts-expect-error
|
|
25
|
-
gl.luma = contextState;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// @ts-expect-error
|
|
29
|
-
return gl.luma;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export function initializeExtensions(gl: WebGL2RenderingContext): void {
|
|
33
|
-
const contextState = getContextData(gl);
|
|
34
|
-
// `getSupportedExtensions` can return null when context is lost.
|
|
35
|
-
const EXTENSIONS = gl.getSupportedExtensions() || [];
|
|
36
|
-
// Generates warnings in Chrome
|
|
37
|
-
const IGNORE_EXTENSIONS = ['WEBGL_polygon_mode'];
|
|
38
|
-
for (const extensionName of EXTENSIONS) {
|
|
39
|
-
if (!IGNORE_EXTENSIONS.includes(extensionName)) {
|
|
40
|
-
const extension = gl.getExtension(extensionName);
|
|
41
|
-
contextState._extensions[extensionName] = extension;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
File without changes
|