@swf2es/context3d 0.1.10 → 0.1.12

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/README.md CHANGED
@@ -218,3 +218,39 @@ vertex prefixes need no per-attribute index scan; sparse validation caches also
218
218
  include the vertex version. Uploads, changed ranges/bindings and disposal
219
219
  invalidate the relevant records. Warm draws add no validation arrays or GPU
220
220
  handles.
221
+
222
+ The owned VAO keeps each vertex layout until its buffer, offset or format changes.
223
+ Program switches enable and disable only attributes whose use changes. Buffer
224
+ uploads keep the layouts but still invalidate draw validation; every draw checks
225
+ its current bindings and uploaded ranges. This adds no VAOs or GPU buffers.
226
+
227
+ The backend also reuses program, VAO, framebuffer and viewport bindings between
228
+ draws. Temporary framebuffer work, read/draw framebuffer splits and program
229
+ replacement invalidate that cache. Each program retains its target-orientation
230
+ uniform and sampler-unit assignments until they change or it is replaced;
231
+ texture and sampler validation still runs on every draw.
232
+
233
+ Depth-write/compare settings, blend factors and cull faces are retained between
234
+ setters. Repeating a value makes no GL call; changing blend factors or cull faces
235
+ while already enabled does not enable them again. Clears and internal MSAA copies
236
+ restore their temporary state changes before returning.
237
+
238
+ The owned VAO retains its index-buffer binding across draws, presentation and
239
+ internal copies. Index-buffer allocation, uploads and disposal invalidate that
240
+ binding cache; vertex uploads leave it intact. Draw validation still runs before
241
+ reusing a binding.
242
+
243
+ Each texture unit retains its last texture/sampler pair across draws and
244
+ presentations. Changing either uses the normal three binding calls. Uploads and
245
+ internal copies invalidate unit zero; unbinding and disposal invalidate the
246
+ affected units. The cache uses eight bytes of flags, with no extra GPU resources.
247
+
248
+ Each linked program remembers the write versions last uploaded for its constants.
249
+ Draws upload only active registers written since that program's preceding draw;
250
+ indirectly addressed vertex constants are uploaded as one bank after a write.
251
+ Switching programs or targets preserves those versions, while successful program
252
+ replacement resets them. Rewriting equal values still counts as a write. Version
253
+ arrays retain at most 1,248 bytes per program and are released on disposal;
254
+ the context's two banks retain another 1,248 bytes of versions together.
255
+ Shader translation and arithmetic are unchanged. See the
256
+ [backend benchmark](../../tests/context3d/README.md) for upload counts and timings.
@@ -16,6 +16,8 @@ export interface VertexBinding {
16
16
  size: number;
17
17
  packed: boolean;
18
18
  valid: boolean;
19
+ /** Layout stored in the owned VAO, independent of whether this attribute is enabled. */
20
+ applied: boolean;
19
21
  checkedIndex: BufferState | null;
20
22
  checkedIndexVersion: number;
21
23
  checkedVertexVersion: number;
@@ -1 +1 @@
1
- {"version":3,"file":"buffers.d.ts","sourceRoot":"","sources":["../../src/webgl/buffers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAcD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,sBAAsB,EAC1B,GAAG,EAAE,sBAAsB,EAC3B,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAiBN;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,sBAAsB,EAC1B,GAAG,EAAE,sBAAsB,EAC3B,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAyBN"}
1
+ {"version":3,"file":"buffers.d.ts","sourceRoot":"","sources":["../../src/webgl/buffers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,wFAAwF;IACxF,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAcD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,sBAAsB,EAC1B,GAAG,EAAE,sBAAsB,EAC3B,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAiBN;AAED,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,sBAAsB,EAC1B,GAAG,EAAE,sBAAsB,EAC3B,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,IAAI,CAyBN"}
@@ -1 +1 @@
1
- {"version":3,"file":"buffers.js","sourceRoot":"","sources":["../../src/webgl/buffers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffers.js","sourceRoot":"","sources":["../../src/webgl/buffers.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { type WebGLContext3DLimits } from "./limits.js";
5
5
  /** An owned WebGL2 context, deliberately independent of the 2D renderer. */
6
6
  export declare class WebGLContext3D implements Context3D {
7
7
  readonly gl: WebGL2RenderingContext;
8
+ private readonly drawState;
8
9
  width: number;
9
10
  height: number;
10
11
  disposed: boolean;
@@ -35,6 +36,9 @@ export declare class WebGLContext3D implements Context3D {
35
36
  private s3tc;
36
37
  private maxAnisotropy;
37
38
  private readonly vertices;
39
+ private enabledAttributes;
40
+ private indexBuffer;
41
+ private readonly texturesApplied;
38
42
  private selected;
39
43
  private framebuffer;
40
44
  private texture;
@@ -44,8 +48,11 @@ export declare class WebGLContext3D implements Context3D {
44
48
  private depthBuffer;
45
49
  private antiAlias;
46
50
  private depthWrite;
51
+ private depthCompare;
47
52
  private blendEnabled;
48
- private cullEnabled;
53
+ private blendSource;
54
+ private blendDestination;
55
+ private cullFace;
49
56
  private colorWrite;
50
57
  private readonly stencilFront;
51
58
  private readonly stencilBack;
@@ -71,6 +78,8 @@ export declare class WebGLContext3D implements Context3D {
71
78
  constructor(gl: WebGL2RenderingContext, limits?: Partial<WebGLContext3DLimits>);
72
79
  private alive;
73
80
  private target;
81
+ /** Temporary attachments and separate READ/DRAW bindings bypass the hot target cache. */
82
+ private bindFramebuffer;
74
83
  configure(width: number, height: number, depth?: boolean, antiAlias?: number): void;
75
84
  clear(red: number, green: number, blue: number, alpha: number, depth?: number, mask?: number, stencil?: number): void;
76
85
  setStencilActions(face: CullFace, compare: CompareMode, pass: StencilAction, depthFail: StencilAction, stencilFail: StencilAction): void;
@@ -109,6 +118,7 @@ export declare class WebGLContext3D implements Context3D {
109
118
  private finishTarget;
110
119
  setTexture(index: number, texture: Texture3D | null): void;
111
120
  setSampler(index: number, wrap: SamplerWrap, filter: SamplerFilter, mip: SamplerMip): void;
121
+ private setSamplerState;
112
122
  private sampler;
113
123
  setProgram(program: Program3D): void;
114
124
  setVertex(index: number, buffer: Buffer3D | null, offset: number, format: VertexFormat): void;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/webgl/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/webgl/context.ts"],"names":[],"mappings":"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"}