@flighthq/render-gl 0.3.0-next.906.07cea63 → 0.3.1-next.1041.35b950c
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/contract.d.ts +5 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +5 -0
- package/dist/contract.js.map +1 -1
- package/dist/enableGlRenderStateGuards.d.ts +4 -0
- package/dist/enableGlRenderStateGuards.d.ts.map +1 -0
- package/dist/enableGlRenderStateGuards.js +61 -0
- package/dist/enableGlRenderStateGuards.js.map +1 -0
- package/dist/enableGlRenderTextureGuards.d.ts.map +1 -1
- package/dist/enableGlRenderTextureGuards.js +2 -2
- package/dist/enableGlRenderTextureGuards.js.map +1 -1
- package/dist/enableGlTextureResolverGuards.d.ts +4 -0
- package/dist/enableGlTextureResolverGuards.d.ts.map +1 -0
- package/dist/enableGlTextureResolverGuards.js +8 -0
- package/dist/enableGlTextureResolverGuards.js.map +1 -0
- package/dist/explainGlTextureResolution.d.ts +3 -0
- package/dist/explainGlTextureResolution.d.ts.map +1 -0
- package/dist/explainGlTextureResolution.js +15 -0
- package/dist/explainGlTextureResolution.js.map +1 -0
- package/dist/glBackground.d.ts.map +1 -1
- package/dist/glBackground.js +5 -3
- package/dist/glBackground.js.map +1 -1
- package/dist/glCompressedTexture.d.ts +2 -2
- package/dist/glCompressedTexture.d.ts.map +1 -1
- package/dist/glCompressedTexture.js +58 -18
- package/dist/glCompressedTexture.js.map +1 -1
- package/dist/glDraw.d.ts +4 -2
- package/dist/glDraw.d.ts.map +1 -1
- package/dist/glDraw.js +112 -70
- package/dist/glDraw.js.map +1 -1
- package/dist/glExternalTexture.d.ts +4 -0
- package/dist/glExternalTexture.d.ts.map +1 -0
- package/dist/glExternalTexture.js +46 -0
- package/dist/glExternalTexture.js.map +1 -0
- package/dist/glFullscreenPass.js +5 -6
- package/dist/glFullscreenPass.js.map +1 -1
- package/dist/glLinearToSrgbPass.js +3 -3
- package/dist/glLinearToSrgbPass.js.map +1 -1
- package/dist/glMaterialRegistry.d.ts.map +1 -1
- package/dist/glMaterialRegistry.js +18 -11
- package/dist/glMaterialRegistry.js.map +1 -1
- package/dist/glPresentRenderTarget.js +3 -3
- package/dist/glPresentRenderTarget.js.map +1 -1
- package/dist/glRenderPass.d.ts +2 -2
- package/dist/glRenderPass.d.ts.map +1 -1
- package/dist/glRenderPass.js +193 -33
- package/dist/glRenderPass.js.map +1 -1
- package/dist/glRenderState.d.ts +14 -2
- package/dist/glRenderState.d.ts.map +1 -1
- package/dist/glRenderState.js +228 -23
- package/dist/glRenderState.js.map +1 -1
- package/dist/glRenderStateBracket.d.ts.map +1 -1
- package/dist/glRenderStateBracket.js +70 -4
- package/dist/glRenderStateBracket.js.map +1 -1
- package/dist/glRenderTarget.d.ts +10 -1
- package/dist/glRenderTarget.d.ts.map +1 -1
- package/dist/glRenderTarget.js +154 -69
- package/dist/glRenderTarget.js.map +1 -1
- package/dist/glRenderTargetPool.d.ts +4 -1
- package/dist/glRenderTargetPool.d.ts.map +1 -1
- package/dist/glRenderTargetPool.js +32 -23
- package/dist/glRenderTargetPool.js.map +1 -1
- package/dist/glRenderTexture.d.ts +13 -8
- package/dist/glRenderTexture.d.ts.map +1 -1
- package/dist/glRenderTexture.js +94 -37
- package/dist/glRenderTexture.js.map +1 -1
- package/dist/glRenderTexturePool.d.ts +7 -0
- package/dist/glRenderTexturePool.d.ts.map +1 -0
- package/dist/glRenderTexturePool.js +88 -0
- package/dist/glRenderTexturePool.js.map +1 -0
- package/dist/glSkinPaletteTexture.d.ts +1 -1
- package/dist/glSkinPaletteTexture.d.ts.map +1 -1
- package/dist/glSkinPaletteTexture.js +6 -2
- package/dist/glSkinPaletteTexture.js.map +1 -1
- package/dist/glTestHelper.d.ts.map +1 -1
- package/dist/glTestHelper.js +12 -8
- package/dist/glTestHelper.js.map +1 -1
- package/dist/glTextureResolver.d.ts +7 -8
- package/dist/glTextureResolver.d.ts.map +1 -1
- package/dist/glTextureResolver.js +59 -55
- package/dist/glTextureResolver.js.map +1 -1
- package/dist/glTextureUpload.d.ts +4 -4
- package/dist/glTextureUpload.d.ts.map +1 -1
- package/dist/glTextureUpload.js +8 -14
- package/dist/glTextureUpload.js.map +1 -1
- package/dist/glTextureVideoUpload.d.ts +2 -2
- package/dist/glTextureVideoUpload.d.ts.map +1 -1
- package/dist/glTextureVideoUpload.js +5 -5
- package/dist/glTextureVideoUpload.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +13 -6
- package/src/enableGlRenderStateGuards.test.ts +80 -0
- package/src/enableGlTextureResolverGuards.test.ts +58 -0
- package/src/explainGlTextureResolution.test.ts +32 -0
- package/src/glBackground.test.ts +24 -0
- package/src/glCompressedTexture.test.ts +35 -28
- package/src/glDraw.test.ts +192 -81
- package/src/glExternalTexture.test.ts +30 -0
- package/src/glFullscreenPass.test.ts +15 -2
- package/src/glLinearToSrgbPass.test.ts +13 -0
- package/src/glMaterialRegistry.test.ts +58 -1
- package/src/glPresentRenderTarget.test.ts +15 -1
- package/src/glReadback.test.ts +13 -0
- package/src/glRenderPass.test.ts +257 -5
- package/src/glRenderState.test.ts +447 -3
- package/src/glRenderStateBracket.test.ts +201 -1
- package/src/glRenderTarget.test.ts +244 -3
- package/src/glRenderTargetPool.test.ts +110 -5
- package/src/glRenderTexture.test.ts +88 -14
- package/src/glRenderTexturePool.test.ts +137 -0
- package/src/glShader.test.ts +28 -0
- package/src/glTestHelper.test.ts +51 -0
- package/src/glTextureResolver.test.ts +155 -71
- package/src/glTextureUpload.test.ts +2 -10
- package/src/glTextureVideoUpload.test.ts +20 -5
package/dist/contract.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export * from './glBackground';
|
|
2
2
|
export * from './glCompressedTexture';
|
|
3
3
|
export * from './glDraw';
|
|
4
|
+
export * from './glExternalTexture';
|
|
4
5
|
export * from './glElement';
|
|
5
6
|
export * from './enableGlRenderTextureGuards';
|
|
7
|
+
export * from './enableGlRenderStateGuards';
|
|
8
|
+
export * from './enableGlTextureResolverGuards';
|
|
9
|
+
export * from './explainGlTextureResolution';
|
|
6
10
|
export * from './glFullscreenPass';
|
|
7
11
|
export * from './glLinearToSrgbPass';
|
|
8
12
|
export * from './glMaterialRegistry';
|
|
@@ -14,6 +18,7 @@ export * from './glRenderState';
|
|
|
14
18
|
export * from './glRenderStateBracket';
|
|
15
19
|
export * from './glRenderTarget';
|
|
16
20
|
export * from './glRenderTexture';
|
|
21
|
+
export * from './glRenderTexturePool';
|
|
17
22
|
export * from './glRenderTargetPool';
|
|
18
23
|
export * from './glShader';
|
|
19
24
|
export * from './glShaderBinding';
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export * from './glBackground';
|
|
2
2
|
export * from './glCompressedTexture';
|
|
3
3
|
export * from './glDraw';
|
|
4
|
+
export * from './glExternalTexture';
|
|
4
5
|
export * from './glElement';
|
|
5
6
|
export * from './enableGlRenderTextureGuards';
|
|
7
|
+
export * from './enableGlRenderStateGuards';
|
|
8
|
+
export * from './enableGlTextureResolverGuards';
|
|
9
|
+
export * from './explainGlTextureResolution';
|
|
6
10
|
export * from './glFullscreenPass';
|
|
7
11
|
export * from './glLinearToSrgbPass';
|
|
8
12
|
export * from './glMaterialRegistry';
|
|
@@ -14,6 +18,7 @@ export * from './glRenderState';
|
|
|
14
18
|
export * from './glRenderStateBracket';
|
|
15
19
|
export * from './glRenderTarget';
|
|
16
20
|
export * from './glRenderTexture';
|
|
21
|
+
export * from './glRenderTexturePool';
|
|
17
22
|
export * from './glRenderTargetPool';
|
|
18
23
|
export * from './glShader';
|
|
19
24
|
export * from './glShaderBinding';
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GlRenderState } from '@flighthq/types/contract';
|
|
2
|
+
export declare function areGlRenderStateGuardsEnabled(state: GlRenderState): boolean;
|
|
3
|
+
export declare function enableGlRenderStateGuards(state: GlRenderState): void;
|
|
4
|
+
//# sourceMappingURL=enableGlRenderStateGuards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableGlRenderStateGuards.d.ts","sourceRoot":"","sources":["../src/enableGlRenderStateGuards.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAA2B,MAAM,0BAA0B,CAAC;AAKvF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAG3E;AAKD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAUpE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { logOnce } from '@flighthq/log/contract';
|
|
2
|
+
import { createSlotTable } from '@flighthq/registry/contract';
|
|
3
|
+
import { getRenderStateRuntime } from '@flighthq/render/contract';
|
|
4
|
+
import { LogLevel, RegistryEntryState } from '@flighthq/types/contract';
|
|
5
|
+
import { getGlRenderStateRuntime } from './glRenderState';
|
|
6
|
+
export function areGlRenderStateGuardsEnabled(state) {
|
|
7
|
+
const entry = getRenderStateRuntime(state).registries.renderRootGuard?.entry;
|
|
8
|
+
return entry?.state === RegistryEntryState.Bound && entry.value === warnOnSecondRenderRoot;
|
|
9
|
+
}
|
|
10
|
+
// Installs the GL pipeline-policy guard. A render state derives proxy transforms relative to one root;
|
|
11
|
+
// preparing another root on that state can reuse stale relative transforms. Give each independently
|
|
12
|
+
// rendered root its own createGlOffscreenRenderState-derived state.
|
|
13
|
+
export function enableGlRenderStateGuards(state) {
|
|
14
|
+
const runtime = getRenderStateRuntime(state);
|
|
15
|
+
const table = runtime.registries.renderRootGuard ?? createSlotTable('RenderRootGuard', 'Disabled');
|
|
16
|
+
if (table.entry?.state !== RegistryEntryState.Bound || table.entry.value !== warnOnSecondRenderRoot) {
|
|
17
|
+
runtime.registries.renderRootGuard = {
|
|
18
|
+
...table,
|
|
19
|
+
entry: { state: RegistryEntryState.Bound, value: warnOnSecondRenderRoot },
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
getGlRenderStateRuntime(state).bindingCacheGuard = warnOnForeignGlBinding;
|
|
23
|
+
}
|
|
24
|
+
// render-gl skips a redundant `useProgram` by trusting its cached binding slot, which is sound only
|
|
25
|
+
// while render-gl is the sole writer of GL state on the context. A sibling renderer issuing raw GL —
|
|
26
|
+
// scene3d-gl's mesh, skybox, shadow and IBL passes all call `gl.useProgram` directly — invalidates that
|
|
27
|
+
// assumption, and `invalidateGlRenderStateCache` is the contract for restoring it.
|
|
28
|
+
//
|
|
29
|
+
// Verified here by asking GL what is ACTUALLY bound. That is a synchronous driver query and far too
|
|
30
|
+
// expensive for a draw path, which is exactly why it lives behind an opt-in guard rather than in the
|
|
31
|
+
// skip itself. Without it the first symptom is a GL error raised against a later uniform call, blaming
|
|
32
|
+
// render-gl for a binding some other renderer changed.
|
|
33
|
+
function warnOnForeignGlBinding(state, expectedProgram) {
|
|
34
|
+
const actual = state.gl.getParameter(state.gl.CURRENT_PROGRAM);
|
|
35
|
+
if (actual === expectedProgram)
|
|
36
|
+
return;
|
|
37
|
+
logOnce('render-gl:foreign-gl-binding', LogLevel.Warn, {
|
|
38
|
+
message: 'useGlProgram: the GL program actually bound is not the one render-gl cached, so a guest renderer ' +
|
|
39
|
+
'wrote GL state without restoring it. Call invalidateGlRenderStateCache(state) before returning ' +
|
|
40
|
+
'control to render-gl, or the next draw skips a bind it needs and GL rejects a later uniform.',
|
|
41
|
+
state,
|
|
42
|
+
}, 'render-gl');
|
|
43
|
+
}
|
|
44
|
+
function warnOnSecondRenderRoot(state, root) {
|
|
45
|
+
const glState = state;
|
|
46
|
+
const previous = _firstRoots.get(glState);
|
|
47
|
+
if (previous === undefined) {
|
|
48
|
+
_firstRoots.set(glState, root);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (previous === root)
|
|
52
|
+
return;
|
|
53
|
+
logOnce('render-gl:multiple-roots-one-state', LogLevel.Warn, {
|
|
54
|
+
firstRoot: previous,
|
|
55
|
+
message: 'prepareScene2DRender: one GlRenderState was used for multiple roots — derive a dedicated pipeline with createGlOffscreenRenderState(screenState)',
|
|
56
|
+
root,
|
|
57
|
+
state,
|
|
58
|
+
}, 'render-gl');
|
|
59
|
+
}
|
|
60
|
+
const _firstRoots = new WeakMap();
|
|
61
|
+
//# sourceMappingURL=enableGlRenderStateGuards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableGlRenderStateGuards.js","sourceRoot":"","sources":["../src/enableGlRenderStateGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,UAAU,6BAA6B,CAAC,KAAoB;IAChE,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC;IAC7E,OAAO,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,sBAAsB,CAAC;AAC7F,CAAC;AAED,uGAAuG;AACvG,oGAAoG;AACpG,oEAAoE;AACpE,MAAM,UAAU,yBAAyB,CAAC,KAAoB;IAC5D,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,IAAI,eAAe,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACnG,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,sBAAsB,EAAE,CAAC;QACpG,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG;YACnC,GAAG,KAAK;YACR,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE;SAC1E,CAAC;IACJ,CAAC;IACD,uBAAuB,CAAC,KAAK,CAAC,CAAC,iBAAiB,GAAG,sBAAsB,CAAC;AAC5E,CAAC;AAED,oGAAoG;AACpG,qGAAqG;AACrG,wGAAwG;AACxG,mFAAmF;AACnF,EAAE;AACF,oGAAoG;AACpG,qGAAqG;AACrG,uGAAuG;AACvG,uDAAuD;AACvD,SAAS,sBAAsB,CAAC,KAAoB,EAAE,eAA6B;IACjF,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAwB,CAAC;IACtF,IAAI,MAAM,KAAK,eAAe;QAAE,OAAO;IACvC,OAAO,CACL,8BAA8B,EAC9B,QAAQ,CAAC,IAAI,EACb;QACE,OAAO,EACL,mGAAmG;YACnG,iGAAiG;YACjG,8FAA8F;QAChG,KAAK;KACN,EACD,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAkB,EAAE,IAAgB;IAClE,MAAM,OAAO,GAAG,KAAsB,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,OAAO,CACL,oCAAoC,EACpC,QAAQ,CAAC,IAAI,EACb;QACE,SAAS,EAAE,QAAQ;QACnB,OAAO,EACL,kJAAkJ;QACpJ,IAAI;QACJ,KAAK;KACN,EACD,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,OAAO,EAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enableGlRenderTextureGuards.d.ts","sourceRoot":"","sources":["../src/enableGlRenderTextureGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"enableGlRenderTextureGuards.d.ts","sourceRoot":"","sources":["../src/enableGlRenderTextureGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,0BAA0B,CAAC;AAKzG,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAM7E;AAID,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAGtE"}
|
|
@@ -23,8 +23,8 @@ function warnGlRenderTextureUnavailable(_state, renderTexture, explanation) {
|
|
|
23
23
|
logOnce(`render-gl:render-texture-${explanation.status}`, LogLevel.Warn, {
|
|
24
24
|
height: explanation.height,
|
|
25
25
|
message: writing
|
|
26
|
-
? 'bindGlRenderTexture: the
|
|
27
|
-
: 'bindGlRenderTexture: the
|
|
26
|
+
? 'bindGlRenderTexture: the render Texture is still bound for writing; sampling it would be a read-after-write feedback hazard.'
|
|
27
|
+
: 'bindGlRenderTexture: the render Texture has not completed renderIntoGlRenderTexture; sampling uses the empty sentinel.',
|
|
28
28
|
renderTexture,
|
|
29
29
|
status: explanation.status,
|
|
30
30
|
width: explanation.width,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enableGlRenderTextureGuards.js","sourceRoot":"","sources":["../src/enableGlRenderTextureGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,UAAU,+BAA+B,CAAC,KAAoB;IAClE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,4BAA4B,CAAC,KAAK,EAAE,GAAG,EAAE;QACvC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8FAA8F;AAC9F,8EAA8E;AAC9E,MAAM,UAAU,2BAA2B,CAAC,KAAoB;IAC9D,uBAAuB,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;IAC/D,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAoB,EAAE,SAAqB;IAC/E,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,SAAS,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"enableGlRenderTextureGuards.js","sourceRoot":"","sources":["../src/enableGlRenderTextureGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,UAAU,+BAA+B,CAAC,KAAoB;IAClE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,4BAA4B,CAAC,KAAK,EAAE,GAAG,EAAE;QACvC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8FAA8F;AAC9F,8EAA8E;AAC9E,MAAM,UAAU,2BAA2B,CAAC,KAAoB;IAC9D,uBAAuB,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;IAC/D,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAoB,EAAE,SAAqB;IAC/E,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,SAAS,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,8BAA8B,CACrC,MAAqB,EACrB,aAAsC,EACtC,WAAiD;IAEjD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC;IACjD,OAAO,CACL,4BAA4B,WAAW,CAAC,MAAM,EAAE,EAChD,QAAQ,CAAC,IAAI,EACb;QACE,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,8HAA8H;YAChI,CAAC,CAAC,wHAAwH;QAC5H,aAAa;QACb,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,EACD,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAA0B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GlRenderState } from '@flighthq/types/contract';
|
|
2
|
+
export declare function areGlTextureResolverGuardsEnabled(state: GlRenderState): boolean;
|
|
3
|
+
export declare function enableGlTextureResolverGuards(state: GlRenderState): void;
|
|
4
|
+
//# sourceMappingURL=enableGlTextureResolverGuards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableGlTextureResolverGuards.d.ts","sourceRoot":"","sources":["../src/enableGlTextureResolverGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAE/E;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAExE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { areRenderRegistryGuardsEnabled, enableRenderRegistryGuards } from '@flighthq/render/contract';
|
|
2
|
+
export function areGlTextureResolverGuardsEnabled(state) {
|
|
3
|
+
return areRenderRegistryGuardsEnabled(state);
|
|
4
|
+
}
|
|
5
|
+
export function enableGlTextureResolverGuards(state) {
|
|
6
|
+
enableRenderRegistryGuards(state);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=enableGlTextureResolverGuards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enableGlTextureResolverGuards.js","sourceRoot":"","sources":["../src/enableGlTextureResolverGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAGvG,MAAM,UAAU,iCAAiC,CAAC,KAAoB;IACpE,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAoB;IAChE,0BAA0B,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { GlRenderState, TextureLike, TextureResolutionExplanation } from '@flighthq/types/contract';
|
|
2
|
+
export declare function explainGlTextureResolution(state: GlRenderState, texture: Readonly<TextureLike>): TextureResolutionExplanation;
|
|
3
|
+
//# sourceMappingURL=explainGlTextureResolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainGlTextureResolution.d.ts","sourceRoot":"","sources":["../src/explainGlTextureResolution.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAKzG,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,GAC7B,4BAA4B,CAU9B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { getTextureSourceKind } from '@flighthq/texture/contract';
|
|
2
|
+
import { RegistryEntryState } from '@flighthq/types/contract';
|
|
3
|
+
import { getGlRenderStateRuntime } from './glRenderState';
|
|
4
|
+
export function explainGlTextureResolution(state, texture) {
|
|
5
|
+
const kind = getTextureSourceKind(texture);
|
|
6
|
+
if (kind === null)
|
|
7
|
+
return { kind, status: 'missing-kind' };
|
|
8
|
+
return {
|
|
9
|
+
kind,
|
|
10
|
+
status: getGlRenderStateRuntime(state).registries.textureResolvers.entries.get(kind)?.state === RegistryEntryState.Bound
|
|
11
|
+
? 'registered'
|
|
12
|
+
: 'missing-resolver',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=explainGlTextureResolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explainGlTextureResolution.js","sourceRoot":"","sources":["../src/explainGlTextureResolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,UAAU,0BAA0B,CACxC,KAAoB,EACpB,OAA8B;IAE9B,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC3D,OAAO;QACL,IAAI;QACJ,MAAM,EACJ,uBAAuB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK;YAC9G,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,kBAAkB;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glBackground.d.ts","sourceRoot":"","sources":["../src/glBackground.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"glBackground.d.ts","sourceRoot":"","sources":["../src/glBackground.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAwB7D"}
|
package/dist/glBackground.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { srgbChannelToLinear } from '@flighthq/color/contract';
|
|
1
2
|
import { getGlRenderStateRuntime } from './glRenderState';
|
|
2
3
|
export function renderGlBackground(state) {
|
|
3
4
|
const runtime = getGlRenderStateRuntime(state);
|
|
4
5
|
const gl = state.gl;
|
|
5
|
-
const viewport = runtime.renderTargetViewport
|
|
6
|
-
gl.viewport(0, 0, viewport.width, viewport.height);
|
|
6
|
+
const viewport = runtime.renderTargetViewport;
|
|
7
|
+
gl.viewport(viewport?.x ?? 0, viewport?.y ?? 0, viewport?.width ?? state.canvas.width, viewport?.height ?? state.canvas.height);
|
|
7
8
|
const rgba = state.backgroundColorRgba;
|
|
8
9
|
if (rgba.length >= 4 && rgba[3] > 0) {
|
|
9
|
-
|
|
10
|
+
const linear = runtime.currentRenderTarget?.colorSpace === 'linear';
|
|
11
|
+
gl.clearColor(linear ? srgbChannelToLinear(rgba[0]) : rgba[0], linear ? srgbChannelToLinear(rgba[1]) : rgba[1], linear ? srgbChannelToLinear(rgba[2]) : rgba[2], rgba[3]);
|
|
10
12
|
}
|
|
11
13
|
else {
|
|
12
14
|
gl.clearColor(0, 0, 0, 0);
|
package/dist/glBackground.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glBackground.js","sourceRoot":"","sources":["../src/glBackground.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"glBackground.js","sourceRoot":"","sources":["../src/glBackground.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACrD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAC9C,EAAE,CAAC,QAAQ,CACT,QAAQ,EAAE,CAAC,IAAI,CAAC,EAChB,QAAQ,EAAE,CAAC,IAAI,CAAC,EAChB,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EACrC,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,UAAU,KAAK,QAAQ,CAAC;QACpE,EAAE,CAAC,UAAU,CACX,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC/C,IAAI,CAAC,CAAC,CAAC,CACR,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAClC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { GlCompressedTextureDecoder, GlCompressedTextureSupport, GlRenderState, TextureContainer, TextureContainerFormat } from '@flighthq/types/contract';
|
|
1
|
+
import type { GlCompressedTextureDecoder, GlCompressedTextureSupport, GlRenderState, TextureContainer, TextureContainerFormat, TextureColorSpace } from '@flighthq/types/contract';
|
|
2
2
|
export declare function detectGlCompressedTextureSupport(gl: WebGL2RenderingContext): GlCompressedTextureSupport;
|
|
3
3
|
export declare function getGlCompressedTextureFormat(gl: WebGL2RenderingContext, format: TextureContainerFormat): number;
|
|
4
4
|
export declare function hasGlCompressedTextureFormat(support: Readonly<GlCompressedTextureSupport>, format: TextureContainerFormat): boolean;
|
|
5
5
|
export declare function registerGlCompressedTextureDecoder(state: GlRenderState, decode: GlCompressedTextureDecoder | null): void;
|
|
6
6
|
export declare function registerGlCompressedTextureUpload(state: GlRenderState, uploader?: null): void;
|
|
7
|
-
export declare function uploadGlCompressedTextureContainer(gl: WebGL2RenderingContext, container: Readonly<TextureContainer>, payload: Readonly<Uint8Array>, decode?: GlCompressedTextureDecoder): boolean;
|
|
7
|
+
export declare function uploadGlCompressedTextureContainer(gl: WebGL2RenderingContext, container: Readonly<TextureContainer>, payload: Readonly<Uint8Array>, decode?: GlCompressedTextureDecoder, colorSpace?: TextureColorSpace): boolean;
|
|
8
8
|
//# sourceMappingURL=glCompressedTexture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glCompressedTexture.d.ts","sourceRoot":"","sources":["../src/glCompressedTexture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"glCompressedTexture.d.ts","sourceRoot":"","sources":["../src/glCompressedTexture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,0BAA0B,EAC1B,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAoBlC,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,sBAAsB,GAAG,0BAA0B,CAWvG;AAQD,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,sBAAsB,EAAE,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAqG/G;AAKD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,EAC7C,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAuCT;AAOD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,0BAA0B,GAAG,IAAI,GACxC,IAAI,CAON;AAOD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAO7F;AAmBD,wBAAgB,kCAAkC,CAChD,EAAE,EAAE,sBAAsB,EAC1B,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EACrC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC7B,MAAM,CAAC,EAAE,0BAA0B,EACnC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CA6ET"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RegistryEntryState } from '@flighthq/types/contract';
|
|
1
2
|
import { getGlRenderStateRuntime } from './glRenderState';
|
|
2
3
|
// GPU-native block-compressed texture upload for WebGL2: hand a parsed TextureContainer (KTX2 / DDS /
|
|
3
4
|
// ATF) plus its byte payload and this pushes every mip level straight to the GPU with
|
|
@@ -179,17 +180,25 @@ export function hasGlCompressedTextureFormat(support, format) {
|
|
|
179
180
|
// compressed texture the device lacks never installs one, so the decoder (and any WASM block-codec it
|
|
180
181
|
// wraps) tree-shakes out. Pass null to clear a previously installed decoder.
|
|
181
182
|
export function registerGlCompressedTextureDecoder(state, decode) {
|
|
182
|
-
getGlRenderStateRuntime(state)
|
|
183
|
+
const runtime = getGlRenderStateRuntime(state);
|
|
184
|
+
const table = runtime.registries.compressedTextureDecoder;
|
|
185
|
+
runtime.registries.compressedTextureDecoder = {
|
|
186
|
+
...table,
|
|
187
|
+
entry: decode === null ? null : { state: RegistryEntryState.Bound, value: decode },
|
|
188
|
+
};
|
|
183
189
|
}
|
|
184
190
|
// Installs the block-compressed upload seam on a render state, opting the ~40-format
|
|
185
191
|
// uploadGlCompressedTextureContainer path into the bundle only for a state that actually draws a
|
|
186
|
-
//
|
|
187
|
-
//
|
|
188
|
-
//
|
|
189
|
-
// previously installed uploader. The installed handler bridges a compressed ImageResource to
|
|
190
|
-
// uploadGlCompressedTextureContainer, threading through any registered RGBA decode fallback.
|
|
192
|
+
// CompressedImage. The 2D display draw path reads the installed handler off the runtime and skips the
|
|
193
|
+
// source when none is registered, so Image/Bitmap bundles do not carry the compression enum
|
|
194
|
+
// table. Opt-in and last-write-wins; pass null to clear a previously installed uploader.
|
|
191
195
|
export function registerGlCompressedTextureUpload(state, uploader) {
|
|
192
|
-
getGlRenderStateRuntime(state)
|
|
196
|
+
const runtime = getGlRenderStateRuntime(state);
|
|
197
|
+
const table = runtime.registries.compressedTextureUpload;
|
|
198
|
+
runtime.registries.compressedTextureUpload = {
|
|
199
|
+
...table,
|
|
200
|
+
entry: uploader === null ? null : { state: RegistryEntryState.Bound, value: uploadGlCompressedImage },
|
|
201
|
+
};
|
|
193
202
|
}
|
|
194
203
|
// Uploads every stored sub-image of a compressed container to the texture the caller has bound. Takes
|
|
195
204
|
// the GPU-native `compressedTexImage2D`/`compressedTexImage3D` path when the device supports the
|
|
@@ -208,7 +217,7 @@ export function registerGlCompressedTextureUpload(state, uploader) {
|
|
|
208
217
|
// gl.TEXTURE_CUBE_MAP_POSITIVE_X + face and an array's layers slice into a gl.TEXTURE_2D_ARRAY. The
|
|
209
218
|
// RGBA decode fallback covers only the plain 2D case (faces === 1, layers === 1); a compressed cubemap
|
|
210
219
|
// or array with no native support reports failure rather than a partial 2D upload.
|
|
211
|
-
export function uploadGlCompressedTextureContainer(gl, container, payload, decode) {
|
|
220
|
+
export function uploadGlCompressedTextureContainer(gl, container, payload, decode, colorSpace) {
|
|
212
221
|
// This atom realizes 2D, one cubemap, or a 2D array. A volume needs TEXTURE_3D allocation and
|
|
213
222
|
// depth-slice layout; a cubemap array needs a distinct target/extension. Reject those shapes before
|
|
214
223
|
// issuing any GL call rather than uploading their first slice as a plausible but incorrect 2D image.
|
|
@@ -219,7 +228,10 @@ export function uploadGlCompressedTextureContainer(gl, container, payload, decod
|
|
|
219
228
|
// or transcode through the deferred seam first.
|
|
220
229
|
if (container.supercompression !== 'None')
|
|
221
230
|
return false;
|
|
222
|
-
const
|
|
231
|
+
const uploadFormat = colorSpace === undefined ? container.format : getTextureContainerFormatForColorSpace(container.format, colorSpace);
|
|
232
|
+
const nativeFormat = colorSpace === 'srgb' && isAstcFormat(container.format)
|
|
233
|
+
? getGlAstcSrgbFormat(gl, container.format)
|
|
234
|
+
: getGlCompressedTextureFormat(gl, uploadFormat);
|
|
223
235
|
const faces = container.faces;
|
|
224
236
|
const layers = container.layers;
|
|
225
237
|
const mipLevels = container.mipLevels;
|
|
@@ -258,13 +270,27 @@ export function uploadGlCompressedTextureContainer(gl, container, payload, decod
|
|
|
258
270
|
const rgba = decode(container.format, entry.width, entry.height, view);
|
|
259
271
|
if (rgba === null)
|
|
260
272
|
return false;
|
|
261
|
-
gl.texImage2D(gl.TEXTURE_2D, mip, gl.RGBA, entry.width, entry.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, rgba);
|
|
273
|
+
gl.texImage2D(gl.TEXTURE_2D, mip, colorSpace === 'srgb' ? gl.SRGB8_ALPHA8 : gl.RGBA, entry.width, entry.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, rgba);
|
|
262
274
|
}
|
|
263
275
|
return true;
|
|
264
276
|
}
|
|
265
277
|
function isAstcFormat(format) {
|
|
266
278
|
return format.startsWith('astc');
|
|
267
279
|
}
|
|
280
|
+
function getGlAstcSrgbFormat(gl, format) {
|
|
281
|
+
const ext = gl.getExtension('WEBGL_compressed_texture_astc');
|
|
282
|
+
const match = /^astc(\d+)x(\d+)$/.exec(format);
|
|
283
|
+
if (ext === null || match === null)
|
|
284
|
+
return -1;
|
|
285
|
+
const value = ext[`COMPRESSED_SRGB8_ALPHA8_ASTC_${match[1]}x${match[2]}_KHR`];
|
|
286
|
+
return typeof value === 'number' ? value : -1;
|
|
287
|
+
}
|
|
288
|
+
function getTextureContainerFormatForColorSpace(format, colorSpace = 'linear') {
|
|
289
|
+
const pair = SRGB_FORMAT_PAIRS[format];
|
|
290
|
+
if (pair === undefined)
|
|
291
|
+
return format;
|
|
292
|
+
return colorSpace === 'srgb' ? pair[1] : pair[0];
|
|
293
|
+
}
|
|
268
294
|
function isSupportedGlCompressedTextureContainerShape(container) {
|
|
269
295
|
if (container.depth !== 1 || !Number.isInteger(container.layers) || container.layers < 1)
|
|
270
296
|
return false;
|
|
@@ -272,19 +298,33 @@ function isSupportedGlCompressedTextureContainerShape(container) {
|
|
|
272
298
|
return true;
|
|
273
299
|
return container.faces === 6 && container.layers === 1;
|
|
274
300
|
}
|
|
275
|
-
// The installed GlCompressedTextureUploader
|
|
276
|
-
// threading through any registered RGBA decode fallback.
|
|
277
|
-
|
|
278
|
-
function uploadGlCompressedImageResource(gl, image, decode) {
|
|
301
|
+
// The installed GlCompressedTextureUploader bridges a CompressedImage to the container upload while
|
|
302
|
+
// threading through any registered RGBA decode fallback.
|
|
303
|
+
function uploadGlCompressedImage(gl, image, decode, colorSpace = 'linear') {
|
|
279
304
|
const compressed = image.compressed;
|
|
280
|
-
if (compressed === null)
|
|
281
|
-
return false;
|
|
282
305
|
const container = compressed.container;
|
|
283
|
-
//
|
|
306
|
+
// bindGlCompressedImageTexture calls this bridge while TEXTURE_2D is bound. Cube, array, and volume
|
|
284
307
|
// resources require their own entity/binder families; forwarding one here would address an unbound
|
|
285
308
|
// target even though the low-level container uploader supports caller-bound cube and 2D-array targets.
|
|
286
309
|
if (container.depth !== 1 || container.faces !== 1 || container.layers !== 1)
|
|
287
310
|
return false;
|
|
288
|
-
return uploadGlCompressedTextureContainer(gl, container, compressed.payload, decode ?? undefined);
|
|
311
|
+
return uploadGlCompressedTextureContainer(gl, container, compressed.payload, decode ?? undefined, colorSpace);
|
|
289
312
|
}
|
|
313
|
+
const SRGB_FORMAT_PAIRS = {
|
|
314
|
+
bc1: ['bc1', 'bc1Srgb'],
|
|
315
|
+
bc1Srgb: ['bc1', 'bc1Srgb'],
|
|
316
|
+
bc2: ['bc2', 'bc2Srgb'],
|
|
317
|
+
bc2Srgb: ['bc2', 'bc2Srgb'],
|
|
318
|
+
bc3: ['bc3', 'bc3Srgb'],
|
|
319
|
+
bc3Srgb: ['bc3', 'bc3Srgb'],
|
|
320
|
+
bc7: ['bc7', 'bc7Srgb'],
|
|
321
|
+
bc7Srgb: ['bc7', 'bc7Srgb'],
|
|
322
|
+
etc1: ['etc1', 'etc2RgbSrgb'],
|
|
323
|
+
etc2Rgb: ['etc2Rgb', 'etc2RgbSrgb'],
|
|
324
|
+
etc2RgbSrgb: ['etc2Rgb', 'etc2RgbSrgb'],
|
|
325
|
+
etc2RgbA1: ['etc2RgbA1', 'etc2RgbA1Srgb'],
|
|
326
|
+
etc2RgbA1Srgb: ['etc2RgbA1', 'etc2RgbA1Srgb'],
|
|
327
|
+
etc2Rgba: ['etc2Rgba', 'etc2RgbaSrgb'],
|
|
328
|
+
etc2RgbaSrgb: ['etc2Rgba', 'etc2RgbaSrgb'],
|
|
329
|
+
};
|
|
290
330
|
//# sourceMappingURL=glCompressedTexture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glCompressedTexture.js","sourceRoot":"","sources":["../src/glCompressedTexture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"glCompressedTexture.js","sourceRoot":"","sources":["../src/glCompressedTexture.ts"],"names":[],"mappings":"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"}
|
package/dist/glDraw.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type { GlBitmapShader, GlBlendRealization, GlRenderState, GlRenderStateRuntime,
|
|
1
|
+
import type { Bitmap, CompressedImage, GlBitmapShader, GlBlendRealization, GlRenderState, GlRenderStateRuntime, TextureColorSpace, Image, SamplerLike, TextureLike } from '@flighthq/types/contract';
|
|
2
2
|
import { BlendMode } from '@flighthq/types/contract';
|
|
3
3
|
export declare function applyGlBlendMode(state: GlRenderState, blendMode: BlendMode | null): void;
|
|
4
4
|
export declare function applyGlSamplerState(state: GlRenderState, runtime: GlRenderStateRuntime, texture: WebGLTexture, sampler: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null): void;
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function bindGlBitmapTexture(state: GlRenderState, bitmap: Readonly<Bitmap>, sampler?: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null, premultiply?: boolean, colorSpace?: TextureColorSpace): WebGLTexture;
|
|
6
|
+
export declare function bindGlCompressedImageTexture(state: GlRenderState, image: Readonly<CompressedImage>, sampler?: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null, colorSpace?: TextureColorSpace): WebGLTexture;
|
|
7
|
+
export declare function bindGlImageResourceTexture(state: GlRenderState, image: Readonly<Image>, sampler?: Readonly<SamplerLike> | null, smoothingOverride?: boolean | null, premultiply?: boolean, colorSpace?: TextureColorSpace): WebGLTexture;
|
|
6
8
|
export declare function bindGlTexture(state: GlRenderState, imageSource: CanvasImageSource, sampler?: Readonly<SamplerLike> | null): WebGLTexture;
|
|
7
9
|
export declare function bindGlVideoTexture(state: GlRenderState, texture: Readonly<TextureLike>, sampler?: Readonly<SamplerLike> | null): WebGLTexture;
|
|
8
10
|
export declare function createGlTexture(state: GlRenderState): WebGLTexture;
|
package/dist/glDraw.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glDraw.d.ts","sourceRoot":"","sources":["../src/glDraw.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"glDraw.d.ts","sourceRoot":"","sources":["../src/glDraw.ts"],"names":[],"mappings":"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"}
|