@luma.gl/test-utils 9.1.0-beta.9 → 9.2.0-alpha.1
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/create-test-device.d.ts +8 -9
- package/dist/create-test-device.d.ts.map +1 -1
- package/dist/create-test-device.js +89 -46
- package/dist/create-test-device.js.map +1 -1
- package/dist/deprecated/classic-animation-loop.d.ts +2 -2
- package/dist/deprecated/classic-animation-loop.d.ts.map +1 -1
- package/dist/deprecated/classic-animation-loop.js +3 -2
- package/dist/deprecated/classic-animation-loop.js.map +1 -1
- package/dist/deprecated/sync-test-device.d.ts +14 -0
- package/dist/deprecated/sync-test-device.d.ts.map +1 -0
- package/dist/deprecated/sync-test-device.js +32 -0
- package/dist/deprecated/sync-test-device.js.map +1 -0
- package/dist/index.cjs +1168 -1114
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/null-device/null-adapter.d.ts +2 -2
- package/dist/null-device/null-adapter.d.ts.map +1 -1
- package/dist/null-device/null-adapter.js +4 -2
- package/dist/null-device/null-adapter.js.map +1 -1
- package/dist/null-device/null-canvas-context.d.ts +4 -13
- package/dist/null-device/null-canvas-context.d.ts.map +1 -1
- package/dist/null-device/null-canvas-context.js +5 -26
- package/dist/null-device/null-canvas-context.js.map +1 -1
- package/dist/null-device/null-device-features.d.ts +1 -1
- package/dist/null-device/null-device-features.d.ts.map +1 -1
- package/dist/null-device/null-device-features.js +1 -1
- package/dist/null-device/null-device-features.js.map +1 -1
- package/dist/null-device/null-device.d.ts +7 -5
- package/dist/null-device/null-device.d.ts.map +1 -1
- package/dist/null-device/null-device.js +7 -9
- package/dist/null-device/null-device.js.map +1 -1
- package/dist/null-device/resources/null-command-buffer.d.ts +5 -5
- package/dist/null-device/resources/null-command-buffer.d.ts.map +1 -1
- package/dist/null-device/resources/null-command-buffer.js +3 -3
- package/dist/null-device/resources/null-command-buffer.js.map +1 -1
- package/dist/null-device/resources/null-command-encoder.d.ts +22 -0
- package/dist/null-device/resources/null-command-encoder.d.ts.map +1 -0
- package/dist/null-device/resources/null-command-encoder.js +32 -0
- package/dist/null-device/resources/null-command-encoder.js.map +1 -0
- package/dist/null-device/resources/null-render-pass.d.ts.map +1 -1
- package/dist/null-device/resources/null-render-pass.js.map +1 -1
- package/dist/null-device/resources/null-render-pipeline.d.ts +0 -1
- package/dist/null-device/resources/null-render-pipeline.d.ts.map +1 -1
- package/dist/null-device/resources/null-render-pipeline.js +0 -3
- package/dist/null-device/resources/null-render-pipeline.js.map +1 -1
- package/dist/null-device/resources/null-texture.d.ts +3 -9
- package/dist/null-device/resources/null-texture.d.ts.map +1 -1
- package/dist/null-device/resources/null-texture.js +18 -43
- package/dist/null-device/resources/null-texture.js.map +1 -1
- package/dist/performance-test-runner.d.ts.map +1 -1
- package/dist/performance-test-runner.js +1 -0
- package/dist/performance-test-runner.js.map +1 -1
- package/dist/register-devices.d.ts +2 -0
- package/dist/register-devices.d.ts.map +1 -0
- package/dist/register-devices.js +8 -0
- package/dist/register-devices.js.map +1 -0
- package/dist/snapshot-test-runner.d.ts.map +1 -1
- package/dist/snapshot-test-runner.js +1 -0
- package/dist/snapshot-test-runner.js.map +1 -1
- package/dist/test-runner.d.ts +1 -1
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +3 -2
- package/dist/test-runner.js.map +1 -1
- package/dist/utils/deep-copy.d.ts +1 -1
- package/dist/utils/deep-copy.d.ts.map +1 -1
- package/dist/utils/deep-copy.js.map +1 -1
- package/package.json +7 -7
- package/src/create-test-device.ts +100 -46
- package/src/deprecated/classic-animation-loop.ts +4 -2
- package/src/deprecated/sync-test-device.ts +35 -0
- package/src/index.ts +12 -4
- package/src/null-device/null-adapter.ts +5 -2
- package/src/null-device/null-canvas-context.ts +8 -32
- package/src/null-device/null-device-features.ts +1 -1
- package/src/null-device/null-device.ts +10 -14
- package/src/null-device/resources/null-command-buffer.ts +5 -5
- package/src/null-device/resources/null-command-encoder.ts +55 -0
- package/src/null-device/resources/null-render-pass.ts +3 -3
- package/src/null-device/resources/null-render-pipeline.ts +0 -4
- package/src/null-device/resources/null-texture.ts +22 -61
- package/src/performance-test-runner.ts +1 -0
- package/src/register-devices.ts +9 -0
- package/src/snapshot-test-runner.ts +1 -0
- package/src/test-runner.ts +4 -2
- package/src/utils/deep-copy.ts +2 -2
|
@@ -41,10 +41,6 @@ export class NullRenderPipeline extends RenderPipeline {
|
|
|
41
41
|
Object.assign(this.bindings, bindings);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
override setUniformsWebGL(uniforms: Record<string, UniformValue>): void {
|
|
45
|
-
Object.assign(this.uniforms, uniforms);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
44
|
draw(options: {
|
|
49
45
|
renderPass: RenderPass;
|
|
50
46
|
vertexArray: VertexArray;
|
|
@@ -4,16 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
TextureProps,
|
|
7
|
-
Sampler,
|
|
8
|
-
SamplerProps,
|
|
9
7
|
TextureViewProps,
|
|
10
8
|
CopyExternalImageOptions,
|
|
11
|
-
|
|
12
|
-
Texture2DData,
|
|
13
|
-
Texture3DData,
|
|
14
|
-
TextureCubeData,
|
|
15
|
-
TextureArrayData,
|
|
16
|
-
TextureCubeArrayData
|
|
9
|
+
CopyImageDataOptions
|
|
17
10
|
} from '@luma.gl/core';
|
|
18
11
|
|
|
19
12
|
import {Texture} from '@luma.gl/core';
|
|
@@ -30,57 +23,16 @@ export class NullTexture extends Texture {
|
|
|
30
23
|
constructor(device: NullDevice, props: TextureProps) {
|
|
31
24
|
super(device, props);
|
|
32
25
|
|
|
33
|
-
// Texture base class strips out the data prop, so we need to add it back in
|
|
34
|
-
const propsWithData = {...this.props};
|
|
35
|
-
propsWithData.data = props.data;
|
|
36
|
-
|
|
37
26
|
this.device = device;
|
|
38
27
|
|
|
39
|
-
this.initialize(propsWithData);
|
|
40
|
-
|
|
41
|
-
Object.seal(this);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
override destroy(): void {
|
|
45
|
-
if (!this.destroyed) {
|
|
46
|
-
super.destroy();
|
|
47
|
-
this.trackDeallocatedMemory('Texture');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
createView(props: TextureViewProps): NullTextureView {
|
|
52
|
-
return new NullTextureView(this.device, {...props, texture: this});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
setTexture1DData(data: Texture1DData): void {
|
|
56
|
-
throw new Error('not implemented');
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
setTexture2DData(lodData: Texture2DData, depth?: number, target?: number): void {
|
|
60
|
-
throw new Error('not implemented');
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
setTexture3DData(lodData: Texture3DData, depth?: number, target?: number): void {
|
|
64
|
-
throw new Error('not implemented');
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
setTextureCubeData(data: TextureCubeData, depth?: number): void {
|
|
68
|
-
throw new Error('not implemented');
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
setTextureArrayData(data: TextureArrayData): void {
|
|
72
|
-
throw new Error('not implemented');
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
setTextureCubeArrayData(data: TextureCubeArrayData): void {
|
|
76
|
-
throw new Error('not implemented');
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
initialize(props: TextureProps = {}): this {
|
|
80
28
|
// const data = props.data;
|
|
81
29
|
// this.setImageData(props);
|
|
82
30
|
|
|
83
|
-
|
|
31
|
+
if (props.sampler) {
|
|
32
|
+
this.setSampler(props.sampler);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
this.sampler = new NullSampler(this.device, this.props.sampler);
|
|
84
36
|
|
|
85
37
|
this.view = new NullTextureView(this.device, {
|
|
86
38
|
...props,
|
|
@@ -89,17 +41,18 @@ export class NullTexture extends Texture {
|
|
|
89
41
|
arrayLayerCount: 1
|
|
90
42
|
});
|
|
91
43
|
|
|
92
|
-
|
|
44
|
+
Object.seal(this);
|
|
93
45
|
}
|
|
94
46
|
|
|
95
|
-
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
this.sampler = new NullSampler(this.device, sampler);
|
|
47
|
+
override destroy(): void {
|
|
48
|
+
if (!this.destroyed) {
|
|
49
|
+
super.destroy();
|
|
50
|
+
this.trackDeallocatedMemory('Texture');
|
|
100
51
|
}
|
|
52
|
+
}
|
|
101
53
|
|
|
102
|
-
|
|
54
|
+
createView(props: TextureViewProps): NullTextureView {
|
|
55
|
+
return new NullTextureView(this.device, {...props, texture: this});
|
|
103
56
|
}
|
|
104
57
|
|
|
105
58
|
copyExternalImage(options: CopyExternalImageOptions): {width: number; height: number} {
|
|
@@ -122,4 +75,12 @@ export class NullTexture extends Texture {
|
|
|
122
75
|
|
|
123
76
|
return {width, height};
|
|
124
77
|
}
|
|
78
|
+
|
|
79
|
+
override copyImageData(options: CopyImageDataOptions): void {
|
|
80
|
+
throw new Error('copyImageData not implemented');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
override generateMipmapsWebGL(): void {
|
|
84
|
+
// ignore
|
|
85
|
+
}
|
|
125
86
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// luma.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import {luma} from '@luma.gl/core';
|
|
6
|
+
import {webgl2Adapter} from '@luma.gl/webgl';
|
|
7
|
+
import {webgpuAdapter} from '@luma.gl/webgpu';
|
|
8
|
+
|
|
9
|
+
luma.registerAdapters([webgl2Adapter, webgpuAdapter]);
|
package/src/test-runner.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/* eslint-disable */
|
|
7
7
|
|
|
8
8
|
import {AnimationProps} from '@luma.gl/engine';
|
|
9
|
-
import {
|
|
9
|
+
import {getWebGLTestDevice} from './create-test-device';
|
|
10
10
|
|
|
11
11
|
// TODO - Replace with new AnimationLoop from `@luma.gl/engine`
|
|
12
12
|
import {ClassicAnimationLoop as AnimationLoop} from './deprecated/classic-animation-loop';
|
|
@@ -107,9 +107,11 @@ export class TestRunner {
|
|
|
107
107
|
/**
|
|
108
108
|
* Returns a promise that resolves when all the test cases are done
|
|
109
109
|
*/
|
|
110
|
-
run(options: object = {}): Promise<void> {
|
|
110
|
+
async run(options: object = {}): Promise<void> {
|
|
111
111
|
this.testOptions = {...this.testOptions, ...options};
|
|
112
112
|
|
|
113
|
+
const device = await getWebGLTestDevice();
|
|
114
|
+
|
|
113
115
|
return new Promise<void>((resolve, reject) => {
|
|
114
116
|
this._animationLoop = new AnimationLoop({
|
|
115
117
|
...this.props,
|
package/src/utils/deep-copy.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/** Recursively copies objects */
|
|
2
|
-
export function deepCopy(object:
|
|
2
|
+
export function deepCopy(object: any): any {
|
|
3
3
|
if (Array.isArray(object)) {
|
|
4
4
|
return object.map(element => deepCopy(element));
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
if (object !== null && typeof object === 'object') {
|
|
8
|
-
const newObject = {};
|
|
8
|
+
const newObject: Record<string, any> = {};
|
|
9
9
|
for (const key in object) {
|
|
10
10
|
newObject[key] = deepCopy(object[key]);
|
|
11
11
|
}
|