@luma.gl/core 9.2.0-alpha.1 → 9.2.0-alpha.3
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/canvas-context.d.ts +17 -3
- package/dist/adapter/canvas-context.d.ts.map +1 -1
- package/dist/adapter/canvas-context.js +48 -2
- package/dist/adapter/canvas-context.js.map +1 -1
- package/dist/adapter/device.d.ts +56 -11
- package/dist/adapter/device.d.ts.map +1 -1
- package/dist/adapter/device.js +78 -22
- package/dist/adapter/device.js.map +1 -1
- package/dist/adapter/luma.js +1 -1
- package/dist/adapter/resources/buffer.d.ts +13 -7
- package/dist/adapter/resources/buffer.d.ts.map +1 -1
- package/dist/adapter/resources/buffer.js +1 -5
- package/dist/adapter/resources/buffer.js.map +1 -1
- package/dist/adapter/resources/command-encoder.d.ts +0 -1
- package/dist/adapter/resources/command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/command-encoder.js.map +1 -1
- package/dist/adapter/resources/framebuffer.d.ts +3 -3
- package/dist/adapter/resources/framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/pipeline-layout.d.ts +13 -0
- package/dist/adapter/resources/pipeline-layout.d.ts.map +1 -0
- package/dist/adapter/resources/pipeline-layout.js +21 -0
- package/dist/adapter/resources/pipeline-layout.js.map +1 -0
- package/dist/adapter/resources/render-pipeline.d.ts +4 -4
- package/dist/adapter/resources/render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/resource.d.ts +1 -0
- package/dist/adapter/resources/resource.d.ts.map +1 -1
- package/dist/adapter/resources/resource.js.map +1 -1
- package/dist/adapter/resources/texture-view.d.ts +1 -1
- package/dist/adapter/resources/texture-view.d.ts.map +1 -1
- package/dist/adapter/resources/texture.d.ts +1 -1
- package/dist/adapter/resources/texture.d.ts.map +1 -1
- package/dist/adapter/resources/vertex-array.js +1 -1
- package/dist/adapter/resources/vertex-array.js.map +1 -1
- package/dist/adapter/types/attachments.d.ts +3 -3
- package/dist/adapter/types/attachments.d.ts.map +1 -1
- package/dist/adapter/types/buffer-layout.d.ts +1 -1
- package/dist/adapter/types/buffer-layout.d.ts.map +1 -1
- package/dist/adapter/types/parameters.d.ts +2 -2
- package/dist/adapter/types/parameters.d.ts.map +1 -1
- package/dist/adapter/types/shader-layout.d.ts +5 -6
- package/dist/adapter/types/shader-layout.d.ts.map +1 -1
- package/dist/adapter-utils/get-attribute-from-layouts.d.ts +3 -3
- package/dist/adapter-utils/get-attribute-from-layouts.d.ts.map +1 -1
- package/dist/adapter-utils/get-attribute-from-layouts.js +2 -2
- package/dist/adapter-utils/get-attribute-from-layouts.js.map +1 -1
- package/dist/dist.dev.js +417 -267
- package/dist/dist.min.js +5 -4
- package/dist/index.cjs +416 -266
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +18 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/portable/uniform-block.d.ts +1 -1
- package/dist/portable/uniform-block.d.ts.map +1 -1
- package/dist/portable/uniform-buffer-layout.d.ts +2 -2
- package/dist/portable/uniform-buffer-layout.d.ts.map +1 -1
- package/dist/portable/uniform-buffer-layout.js +2 -2
- package/dist/portable/uniform-buffer-layout.js.map +1 -1
- package/dist/portable/uniform-store.d.ts +1 -1
- package/dist/portable/uniform-store.d.ts.map +1 -1
- package/dist/shadertypes/{data-types.d.ts → data-types/data-types.d.ts} +4 -0
- package/dist/shadertypes/data-types/data-types.d.ts.map +1 -0
- package/dist/shadertypes/data-types/data-types.js.map +1 -0
- package/dist/shadertypes/{utils → data-types}/decode-data-types.d.ts +4 -4
- package/dist/shadertypes/data-types/decode-data-types.d.ts.map +1 -0
- package/dist/shadertypes/data-types/decode-data-types.js +74 -0
- package/dist/shadertypes/data-types/decode-data-types.js.map +1 -0
- package/dist/shadertypes/{utils → data-types}/decode-shader-types.d.ts +2 -2
- package/dist/shadertypes/data-types/decode-shader-types.d.ts.map +1 -0
- package/dist/shadertypes/data-types/decode-shader-types.js.map +1 -0
- package/dist/shadertypes/data-types/shader-types.d.ts.map +1 -0
- package/dist/shadertypes/data-types/shader-types.js.map +1 -0
- package/dist/shadertypes/textures/pixel-utils.d.ts +112 -0
- package/dist/shadertypes/textures/pixel-utils.d.ts.map +1 -0
- package/dist/shadertypes/textures/pixel-utils.js +193 -0
- package/dist/shadertypes/textures/pixel-utils.js.map +1 -0
- package/dist/shadertypes/textures/texture-format-decoder.d.ts +18 -0
- package/dist/shadertypes/textures/texture-format-decoder.d.ts.map +1 -0
- package/dist/shadertypes/{utils/decode-texture-format.js → textures/texture-format-decoder.js} +48 -35
- package/dist/shadertypes/textures/texture-format-decoder.js.map +1 -0
- package/dist/shadertypes/textures/texture-format-generics.d.ts +33 -0
- package/dist/shadertypes/textures/texture-format-generics.d.ts.map +1 -0
- package/dist/shadertypes/{texture-formats.js → textures/texture-format-generics.js} +1 -1
- package/dist/shadertypes/textures/texture-format-generics.js.map +1 -0
- package/dist/shadertypes/{utils → textures}/texture-format-table.d.ts +2 -1
- package/dist/shadertypes/textures/texture-format-table.d.ts.map +1 -0
- package/dist/shadertypes/{utils → textures}/texture-format-table.js +41 -42
- package/dist/shadertypes/textures/texture-format-table.js.map +1 -0
- package/dist/shadertypes/textures/texture-formats.d.ts +90 -0
- package/dist/shadertypes/textures/texture-formats.d.ts.map +1 -0
- package/dist/shadertypes/textures/texture-formats.js +58 -0
- package/dist/shadertypes/textures/texture-formats.js.map +1 -0
- package/dist/shadertypes/{utils → vertex-arrays}/decode-vertex-format.d.ts +2 -2
- package/dist/shadertypes/vertex-arrays/decode-vertex-format.d.ts.map +1 -0
- package/dist/shadertypes/{utils → vertex-arrays}/decode-vertex-format.js +4 -4
- package/dist/shadertypes/vertex-arrays/decode-vertex-format.js.map +1 -0
- package/dist/shadertypes/{vertex-formats.d.ts → vertex-arrays/vertex-formats.d.ts} +5 -3
- package/dist/shadertypes/vertex-arrays/vertex-formats.d.ts.map +1 -0
- package/dist/shadertypes/vertex-arrays/vertex-formats.js.map +1 -0
- package/package.json +2 -2
- package/src/adapter/canvas-context.ts +60 -5
- package/src/adapter/device.ts +132 -47
- package/src/adapter/resources/buffer.ts +30 -14
- package/src/adapter/resources/command-encoder.ts +0 -2
- package/src/adapter/resources/framebuffer.ts +5 -5
- package/src/adapter/resources/pipeline-layout.ts +30 -0
- package/src/adapter/resources/render-pipeline.ts +6 -6
- package/src/adapter/resources/resource.ts +1 -0
- package/src/adapter/resources/texture-view.ts +1 -1
- package/src/adapter/resources/texture.ts +1 -1
- package/src/adapter/resources/vertex-array.ts +1 -1
- package/src/adapter/types/attachments.ts +5 -5
- package/src/adapter/types/buffer-layout.ts +1 -1
- package/src/adapter/types/parameters.ts +2 -2
- package/src/adapter/types/shader-layout.ts +8 -5
- package/src/adapter-utils/get-attribute-from-layouts.ts +5 -5
- package/src/index.ts +60 -36
- package/src/portable/uniform-block.ts +1 -1
- package/src/portable/uniform-buffer-layout.ts +4 -4
- package/src/portable/uniform-store.ts +1 -1
- package/src/shadertypes/data-types/data-types.ts +96 -0
- package/src/shadertypes/data-types/decode-data-types.ts +91 -0
- package/src/shadertypes/{utils → data-types}/decode-shader-types.ts +2 -2
- package/src/shadertypes/textures/pixel-utils.ts +239 -0
- package/src/shadertypes/{utils/decode-texture-format.ts → textures/texture-format-decoder.ts} +63 -47
- package/src/shadertypes/textures/texture-format-generics.ts +190 -0
- package/src/shadertypes/{utils → textures}/texture-format-table.ts +62 -52
- package/src/shadertypes/{texture-formats.ts → textures/texture-formats.ts} +229 -147
- package/src/shadertypes/{utils → vertex-arrays}/decode-vertex-format.ts +6 -10
- package/src/shadertypes/{vertex-formats.ts → vertex-arrays/vertex-formats.ts} +20 -6
- package/dist/adapter-utils/buffer-layout-helper.d.ts +0 -11
- package/dist/adapter-utils/buffer-layout-helper.d.ts.map +0 -1
- package/dist/adapter-utils/buffer-layout-helper.js +0 -33
- package/dist/adapter-utils/buffer-layout-helper.js.map +0 -1
- package/dist/shadertypes/data-types.d.ts.map +0 -1
- package/dist/shadertypes/data-types.js.map +0 -1
- package/dist/shadertypes/shader-types.d.ts.map +0 -1
- package/dist/shadertypes/shader-types.js.map +0 -1
- package/dist/shadertypes/texture-formats.d.ts +0 -74
- package/dist/shadertypes/texture-formats.d.ts.map +0 -1
- package/dist/shadertypes/texture-formats.js.map +0 -1
- package/dist/shadertypes/utils/decode-data-types.d.ts.map +0 -1
- package/dist/shadertypes/utils/decode-data-types.js +0 -114
- package/dist/shadertypes/utils/decode-data-types.js.map +0 -1
- package/dist/shadertypes/utils/decode-shader-types.d.ts.map +0 -1
- package/dist/shadertypes/utils/decode-shader-types.js.map +0 -1
- package/dist/shadertypes/utils/decode-texture-format.d.ts +0 -15
- package/dist/shadertypes/utils/decode-texture-format.d.ts.map +0 -1
- package/dist/shadertypes/utils/decode-texture-format.js.map +0 -1
- package/dist/shadertypes/utils/decode-vertex-format.d.ts.map +0 -1
- package/dist/shadertypes/utils/decode-vertex-format.js.map +0 -1
- package/dist/shadertypes/utils/texture-format-table.d.ts.map +0 -1
- package/dist/shadertypes/utils/texture-format-table.js.map +0 -1
- package/dist/shadertypes/vertex-formats.d.ts.map +0 -1
- package/dist/shadertypes/vertex-formats.js.map +0 -1
- package/src/adapter-utils/buffer-layout-helper.ts +0 -41
- package/src/shadertypes/data-types.ts +0 -42
- package/src/shadertypes/utils/decode-data-types.ts +0 -131
- /package/dist/shadertypes/{data-types.js → data-types/data-types.js} +0 -0
- /package/dist/shadertypes/{utils → data-types}/decode-shader-types.js +0 -0
- /package/dist/shadertypes/{shader-types.d.ts → data-types/shader-types.d.ts} +0 -0
- /package/dist/shadertypes/{shader-types.js → data-types/shader-types.js} +0 -0
- /package/dist/shadertypes/{vertex-formats.js → vertex-arrays/vertex-formats.js} +0 -0
- /package/src/shadertypes/{shader-types.ts → data-types/shader-types.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Device } from "./device.js";
|
|
2
2
|
import type { Framebuffer } from "./resources/framebuffer.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { TextureFormatDepthStencil } from "../shadertypes/textures/texture-formats.js";
|
|
4
4
|
/** Properties for a CanvasContext */
|
|
5
5
|
export type CanvasContextProps = {
|
|
6
6
|
/** Identifier, for debugging */
|
|
@@ -17,12 +17,14 @@ export type CanvasContextProps = {
|
|
|
17
17
|
visible?: boolean;
|
|
18
18
|
/** Whether to size the drawing buffer to the pixel size during auto resize */
|
|
19
19
|
useDevicePixels?: boolean;
|
|
20
|
-
/** Whether to track window resizes */
|
|
20
|
+
/** Whether to track window resizes. */
|
|
21
21
|
autoResize?: boolean;
|
|
22
22
|
/** @see https://developer.mozilla.org/en-US/docs/Web/API/GPUCanvasContext/configure#alphamode */
|
|
23
23
|
alphaMode?: 'opaque' | 'premultiplied';
|
|
24
24
|
/** @see https://developer.mozilla.org/en-US/docs/Web/API/GPUCanvasContext/configure#colorspace */
|
|
25
25
|
colorSpace?: 'srgb';
|
|
26
|
+
/** Whether to track position changes. Calls this.device.onPositionChange */
|
|
27
|
+
trackPosition?: boolean;
|
|
26
28
|
};
|
|
27
29
|
/**
|
|
28
30
|
* Manages a canvas. Supports both HTML or offscreen canvas
|
|
@@ -71,12 +73,15 @@ export declare abstract class CanvasContext {
|
|
|
71
73
|
};
|
|
72
74
|
protected readonly _resizeObserver: ResizeObserver | undefined;
|
|
73
75
|
protected readonly _intersectionObserver: IntersectionObserver | undefined;
|
|
76
|
+
protected _position: [number, number];
|
|
77
|
+
protected destroyed: boolean;
|
|
74
78
|
abstract get [Symbol.toStringTag](): string;
|
|
75
79
|
toString(): string;
|
|
76
80
|
constructor(props?: CanvasContextProps);
|
|
81
|
+
destroy(): void;
|
|
77
82
|
/** Returns a framebuffer with properly resized current 'swap chain' textures */
|
|
78
83
|
abstract getCurrentFramebuffer(options?: {
|
|
79
|
-
depthStencilFormat?:
|
|
84
|
+
depthStencilFormat?: TextureFormatDepthStencil | false;
|
|
80
85
|
}): Framebuffer;
|
|
81
86
|
/**
|
|
82
87
|
* Returns the size covered by the canvas in CSS pixels
|
|
@@ -84,6 +89,7 @@ export declare abstract class CanvasContext {
|
|
|
84
89
|
* @note This is independent of the canvas' internal drawing buffer size (.width, .height).
|
|
85
90
|
*/
|
|
86
91
|
getCSSSize(): [number, number];
|
|
92
|
+
getPosition(): [number, number];
|
|
87
93
|
/**
|
|
88
94
|
* Returns the size covered by the canvas in actual device pixels.
|
|
89
95
|
* @note This can be different from the 'CSS' size of a canvas due to DPR scaling, and rounding to integer pixels
|
|
@@ -143,5 +149,13 @@ export declare abstract class CanvasContext {
|
|
|
143
149
|
protected _handleResize(entries: ResizeObserverEntry[]): void;
|
|
144
150
|
/** Monitor DPR changes */
|
|
145
151
|
_observeDevicePixelRatio(): void;
|
|
152
|
+
/** Start tracking positions with a timer */
|
|
153
|
+
_trackPosition(intervalMs?: number): void;
|
|
154
|
+
/**
|
|
155
|
+
* Calculated the absolute position of the canvas
|
|
156
|
+
* @note - getBoundingClientRect() is normally cheap but can be expensive
|
|
157
|
+
* if called before browser has finished a reflow. Should not be the case here.
|
|
158
|
+
*/
|
|
159
|
+
updatePosition(): void;
|
|
146
160
|
}
|
|
147
161
|
//# sourceMappingURL=canvas-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/canvas-context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,MAAM,EAAC,oBAAiB;AACrC,OAAO,KAAK,EAAC,WAAW,EAAC,mCAAgC;AACzD,OAAO,KAAK,EAAC,yBAAyB,EAAC,
|
|
1
|
+
{"version":3,"file":"canvas-context.d.ts","sourceRoot":"","sources":["../../src/adapter/canvas-context.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,MAAM,EAAC,oBAAiB;AACrC,OAAO,KAAK,EAAC,WAAW,EAAC,mCAAgC;AACzD,OAAO,KAAK,EAAC,yBAAyB,EAAC,mDAAgD;AAIvF,qCAAqC;AACrC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gCAAgC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0IAA0I;IAC1I,MAAM,CAAC,EAAE,iBAAiB,GAAG,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7D,iIAAiI;IACjI,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iGAAiG;IACjG,SAAS,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IACvC,kGAAkG;IAClG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,8BAAsB,aAAa;IACjC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,iBAAiB;IAIjE,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,eAAe;IAIpE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAY/C;IAEF,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACrD,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IACxC,wCAAwC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,kBAAkB,GAAG,MAAM,CAAC;IAE3D,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAS;IAE/B,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAQ;IAE1B,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAElB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,gBAAgB,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gGAAgG;IAChG,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kGAAkG;IAClG,mBAAmB,EAAE,MAAM,CAAC;IAE5B,SAAS,CAAC,qBAAqB;;;;MAAyB;IACxD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC3E,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,SAAS,UAAS;IAE5B,QAAQ,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC;IAE5C,QAAQ,IAAI,MAAM;gBAIN,KAAK,CAAC,EAAE,kBAAkB;IAqEtC,OAAO;IAIP,gFAAgF;IAChF,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACvC,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,KAAK,CAAC;KACxD,GAAG,WAAW;IAIf;;;;OAIG;IACH,UAAU,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAI9B,WAAW;IAIX;;;;OAIG;IACH,kBAAkB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAItC,2GAA2G;IAC3G,oBAAoB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxC,+FAA+F;IAC/F,uBAAuB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAK3C,+FAA+F;IAC/F,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQlD;;;;OAIG;IACH,mBAAmB,IAAI,MAAM;IAO7B;;OAEG;IACH,iBAAiB,CACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,OAAO,GAAE,OAAc,GACtB;QACD,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB;IAMD,8CAA8C;IAC9C,YAAY;IAIZ,+DAA+D;IAC/D,SAAS,IAAI,MAAM;IAKnB,6EAA6E;IAC7E,gBAAgB,IAAI,MAAM;IAU1B,2DAA2D;IAC3D,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAMnD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;IAIxC;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM;IAM5C,yCAAyC;IACzC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,EAAE;IAalE;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,mBAAmB,EAAE;IAmDtD,0BAA0B;IAC1B,wBAAwB;IAgBxB,4CAA4C;IAC5C,cAAc,CAAC,UAAU,GAAE,MAAY,GAAG,IAAI;IAU9C;;;;OAIG;IACH,cAAc;CAef"}
|
|
@@ -28,7 +28,8 @@ export class CanvasContext {
|
|
|
28
28
|
container: null,
|
|
29
29
|
visible: true,
|
|
30
30
|
alphaMode: 'opaque',
|
|
31
|
-
colorSpace: 'srgb'
|
|
31
|
+
colorSpace: 'srgb',
|
|
32
|
+
trackPosition: false
|
|
32
33
|
};
|
|
33
34
|
id;
|
|
34
35
|
props;
|
|
@@ -60,6 +61,8 @@ export class CanvasContext {
|
|
|
60
61
|
_initializedResolvers = withResolvers();
|
|
61
62
|
_resizeObserver;
|
|
62
63
|
_intersectionObserver;
|
|
64
|
+
_position;
|
|
65
|
+
destroyed = false;
|
|
63
66
|
toString() {
|
|
64
67
|
return `${this[Symbol.toStringTag]}(${this.id})`;
|
|
65
68
|
}
|
|
@@ -96,7 +99,7 @@ export class CanvasContext {
|
|
|
96
99
|
this.id = props.id || 'node-canvas-context';
|
|
97
100
|
this.type = 'node';
|
|
98
101
|
}
|
|
99
|
-
// Initialize size variables (these will be updated by ResizeObserver)
|
|
102
|
+
// Initialize size variables to some sane values (these will be updated by ResizeObserver)
|
|
100
103
|
this.cssWidth = this.htmlCanvas?.clientWidth || this.canvas.width;
|
|
101
104
|
this.cssHeight = this.htmlCanvas?.clientHeight || this.canvas.height;
|
|
102
105
|
this.devicePixelWidth = this.canvas.width;
|
|
@@ -104,6 +107,7 @@ export class CanvasContext {
|
|
|
104
107
|
this.drawingBufferWidth = this.canvas.width;
|
|
105
108
|
this.drawingBufferHeight = this.canvas.height;
|
|
106
109
|
this.devicePixelRatio = globalThis.devicePixelRatio || 1;
|
|
110
|
+
this._position = [0, 0];
|
|
107
111
|
if (CanvasContext.isHTMLCanvas(this.canvas)) {
|
|
108
112
|
// Track visibility changes
|
|
109
113
|
this._intersectionObserver = new IntersectionObserver(entries => this._handleIntersection(entries));
|
|
@@ -120,8 +124,15 @@ export class CanvasContext {
|
|
|
120
124
|
// Track device pixel ratio changes.
|
|
121
125
|
// Defer call to after construction completes to ensure `this.device` is available.
|
|
122
126
|
setTimeout(() => this._observeDevicePixelRatio(), 0);
|
|
127
|
+
// Track top/left position changes
|
|
128
|
+
if (this.props.trackPosition) {
|
|
129
|
+
this._trackPosition();
|
|
130
|
+
}
|
|
123
131
|
}
|
|
124
132
|
}
|
|
133
|
+
destroy() {
|
|
134
|
+
this.destroyed = true;
|
|
135
|
+
}
|
|
125
136
|
// SIZE METHODS
|
|
126
137
|
/**
|
|
127
138
|
* Returns the size covered by the canvas in CSS pixels
|
|
@@ -131,6 +142,9 @@ export class CanvasContext {
|
|
|
131
142
|
getCSSSize() {
|
|
132
143
|
return [this.cssWidth, this.cssHeight];
|
|
133
144
|
}
|
|
145
|
+
getPosition() {
|
|
146
|
+
return this._position;
|
|
147
|
+
}
|
|
134
148
|
/**
|
|
135
149
|
* Returns the size covered by the canvas in actual device pixels.
|
|
136
150
|
* @note This can be different from the 'CSS' size of a canvas due to DPR scaling, and rounding to integer pixels
|
|
@@ -260,6 +274,7 @@ export class CanvasContext {
|
|
|
260
274
|
// Resolve the initialized promise
|
|
261
275
|
this._initializedResolvers.resolve();
|
|
262
276
|
this.isInitialized = true;
|
|
277
|
+
this.updatePosition();
|
|
263
278
|
// Inform the device
|
|
264
279
|
this.device.props.onResize(this, { oldPixelSize });
|
|
265
280
|
}
|
|
@@ -267,11 +282,42 @@ export class CanvasContext {
|
|
|
267
282
|
_observeDevicePixelRatio() {
|
|
268
283
|
const oldRatio = this.devicePixelRatio;
|
|
269
284
|
this.devicePixelRatio = window.devicePixelRatio;
|
|
285
|
+
this.updatePosition();
|
|
270
286
|
// Inform the device
|
|
271
287
|
this.device.props.onDevicePixelRatioChange(this, { oldRatio });
|
|
272
288
|
// Set up a one time query against the current resolution.
|
|
273
289
|
matchMedia(`(resolution: ${this.devicePixelRatio}dppx)`).addEventListener('change', () => this._observeDevicePixelRatio(), { once: true });
|
|
274
290
|
}
|
|
291
|
+
/** Start tracking positions with a timer */
|
|
292
|
+
_trackPosition(intervalMs = 100) {
|
|
293
|
+
const intervalId = setInterval(() => {
|
|
294
|
+
if (this.destroyed) {
|
|
295
|
+
clearInterval(intervalId);
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
this.updatePosition();
|
|
299
|
+
}
|
|
300
|
+
}, intervalMs);
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Calculated the absolute position of the canvas
|
|
304
|
+
* @note - getBoundingClientRect() is normally cheap but can be expensive
|
|
305
|
+
* if called before browser has finished a reflow. Should not be the case here.
|
|
306
|
+
*/
|
|
307
|
+
updatePosition() {
|
|
308
|
+
const newRect = this.htmlCanvas?.getBoundingClientRect();
|
|
309
|
+
if (newRect) {
|
|
310
|
+
// We only track position since we rely on the more precise ResizeObserver for size
|
|
311
|
+
const position = [newRect.left, newRect.top];
|
|
312
|
+
this._position ??= position;
|
|
313
|
+
const positionChanged = position[0] !== this._position[0] || position[1] !== this._position[1];
|
|
314
|
+
if (positionChanged) {
|
|
315
|
+
const oldPosition = this._position;
|
|
316
|
+
this._position = position;
|
|
317
|
+
this.device.props.onPositionChange?.(this, { oldPosition });
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
275
321
|
}
|
|
276
322
|
// HELPER FUNCTIONS
|
|
277
323
|
/** Get a container element from a string or DOM element */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-context.js","sourceRoot":"","sources":["../../src/adapter/canvas-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canvas-context.js","sourceRoot":"","sources":["../../src/adapter/canvas-context.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/device.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StatsManager } from "../utils/stats-manager.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { VertexFormat, VertexFormatInfo } from "../shadertypes/vertex-arrays/vertex-formats.js";
|
|
3
|
+
import type { TextureFormat, TextureFormatInfo } from "../shadertypes/textures/texture-formats.js";
|
|
3
4
|
import type { CanvasContext, CanvasContextProps } from "./canvas-context.js";
|
|
4
5
|
import type { BufferProps } from "./resources/buffer.js";
|
|
5
6
|
import { Buffer } from "./resources/buffer.js";
|
|
@@ -113,7 +114,8 @@ export declare class DeviceFeatures {
|
|
|
113
114
|
}
|
|
114
115
|
/** Device feature names */
|
|
115
116
|
export type DeviceFeature = WebGPUDeviceFeature | WebGLDeviceFeature | WebGLCompressedTextureFeatures;
|
|
116
|
-
|
|
117
|
+
/** Chrome-specific extensions. Expected to eventually become standard features. */
|
|
118
|
+
export type WebGPUDeviceFeature = 'depth-clip-control' | 'depth32float-stencil8' | 'texture-compression-bc' | 'texture-compression-bc-sliced-3d' | 'texture-compression-etc2' | 'texture-compression-astc' | 'texture-compression-astc-sliced-3d' | 'timestamp-query' | 'indirect-first-instance' | 'shader-f16' | 'rg11b10ufloat-renderable' | 'bgra8unorm-storage' | 'float32-filterable' | 'float32-blendable' | 'clip-distances' | 'dual-source-blending' | 'subgroups';
|
|
117
119
|
export type WebGLDeviceFeature = 'timer-query-webgl' | 'compilation-status-async-webgl' | 'provoking-vertex-webgl' | 'polygon-mode-webgl' | 'shader-noperspective-interpolation-webgl' | 'shader-conservative-depth-webgl' | 'shader-clip-cull-distance-webgl' | 'float32-renderable-webgl' | 'float16-renderable-webgl' | 'rgb9e5ufloat-renderable-webgl' | 'snorm8-renderable-webgl' | 'norm16-renderable-webgl' | 'snorm16-renderable-webgl' | 'float16-filterable-webgl' | 'texture-filterable-anisotropic-webgl' | 'bgra8unorm-storage' | 'texture-blend-float-webgl';
|
|
118
120
|
type WebGLCompressedTextureFeatures = 'texture-compression-bc5-webgl' | 'texture-compression-bc7-webgl' | 'texture-compression-etc1-webgl' | 'texture-compression-pvrtc-webgl' | 'texture-compression-atc-webgl';
|
|
119
121
|
/** Texture format capabilities that have been checked against a specific device */
|
|
@@ -142,21 +144,25 @@ export type DeviceProps = {
|
|
|
142
144
|
failIfMajorPerformanceCaveat?: boolean;
|
|
143
145
|
/** WebGL specific: Properties passed through to WebGL2RenderingContext creation: `canvas.getContext('webgl2', props.webgl)` */
|
|
144
146
|
webgl?: WebGLContextProps;
|
|
145
|
-
/** Error
|
|
147
|
+
/** Error handler. If it returns a probe logger style function, it will be called at the site of the error to optimize console error links. */
|
|
146
148
|
onError?: (error: Error, context?: unknown) => unknown;
|
|
147
|
-
/** Called when the size of a canvas changes */
|
|
149
|
+
/** Called when the size of a CanvasContext's canvas changes */
|
|
148
150
|
onResize?: (ctx: CanvasContext, info: {
|
|
149
151
|
oldPixelSize: [number, number];
|
|
150
152
|
}) => unknown;
|
|
151
|
-
/** Called when the
|
|
153
|
+
/** Called when the absolute position of a CanvasContext's canvas changes. Must set `CanvasContextProps.trackPosition: true` */
|
|
154
|
+
onPositionChange?: (ctx: CanvasContext, info: {
|
|
155
|
+
oldPosition: [number, number];
|
|
156
|
+
}) => unknown;
|
|
157
|
+
/** Called when the visibility of a CanvasContext's canvas changes */
|
|
152
158
|
onVisibilityChange?: (ctx: CanvasContext) => unknown;
|
|
153
|
-
/** Called when the device pixel ratio of a canvas changes */
|
|
159
|
+
/** Called when the device pixel ratio of a CanvasContext's canvas changes */
|
|
154
160
|
onDevicePixelRatioChange?: (ctx: CanvasContext, info: {
|
|
155
161
|
oldRatio: number;
|
|
156
162
|
}) => unknown;
|
|
157
163
|
/** Turn on implementation defined checks that slow down execution but help break where errors occur */
|
|
158
164
|
debug?: boolean;
|
|
159
|
-
/** Show shader source in browser? The default is`'error'`, meaning that logs are shown when shader compilation has errors */
|
|
165
|
+
/** Show shader source in browser? The default is `'error'`, meaning that logs are shown when shader compilation has errors */
|
|
160
166
|
debugShaders?: 'never' | 'errors' | 'warnings' | 'always';
|
|
161
167
|
/** Renders a small version of updated Framebuffers into the primary canvas context. Can be set in console luma.log.set('debug-framebuffers', true) */
|
|
162
168
|
debugFramebuffers?: boolean;
|
|
@@ -168,6 +174,8 @@ export type DeviceProps = {
|
|
|
168
174
|
debugSpectorJS?: boolean;
|
|
169
175
|
/** WebGL specific - SpectorJS URL. Override if CDN is down or different SpectorJS version is desired. */
|
|
170
176
|
debugSpectorJSUrl?: string;
|
|
177
|
+
/** adapter.create() returns the existing Device if the provided canvas' WebGL context is already associated with a Device. */
|
|
178
|
+
_reuseDevices?: boolean;
|
|
171
179
|
/** WebGPU specific - Request a Device with the highest limits supported by platform. On WebGPU devices can be created with minimal limits. */
|
|
172
180
|
_requestMaxLimits?: boolean;
|
|
173
181
|
/** Disable specific features */
|
|
@@ -185,13 +193,23 @@ export type DeviceProps = {
|
|
|
185
193
|
};
|
|
186
194
|
/** WebGL independent copy of WebGLContextAttributes */
|
|
187
195
|
type WebGLContextProps = {
|
|
196
|
+
/** indicates if the canvas contains an alpha buffer. */
|
|
188
197
|
alpha?: boolean;
|
|
198
|
+
/** hints the user agent to reduce the latency by desynchronizing the canvas paint cycle from the event loop */
|
|
189
199
|
desynchronized?: boolean;
|
|
200
|
+
/** indicates whether or not to perform anti-aliasing. */
|
|
190
201
|
antialias?: boolean;
|
|
202
|
+
/** indicates that the render target has a stencil buffer of at least `8` bits. */
|
|
203
|
+
stencil?: boolean;
|
|
204
|
+
/** indicates that the drawing buffer has a depth buffer of at least 16 bits. */
|
|
191
205
|
depth?: boolean;
|
|
206
|
+
/** indicates if a context will be created if the system performance is low or if no hardware GPU is available. */
|
|
192
207
|
failIfMajorPerformanceCaveat?: boolean;
|
|
208
|
+
/** Selects GPU */
|
|
193
209
|
powerPreference?: 'default' | 'high-performance' | 'low-power';
|
|
210
|
+
/** page compositor will assume the drawing buffer contains colors with pre-multiplied alpha. */
|
|
194
211
|
premultipliedAlpha?: boolean;
|
|
212
|
+
/** buffers will not be cleared and will preserve their values until cleared or overwritten by the author. */
|
|
195
213
|
preserveDrawingBuffer?: boolean;
|
|
196
214
|
};
|
|
197
215
|
/**
|
|
@@ -209,7 +227,7 @@ export interface DeviceFactory {
|
|
|
209
227
|
export declare abstract class Device {
|
|
210
228
|
static defaultProps: Required<DeviceProps>;
|
|
211
229
|
get [Symbol.toStringTag](): string;
|
|
212
|
-
|
|
230
|
+
toString(): string;
|
|
213
231
|
/** id of this device, primarily for debugging */
|
|
214
232
|
readonly id: string;
|
|
215
233
|
/** type of this device */
|
|
@@ -226,11 +244,12 @@ export declare abstract class Device {
|
|
|
226
244
|
readonly statsManager: StatsManager;
|
|
227
245
|
/** An abstract timestamp used for change tracking */
|
|
228
246
|
timestamp: number;
|
|
247
|
+
/** True if this device has been reused during device creation (app has multiple references) */
|
|
248
|
+
_reused: boolean;
|
|
229
249
|
/** Used by other luma.gl modules to store data on the device */
|
|
230
250
|
_lumaData: {
|
|
231
251
|
[key: string]: unknown;
|
|
232
252
|
};
|
|
233
|
-
abstract destroy(): void;
|
|
234
253
|
/** Information about the device (vendor, versions etc) */
|
|
235
254
|
abstract info: DeviceInfo;
|
|
236
255
|
/** Optional capability discovery */
|
|
@@ -242,10 +261,16 @@ export declare abstract class Device {
|
|
|
242
261
|
/** Default depth format used on this system */
|
|
243
262
|
abstract preferredDepthFormat: 'depth16' | 'depth24plus' | 'depth32float';
|
|
244
263
|
protected _textureCaps: Partial<Record<TextureFormat, DeviceTextureFormatCapabilities>>;
|
|
264
|
+
constructor(props: DeviceProps);
|
|
265
|
+
abstract destroy(): void;
|
|
266
|
+
getVertexFormatInfo(format: VertexFormat): VertexFormatInfo;
|
|
267
|
+
isVertexFormatSupported(format: VertexFormat): boolean;
|
|
245
268
|
/** Returns information about a texture format, such as data type, channels, bits per channel, compression etc */
|
|
246
269
|
getTextureFormatInfo(format: TextureFormat): TextureFormatInfo;
|
|
247
270
|
/** Determines what operations are supported on a texture format on this particular device (checks against supported device features) */
|
|
248
271
|
getTextureFormatCapabilities(format: TextureFormat): DeviceTextureFormatCapabilities;
|
|
272
|
+
/** Return the implementation specific alignment for a texture format. 1 on WebGL, 256 on WebGPU */
|
|
273
|
+
abstract getTextureByteAlignment(): number;
|
|
249
274
|
/** Calculates the number of mip levels for a texture of width, height and in case of 3d textures only, depth */
|
|
250
275
|
getMipLevelCount(width: number, height: number, depth3d?: number): number;
|
|
251
276
|
/** Check if data is an external image */
|
|
@@ -281,8 +306,26 @@ export declare abstract class Device {
|
|
|
281
306
|
loseDevice(): boolean;
|
|
282
307
|
/** A monotonic counter for tracking buffer and texture updates */
|
|
283
308
|
incrementTimestamp(): number;
|
|
284
|
-
/**
|
|
285
|
-
|
|
309
|
+
/**
|
|
310
|
+
* Reports Device errors in a way that optimizes for developer experience / debugging.
|
|
311
|
+
* - Logs so that the console error links directly to the source code that generated the error.
|
|
312
|
+
* - Includes the object that reported the error in the log message, even if the error is asynchronous.
|
|
313
|
+
*
|
|
314
|
+
* Conventions when calling reportError():
|
|
315
|
+
* - Always call the returned function - to ensure error is logged, at the error site
|
|
316
|
+
* - Follow with a call to device.debug() - to ensure that the debugger breaks at the error site
|
|
317
|
+
*
|
|
318
|
+
* @param error - the error to report. If needed, just create a new Error object with the appropriate message.
|
|
319
|
+
* @param context - pass `this` as context, otherwise it may not be available in the debugger for async errors.
|
|
320
|
+
* @returns the logger function returned by device.props.onError() so that it can be called from the error site.
|
|
321
|
+
*
|
|
322
|
+
* @example
|
|
323
|
+
* device.reportError(new Error(...), this)();
|
|
324
|
+
* device.debug();
|
|
325
|
+
*/
|
|
326
|
+
reportError(error: Error, context: unknown, ...args: unknown[]): () => unknown;
|
|
327
|
+
/** Break in the debugger - if device.props.debug is true */
|
|
328
|
+
debug(): void;
|
|
286
329
|
/** Default / primary canvas context. Can be null as WebGPU devices can be created without a CanvasContext */
|
|
287
330
|
abstract canvasContext: CanvasContext | null;
|
|
288
331
|
/** Returns the default / primary canvas context. Throws an error if no canvas context is available (a WebGPU compute device) */
|
|
@@ -361,6 +404,8 @@ export declare abstract class Device {
|
|
|
361
404
|
}): void;
|
|
362
405
|
/** @deprecated - will be removed - should use for debugging only */
|
|
363
406
|
resetWebGL(): void;
|
|
407
|
+
/** Helper to get the canvas context props */
|
|
408
|
+
static _getCanvasContextProps(props: DeviceProps): CanvasContextProps | undefined;
|
|
364
409
|
protected _getDeviceTextureFormatCapabilities(format: TextureFormat): DeviceTextureFormatCapabilities;
|
|
365
410
|
/** Subclasses use this to support .createBuffer() overloads */
|
|
366
411
|
protected _normalizeBufferProps(props: BufferProps | ArrayBuffer | ArrayBufferView): BufferProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/adapter/device.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/adapter/device.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/device.js
CHANGED
|
@@ -5,7 +5,8 @@ import { lumaStats } from "../utils/stats-manager.js";
|
|
|
5
5
|
import { log } from "../utils/log.js";
|
|
6
6
|
import { uid } from "../utils/uid.js";
|
|
7
7
|
import { Buffer } from "./resources/buffer.js";
|
|
8
|
-
import {
|
|
8
|
+
import { getVertexFormatInfo } from "../shadertypes/vertex-arrays/decode-vertex-format.js";
|
|
9
|
+
import { textureFormatDecoder } from "../shadertypes/textures/texture-format-decoder.js";
|
|
9
10
|
import { isExternalImage, getExternalImageSize } from "../image-utils/image-types.js";
|
|
10
11
|
/** Limits for a device (max supported sizes of resources, max number of bindings etc) */
|
|
11
12
|
export class DeviceLimits {
|
|
@@ -37,11 +38,15 @@ export class Device {
|
|
|
37
38
|
// WebGL specific
|
|
38
39
|
webgl: {},
|
|
39
40
|
// Callbacks
|
|
40
|
-
|
|
41
|
+
// eslint-disable-next-line handle-callback-err
|
|
42
|
+
onError: (error, context) => { },
|
|
41
43
|
onResize: (context, info) => {
|
|
42
44
|
const [width, height] = context.getDevicePixelSize();
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
log.log(1, `${context} resized => ${width}x${height}px`)();
|
|
46
|
+
},
|
|
47
|
+
onPositionChange: (context, info) => {
|
|
48
|
+
const [left, top] = context.getPosition();
|
|
49
|
+
log.log(1, `${context} repositioned => ${left},${top}`)();
|
|
45
50
|
},
|
|
46
51
|
onVisibilityChange: (context) => log.log(1, `${context} Visibility changed ${context.isVisible}`)(),
|
|
47
52
|
onDevicePixelRatioChange: (context, info) => log.log(1, `${context} DPR changed ${info.oldRatio} => ${context.devicePixelRatio}`)(),
|
|
@@ -54,6 +59,7 @@ export class Device {
|
|
|
54
59
|
debugSpectorJS: undefined, // Note: log setting is queried by the spector.js code
|
|
55
60
|
debugSpectorJSUrl: undefined,
|
|
56
61
|
// Experimental
|
|
62
|
+
_reuseDevices: false,
|
|
57
63
|
_requestMaxLimits: true,
|
|
58
64
|
_cacheShaders: false,
|
|
59
65
|
_cachePipelines: false,
|
|
@@ -69,9 +75,8 @@ export class Device {
|
|
|
69
75
|
get [Symbol.toStringTag]() {
|
|
70
76
|
return 'Device';
|
|
71
77
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this.id = this.props.id || uid(this[Symbol.toStringTag].toLowerCase());
|
|
78
|
+
toString() {
|
|
79
|
+
return `Device(${this.id})`;
|
|
75
80
|
}
|
|
76
81
|
/** id of this device, primarily for debugging */
|
|
77
82
|
id;
|
|
@@ -83,12 +88,24 @@ export class Device {
|
|
|
83
88
|
statsManager = lumaStats;
|
|
84
89
|
/** An abstract timestamp used for change tracking */
|
|
85
90
|
timestamp = 0;
|
|
91
|
+
/** True if this device has been reused during device creation (app has multiple references) */
|
|
92
|
+
_reused = false;
|
|
86
93
|
/** Used by other luma.gl modules to store data on the device */
|
|
87
94
|
_lumaData = {};
|
|
88
95
|
_textureCaps = {};
|
|
96
|
+
constructor(props) {
|
|
97
|
+
this.props = { ...Device.defaultProps, ...props };
|
|
98
|
+
this.id = this.props.id || uid(this[Symbol.toStringTag].toLowerCase());
|
|
99
|
+
}
|
|
100
|
+
getVertexFormatInfo(format) {
|
|
101
|
+
return getVertexFormatInfo(format);
|
|
102
|
+
}
|
|
103
|
+
isVertexFormatSupported(format) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
89
106
|
/** Returns information about a texture format, such as data type, channels, bits per channel, compression etc */
|
|
90
107
|
getTextureFormatInfo(format) {
|
|
91
|
-
return
|
|
108
|
+
return textureFormatDecoder.getInfo(format);
|
|
92
109
|
}
|
|
93
110
|
/** Determines what operations are supported on a texture format on this particular device (checks against supported device features) */
|
|
94
111
|
getTextureFormatCapabilities(format) {
|
|
@@ -127,7 +144,7 @@ export class Device {
|
|
|
127
144
|
}
|
|
128
145
|
/** Check if a specific texture format is GPU compressed */
|
|
129
146
|
isTextureFormatCompressed(format) {
|
|
130
|
-
return
|
|
147
|
+
return textureFormatDecoder.isCompressed(format);
|
|
131
148
|
}
|
|
132
149
|
// DEBUG METHODS
|
|
133
150
|
pushDebugGroup(groupLabel) {
|
|
@@ -151,13 +168,45 @@ export class Device {
|
|
|
151
168
|
incrementTimestamp() {
|
|
152
169
|
return this.timestamp++;
|
|
153
170
|
}
|
|
154
|
-
/**
|
|
155
|
-
|
|
171
|
+
/**
|
|
172
|
+
* Reports Device errors in a way that optimizes for developer experience / debugging.
|
|
173
|
+
* - Logs so that the console error links directly to the source code that generated the error.
|
|
174
|
+
* - Includes the object that reported the error in the log message, even if the error is asynchronous.
|
|
175
|
+
*
|
|
176
|
+
* Conventions when calling reportError():
|
|
177
|
+
* - Always call the returned function - to ensure error is logged, at the error site
|
|
178
|
+
* - Follow with a call to device.debug() - to ensure that the debugger breaks at the error site
|
|
179
|
+
*
|
|
180
|
+
* @param error - the error to report. If needed, just create a new Error object with the appropriate message.
|
|
181
|
+
* @param context - pass `this` as context, otherwise it may not be available in the debugger for async errors.
|
|
182
|
+
* @returns the logger function returned by device.props.onError() so that it can be called from the error site.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* device.reportError(new Error(...), this)();
|
|
186
|
+
* device.debug();
|
|
187
|
+
*/
|
|
188
|
+
reportError(error, context, ...args) {
|
|
189
|
+
// Call the error handler
|
|
190
|
+
const isHandled = this.props.onError(error, context);
|
|
191
|
+
if (!isHandled) {
|
|
192
|
+
// Note: Returns a function that must be called: `device.reportError(...)()`
|
|
193
|
+
return log.error(error.message, context, ...args);
|
|
194
|
+
}
|
|
195
|
+
return () => { };
|
|
196
|
+
}
|
|
197
|
+
/** Break in the debugger - if device.props.debug is true */
|
|
198
|
+
debug() {
|
|
156
199
|
if (this.props.debug) {
|
|
157
200
|
// @ts-ignore
|
|
158
201
|
debugger; // eslint-disable-line
|
|
159
202
|
}
|
|
160
|
-
|
|
203
|
+
else {
|
|
204
|
+
// TODO(ibgreen): Does not appear to be printed in the console
|
|
205
|
+
const message = `\
|
|
206
|
+
'Type luma.log.set({debug: true}) in console to enable debug breakpoints',
|
|
207
|
+
or create a device with the 'debug: true' prop.`;
|
|
208
|
+
log.once(0, message)();
|
|
209
|
+
}
|
|
161
210
|
}
|
|
162
211
|
/** Returns the default / primary canvas context. Throws an error if no canvas context is available (a WebGPU compute device) */
|
|
163
212
|
getDefaultCanvasContext() {
|
|
@@ -210,8 +259,12 @@ export class Device {
|
|
|
210
259
|
throw new Error('not implemented');
|
|
211
260
|
}
|
|
212
261
|
// IMPLEMENTATION
|
|
262
|
+
/** Helper to get the canvas context props */
|
|
263
|
+
static _getCanvasContextProps(props) {
|
|
264
|
+
return props.createCanvasContext === true ? {} : props.createCanvasContext;
|
|
265
|
+
}
|
|
213
266
|
_getDeviceTextureFormatCapabilities(format) {
|
|
214
|
-
const genericCapabilities =
|
|
267
|
+
const genericCapabilities = textureFormatDecoder.getCapabilities(format);
|
|
215
268
|
// Check standard features
|
|
216
269
|
const checkFeature = (feature) => (typeof feature === 'string' ? this.features.has(feature) : feature) ?? true;
|
|
217
270
|
const supported = checkFeature(genericCapabilities.create);
|
|
@@ -229,19 +282,22 @@ export class Device {
|
|
|
229
282
|
if (props instanceof ArrayBuffer || ArrayBuffer.isView(props)) {
|
|
230
283
|
props = { data: props };
|
|
231
284
|
}
|
|
232
|
-
// TODO - fragile, as this is done before we merge with default options
|
|
285
|
+
// TODO(ibgreen) - fragile, as this is done before we merge with default options
|
|
233
286
|
// inside the Buffer constructor
|
|
234
287
|
const newProps = { ...props };
|
|
235
288
|
// Deduce indexType
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
289
|
+
const usage = props.usage || 0;
|
|
290
|
+
if (usage & Buffer.INDEX) {
|
|
291
|
+
if (!props.indexType) {
|
|
292
|
+
if (props.data instanceof Uint32Array) {
|
|
293
|
+
newProps.indexType = 'uint32';
|
|
294
|
+
}
|
|
295
|
+
else if (props.data instanceof Uint16Array) {
|
|
296
|
+
newProps.indexType = 'uint16';
|
|
297
|
+
}
|
|
242
298
|
}
|
|
243
|
-
|
|
244
|
-
|
|
299
|
+
if (!newProps.indexType) {
|
|
300
|
+
throw new Error('indices buffer content must be of type uint16 or uint32');
|
|
245
301
|
}
|
|
246
302
|
}
|
|
247
303
|
return newProps;
|