@forgeax/engine-rhi-debug 0.1.29 → 0.1.31

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.
@@ -1 +1 @@
1
- {"version":3,"file":"closure.d.ts","sourceRoot":"","sources":["../../src/recorder/closure.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAiQ/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,EAAE,CA8ClF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EAC5B,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,EAC7C,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,GAC9B;IAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE,CAwBtD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,EACtB,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,GAC5C,YAAY,EAAE,CA8ChB"}
1
+ {"version":3,"file":"closure.d.ts","sourceRoot":"","sources":["../../src/recorder/closure.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvD,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAoQ/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,EAAE,CA8ClF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EAC5B,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,EAC7C,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,GAC9B;IAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE,CAwBtD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,EACtB,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,GAC5C,YAAY,EAAE,CA8ChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/recorder/encoder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAI/C,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,gBAAgB,EACnB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,QAAQ,GACf,iBAAiB,CAmQnB"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/recorder/encoder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAI/C,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,gBAAgB,EACnB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,QAAQ,GACf,iBAAiB,CA0RnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/replay/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/replay/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,SAAS,EAEV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,KAAK,EAAmC,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAE1B,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,cAAc,CAAC;CACzD;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS;QAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,EAAE,CAAC;IACJ,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAClD,YAAY,CACV,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,mBAAmB,EACjC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAC;IACxD;;;;;OAKG;IACH,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,mBAAmB,EACjC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;CACjD;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CA+K/C;AAqiBD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
package/dist/types.d.ts CHANGED
@@ -247,7 +247,7 @@ export interface RhiCallEventBeginRenderPass {
247
247
  readonly [key: string]: unknown;
248
248
  } | undefined;
249
249
  /** The opaque query set is represented by the parallel handle id below. */
250
- readonly timestampWrites?: unknown | undefined;
250
+ readonly timestampWrites?: Omit<GPURenderPassTimestampWrites, 'querySet'> | undefined;
251
251
  readonly maxDrawCount?: number | undefined;
252
252
  };
253
253
  readonly colorAttachmentViewHandleIds: readonly (HandleId | undefined)[];
@@ -259,12 +259,16 @@ export interface RhiCallEventBeginRenderPass {
259
259
  readonly colorAttachmentResolveTargetHandleIds?: readonly (HandleId | undefined)[];
260
260
  readonly depthStencilViewHandleId?: HandleId | undefined;
261
261
  readonly occlusionQuerySetHandleId?: HandleId | undefined;
262
+ readonly timestampQuerySetHandleId?: HandleId | undefined;
262
263
  }
263
264
  export interface RhiCallEventBeginComputePass {
264
265
  readonly kind: 'beginComputePass';
266
+ readonly timestampQuerySetHandleId?: HandleId | undefined;
265
267
  readonly cmdHandleId: HandleId;
266
268
  readonly passHandleId: HandleId;
267
- readonly desc?: Partial<GPUComputePassDescriptor> | undefined;
269
+ readonly desc?: (Omit<Partial<GPUComputePassDescriptor>, 'timestampWrites'> & {
270
+ readonly timestampWrites?: Omit<GPUComputePassTimestampWrites, 'querySet'> | undefined;
271
+ }) | undefined;
268
272
  }
269
273
  export interface RhiCallEventCopyBufferToBuffer {
270
274
  readonly kind: 'copyBufferToBuffer';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgeax/engine-rhi-debug",
3
- "version": "0.1.29",
3
+ "version": "0.1.31",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -26,19 +26,19 @@
26
26
  "LICENSE"
27
27
  ],
28
28
  "dependencies": {
29
- "@forgeax/engine-rhi": "0.1.29",
30
- "@forgeax/engine-types": "0.1.29",
29
+ "@forgeax/engine-rhi": "0.1.31",
30
+ "@forgeax/engine-types": "0.1.31",
31
31
  "@noble/hashes": "^2.2.0",
32
32
  "pako": "^1.0.11"
33
33
  },
34
34
  "devDependencies": {
35
- "@forgeax/engine-rhi-null": "0.1.29",
35
+ "@forgeax/engine-rhi-null": "0.1.31",
36
36
  "@types/node": "^20.14.0",
37
37
  "@webgpu/types": "^0.1.71"
38
38
  },
39
39
  "peerDependencies": {
40
- "@forgeax/engine-rhi-webgpu": "0.1.29",
41
- "@forgeax/engine-rhi-wgpu": "0.1.29"
40
+ "@forgeax/engine-rhi-webgpu": "0.1.31",
41
+ "@forgeax/engine-rhi-wgpu": "0.1.31"
42
42
  },
43
43
  "forgeax": {
44
44
  "metrics": {
@@ -136,7 +136,7 @@ describe.skipIf(SKIP_DAWN)('Dawn replay-owned readback matrix', () => {
136
136
  });
137
137
  });
138
138
 
139
- it('reads a known buffer range through the replay owner', async () => {
139
+ it.each([0x0c, 0x84, 0x184])('reads seeded buffer bytes for captured usage %i', async (usage) => {
140
140
  const pack = await loadDawn();
141
141
  const adapter = await pack.rhi.requestAdapter();
142
142
  expect(adapter.ok).toBe(true);
@@ -154,7 +154,7 @@ describe.skipIf(SKIP_DAWN)('Dawn replay-owned readback matrix', () => {
154
154
  create: {
155
155
  kind: 'createBuffer',
156
156
  handleId: 'buffer:known',
157
- desc: { size: 8, usage: 0x0c },
157
+ desc: { size: 8, usage },
158
158
  },
159
159
  initialData: [{ hash: 'buffer-known', byteOffset: 0, byteLength: 8 }],
160
160
  },
@@ -153,6 +153,85 @@ function triangleTape(): Tape {
153
153
  };
154
154
  }
155
155
 
156
+ function msaaTriangleTape(): Tape {
157
+ const tape = triangleTape();
158
+ const bootstrapResources = tape.bootstrap.map((resource) => {
159
+ if (resource.handleId === 'texture:rt') {
160
+ const desc = resource.create.desc as Record<string, unknown>;
161
+ return bootstrap('texture:msaa', 'texture', {
162
+ ...resource.create,
163
+ handleId: 'texture:msaa',
164
+ desc: { ...desc, sampleCount: 4, usage: 0x10 },
165
+ });
166
+ }
167
+ if (resource.handleId === 'texture-view:rt') {
168
+ return bootstrap('texture-view:msaa', 'texture-view', {
169
+ ...resource.create,
170
+ sourceHandleId: 'texture:msaa',
171
+ resultHandleId: 'texture-view:msaa',
172
+ });
173
+ }
174
+ if (resource.handleId === 'pipeline:triangle') {
175
+ const desc = resource.create.desc as Record<string, unknown>;
176
+ return bootstrap('pipeline:triangle', 'pipeline', {
177
+ ...resource.create,
178
+ desc: { ...desc, multisample: { count: 4 } },
179
+ });
180
+ }
181
+ return resource;
182
+ });
183
+ bootstrapResources.push(
184
+ bootstrap('texture:resolve', 'texture', {
185
+ kind: 'createTexture',
186
+ handleId: 'texture:resolve',
187
+ desc: {
188
+ size: { width: WIDTH, height: HEIGHT, depthOrArrayLayers: 1 },
189
+ format: 'rgba8unorm',
190
+ dimension: '2d',
191
+ mipLevelCount: 1,
192
+ sampleCount: 1,
193
+ usage: 0x11,
194
+ },
195
+ }),
196
+ bootstrap('texture-view:resolve', 'texture-view', {
197
+ kind: 'createTextureView',
198
+ sourceHandleId: 'texture:resolve',
199
+ resultHandleId: 'texture-view:resolve',
200
+ desc: {},
201
+ }),
202
+ );
203
+
204
+ const events = tape.events.map((event) => {
205
+ if (event.kind === 'beginRenderPass') {
206
+ return {
207
+ ...event,
208
+ desc: {
209
+ ...event.desc,
210
+ colorAttachments: [
211
+ {
212
+ view: null,
213
+ clearValue: { r: 0, g: 0, b: 0, a: 1 },
214
+ loadOp: 'clear',
215
+ storeOp: 'store',
216
+ },
217
+ ],
218
+ },
219
+ colorAttachmentViewHandleIds: ['texture-view:msaa'],
220
+ colorAttachmentResolveTargetHandleIds: ['texture-view:resolve'],
221
+ };
222
+ }
223
+ return event;
224
+ }) as Tape['events'];
225
+
226
+ return {
227
+ ...tape,
228
+ header: { ...tape.header, blobCount: 0 },
229
+ bootstrap: bootstrapResources,
230
+ events,
231
+ blobs: [],
232
+ };
233
+ }
234
+
156
235
  describe.skipIf(SKIP_DAWN)('ReplaySession Dawn contract', () => {
157
236
  it.each([
158
237
  0x84, 0x184, 0x06,
@@ -238,6 +317,49 @@ describe.skipIf(SKIP_DAWN)('ReplaySession Dawn contract', () => {
238
317
  expect((await second.value.dispose()).ok).toBe(true);
239
318
  }, 60_000);
240
319
 
320
+ it('resolves an MSAA attachment for pixels and rejects direct MSAA readback', async () => {
321
+ const pack = await loadDawn();
322
+ const replayResult = await openReplay(msaaTriangleTape(), {
323
+ device: await freshDevice(pack),
324
+ createShaderModule: pack.createShaderModule,
325
+ });
326
+ expect(replayResult.ok).toBe(true);
327
+ if (!replayResult.ok) throw new Error(replayResult.error.hint);
328
+
329
+ try {
330
+ const first = await replayResult.value.inspectWork(0, ['pixels']);
331
+ expect(
332
+ first.ok,
333
+ first.ok ? undefined : `${first.error.code}: ${JSON.stringify(first.error.detail)}`,
334
+ ).toBe(true);
335
+ if (!first.ok) throw new Error(first.error.hint);
336
+ const attachment = first.value.attachment;
337
+ expect(attachment?.provenance.resourceId).toBe('texture-view:resolve');
338
+ expect(attachment?.provenance.selectedWorkIndex).toBe(0);
339
+ expect(attachment?.provenance.subresource).toBeNull();
340
+ const centerOffset = (Math.floor(HEIGHT / 2) * WIDTH + Math.floor(WIDTH / 2)) * 4;
341
+ expect(attachment?.bytes.slice(centerOffset, centerOffset + 4)).toEqual(
342
+ new Uint8Array([255, 0, 0, 255]),
343
+ );
344
+
345
+ const repeated = await replayResult.value.inspectWork(0, ['pixels']);
346
+ expect(repeated.ok).toBe(true);
347
+ if (!repeated.ok) throw new Error(repeated.error.hint);
348
+ expect(repeated.value.attachment?.bytes).toEqual(attachment?.bytes);
349
+ expect(repeated.value.attachment?.provenance.resourceId).toBe('texture-view:resolve');
350
+ expect(repeated.value.attachment?.provenance.selectedWorkIndex).toBe(0);
351
+ expect(repeated.value.attachment?.provenance.subresource).toBeNull();
352
+
353
+ const directMsaa = await replayResult.value.readResource('texture:msaa');
354
+ expect(directMsaa.ok).toBe(false);
355
+ if (directMsaa.ok) throw new Error('MSAA texture readback unexpectedly succeeded');
356
+ expect(directMsaa.error.code).toBe('readback-unsupported');
357
+ expect(directMsaa.error.detail).toMatchObject({ resourceId: 'texture:msaa' });
358
+ } finally {
359
+ expect((await replayResult.value.dispose()).ok).toBe(true);
360
+ }
361
+ }, 60_000);
362
+
241
363
  it('reports the first shader factory failure on a real Dawn device', async () => {
242
364
  const pack = await loadDawn();
243
365
  const device = await freshDevice(pack);
@@ -0,0 +1,61 @@
1
+ import { rhi } from '@forgeax/engine-rhi-webgpu';
2
+ import { describe, expect, it } from 'vitest';
3
+ import { decodeTape } from '../protocol/codec';
4
+ import { validateTape } from '../protocol/validation';
5
+ import { wrap } from '../recorder';
6
+ import { assembleTape } from '../recorder/assemble';
7
+
8
+ describe('timestamp query capture ownership', () => {
9
+ it.each([
10
+ 'render',
11
+ 'compute',
12
+ 'empty-compute',
13
+ ] as const)('retains a pre-capture QuerySet for %s passes', async (kind) => {
14
+ const recorded = wrap(rhi);
15
+ const adapter = (await recorded.requestAdapter()).unwrap();
16
+ const device = (
17
+ await adapter.requestDevice({ requiredFeatures: ['timestamp-query'] })
18
+ ).unwrap();
19
+ const querySet = device.createQuerySet({ type: 'timestamp', count: 2 }).unwrap();
20
+ const target = device
21
+ .createTexture({ size: { width: 4, height: 4 }, format: 'rgba8unorm', usage: 0x10 })
22
+ .unwrap();
23
+ const view = device.createTextureView(target, {}).unwrap();
24
+ try {
25
+ recorded.arm(1);
26
+ const encoder = device.createCommandEncoder().unwrap();
27
+ const timestampWrites = { querySet, beginningOfPassWriteIndex: 0, endOfPassWriteIndex: 1 };
28
+ if (kind === 'render')
29
+ encoder
30
+ .beginRenderPass({
31
+ colorAttachments: [{ view, loadOp: 'clear', storeOp: 'store' }],
32
+ timestampWrites,
33
+ })
34
+ .end();
35
+ else if (kind === 'compute') encoder.beginComputePass({ timestampWrites }).end();
36
+ else encoder.encodeEmptyComputePass({ timestampWrites });
37
+ device.queue.submit([encoder.finish().unwrap()]).unwrap();
38
+ await device.queue.onSubmittedWorkDone();
39
+ recorded.onFrameEnd();
40
+ const tape = recorded.getTape();
41
+ if (tape === undefined || !('events' in tape)) throw new Error('Missing captured tape');
42
+ const pass = tape.events.find(
43
+ (event) => event.kind === 'beginRenderPass' || event.kind === 'beginComputePass',
44
+ );
45
+ expect(pass).toHaveProperty('timestampQuerySetHandleId');
46
+ if (pass?.kind !== 'beginRenderPass' && pass?.kind !== 'beginComputePass')
47
+ throw new Error('Missing pass');
48
+ expect(pass.desc?.timestampWrites).toEqual({
49
+ beginningOfPassWriteIndex: 0,
50
+ endOfPassWriteIndex: 1,
51
+ });
52
+ const encoded = assembleTape(recorded).unwrap().bytes;
53
+ const decoded = decodeTape(encoded).unwrap();
54
+ expect(decoded.bootstrap.some((row) => row.kind === 'query-set')).toBe(true);
55
+ expect(validateTape(decoded).ok).toBe(true);
56
+ } finally {
57
+ device.destroyQuerySet(querySet).unwrap();
58
+ device.destroyTexture(target).unwrap();
59
+ }
60
+ });
61
+ });
@@ -171,6 +171,7 @@ function referencedHandles(event: RhiCallEvent): readonly string[] {
171
171
  'pipelineHandleId',
172
172
  'querySetHandleId',
173
173
  'occlusionQuerySetHandleId',
174
+ 'timestampQuerySetHandleId',
174
175
  'indexBufferHandleId',
175
176
  'vertexBufferHandleId',
176
177
  ];
@@ -173,6 +173,7 @@ function eventResources(event: RhiCallEvent): EventResources {
173
173
  reads: handleRefs(event, [
174
174
  'cmdHandleId',
175
175
  'occlusionQuerySetHandleId',
176
+ 'timestampQuerySetHandleId',
176
177
  'colorAttachmentViewHandleIds',
177
178
  'colorAttachmentResolveTargetHandleIds',
178
179
  'depthStencilViewHandleId',
@@ -180,7 +181,11 @@ function eventResources(event: RhiCallEvent): EventResources {
180
181
  destroyed: [],
181
182
  };
182
183
  case 'beginComputePass':
183
- return { created: [event.passHandleId], reads: [event.cmdHandleId], destroyed: [] };
184
+ return {
185
+ created: [event.passHandleId],
186
+ reads: handleRefs(event, ['cmdHandleId', 'timestampQuerySetHandleId']),
187
+ destroyed: [],
188
+ };
184
189
  case 'endRenderPass':
185
190
  case 'endComputePass':
186
191
  return { created: [], reads: [event.passHandleId], destroyed: [event.passHandleId] };
@@ -136,6 +136,7 @@ export function _collectFrameReferencedHandleIds(events: readonly RhiCallEvent[]
136
136
  colorAttachmentViewHandleIds: readonly (HandleId | undefined)[];
137
137
  depthStencilViewHandleId?: HandleId;
138
138
  occlusionQuerySetHandleId?: HandleId;
139
+ timestampQuerySetHandleId?: HandleId;
139
140
  };
140
141
  refs.add(we.cmdHandleId);
141
142
  for (const vhId of we.colorAttachmentViewHandleIds) {
@@ -143,11 +144,13 @@ export function _collectFrameReferencedHandleIds(events: readonly RhiCallEvent[]
143
144
  }
144
145
  if (we.depthStencilViewHandleId !== undefined) refs.add(we.depthStencilViewHandleId);
145
146
  if (we.occlusionQuerySetHandleId !== undefined) refs.add(we.occlusionQuerySetHandleId);
147
+ if (we.timestampQuerySetHandleId !== undefined) refs.add(we.timestampQuerySetHandleId);
146
148
  break;
147
149
  }
148
150
  case 'beginComputePass': {
149
- const we = e as { cmdHandleId: HandleId };
151
+ const we = e as { cmdHandleId: HandleId; timestampQuerySetHandleId?: HandleId };
150
152
  refs.add(we.cmdHandleId);
153
+ if (we.timestampQuerySetHandleId !== undefined) refs.add(we.timestampQuerySetHandleId);
151
154
  break;
152
155
  }
153
156
  case 'finish': {
@@ -54,6 +54,10 @@ export function createCommandEncoderProxy(
54
54
  kind: 'beginRenderPass',
55
55
  cmdHandleId: cmdHId,
56
56
  passHandleId: passHId,
57
+ timestampQuerySetHandleId:
58
+ desc?.timestampWrites === undefined
59
+ ? undefined
60
+ : getHandleId(s, desc.timestampWrites.querySet as object, 'querySet'),
57
61
  desc: {
58
62
  colorAttachments: Array.from(desc.colorAttachments).map((attachment) =>
59
63
  attachment === null || attachment === undefined ? attachment : { ...attachment },
@@ -61,7 +65,9 @@ export function createCommandEncoderProxy(
61
65
  ...(desc.depthStencilAttachment === undefined
62
66
  ? {}
63
67
  : { depthStencilAttachment: { ...desc.depthStencilAttachment } }),
64
- ...(desc.timestampWrites === undefined ? {} : { timestampWrites: desc.timestampWrites }),
68
+ ...(desc.timestampWrites === undefined
69
+ ? {}
70
+ : { timestampWrites: recordTimestampWrites(desc.timestampWrites) }),
65
71
  ...(desc.maxDrawCount === undefined ? {} : { maxDrawCount: desc.maxDrawCount }),
66
72
  },
67
73
  colorAttachmentViewHandleIds,
@@ -86,7 +92,17 @@ export function createCommandEncoderProxy(
86
92
  kind: 'beginComputePass',
87
93
  cmdHandleId: cmdHId,
88
94
  passHandleId: passHId,
89
- desc: desc as Partial<GPUComputePassDescriptor> | undefined,
95
+ timestampQuerySetHandleId:
96
+ desc?.timestampWrites === undefined
97
+ ? undefined
98
+ : getHandleId(s, desc.timestampWrites.querySet as object, 'querySet'),
99
+ desc:
100
+ desc === undefined
101
+ ? undefined
102
+ : {
103
+ ...(desc.label === undefined ? {} : { label: desc.label }),
104
+ timestampWrites: recordTimestampWrites(desc.timestampWrites),
105
+ },
90
106
  });
91
107
  const realPass = realEnc.beginComputePass(desc);
92
108
  return createComputePassProxy(s, realPass, passHId);
@@ -97,7 +113,14 @@ export function createCommandEncoderProxy(
97
113
  kind: 'beginComputePass',
98
114
  cmdHandleId: cmdHId,
99
115
  passHandleId: passHId,
100
- desc: desc as unknown as Partial<GPUComputePassDescriptor>,
116
+ timestampQuerySetHandleId:
117
+ desc?.timestampWrites === undefined
118
+ ? undefined
119
+ : getHandleId(s, desc.timestampWrites.querySet as object, 'querySet'),
120
+ desc: {
121
+ ...(desc.label === undefined ? {} : { label: desc.label }),
122
+ timestampWrites: recordTimestampWrites(desc.timestampWrites),
123
+ },
101
124
  });
102
125
  realEnc.encodeEmptyComputePass(desc);
103
126
  pushEvent(s, { kind: 'endComputePass', passHandleId: passHId });
@@ -275,3 +298,16 @@ export function createCommandEncoderProxy(
275
298
  },
276
299
  };
277
300
  }
301
+
302
+ function recordTimestampWrites(writes: RenderPassDescriptor['timestampWrites']) {
303
+ return writes === undefined
304
+ ? undefined
305
+ : {
306
+ ...(writes.beginningOfPassWriteIndex === undefined
307
+ ? {}
308
+ : { beginningOfPassWriteIndex: writes.beginningOfPassWriteIndex }),
309
+ ...(writes.endOfPassWriteIndex === undefined
310
+ ? {}
311
+ : { endOfPassWriteIndex: writes.endOfPassWriteIndex }),
312
+ };
313
+ }
@@ -783,8 +783,11 @@ function beginRenderPass(
783
783
  if (event.occlusionQuerySetHandleId !== undefined && querySet?.kind !== 'query-set') {
784
784
  return missingResource(eventIndex, event, event.occlusionQuerySetHandleId, 'query-set');
785
785
  }
786
+ const timestamp = replayTimestampWrites(context, event, eventIndex);
787
+ if (!timestamp.ok) return timestamp;
786
788
  const descriptor = {
787
789
  ...event.desc,
790
+ ...(timestamp.value === undefined ? {} : { timestampWrites: timestamp.value }),
788
791
  colorAttachments: colors,
789
792
  ...(depth?.kind === 'texture-view'
790
793
  ? {
@@ -804,6 +807,29 @@ function beginRenderPass(
804
807
  );
805
808
  }
806
809
 
810
+ function replayTimestampWrites(
811
+ context: ReplayExecutionContext,
812
+ event: Extract<RhiCallEvent, { kind: 'beginRenderPass' | 'beginComputePass' }>,
813
+ eventIndex: number,
814
+ ): Result<import('@forgeax/engine-rhi').RenderPassTimestampWrites | undefined, RhiDebugError> {
815
+ if (event.desc?.timestampWrites === undefined) return ok(undefined);
816
+ const handle = event.timestampQuerySetHandleId;
817
+ if (handle === undefined)
818
+ return missingResource(eventIndex, event, 'timestamp-query-set', 'query-set');
819
+ const query = requireResource<import('@forgeax/engine-rhi').QuerySet>(
820
+ context,
821
+ handle,
822
+ 'query-set',
823
+ eventIndex,
824
+ event.kind,
825
+ );
826
+ if (!query.ok) return query;
827
+ return ok({
828
+ ...event.desc.timestampWrites,
829
+ querySet: query.value,
830
+ });
831
+ }
832
+
807
833
  function beginComputePass(
808
834
  context: ReplayExecutionContext,
809
835
  event: Extract<RhiCallEvent, { kind: 'beginComputePass' }>,
@@ -818,7 +844,12 @@ function beginComputePass(
818
844
  'command',
819
845
  );
820
846
  if (!encoder.ok) return encoder;
821
- const pass = encoder.value.beginComputePass(JSON.parse(JSON.stringify(event.desc)));
847
+ const timestamp = replayTimestampWrites(context, event, eventIndex);
848
+ if (!timestamp.ok) return timestamp;
849
+ const pass = encoder.value.beginComputePass({
850
+ ...(event.desc?.label === undefined ? {} : { label: event.desc.label }),
851
+ ...(timestamp.value === undefined ? {} : { timestampWrites: timestamp.value }),
852
+ });
822
853
  return context.table.set(
823
854
  event.passHandleId,
824
855
  { kind: 'encoder', role: 'compute-pass', value: pass },
@@ -173,6 +173,13 @@ async function readTexture(
173
173
  const format = stringField(descriptor, 'format');
174
174
  const dimension = stringField(descriptor, 'dimension') ?? '2d';
175
175
  if (format === undefined) return readbackFailure(`texture ${resourceId} has no recorded format`);
176
+ if ((numberField(descriptor, 'sampleCount') ?? 1) > 1) {
177
+ return readbackUnsupported(
178
+ resourceId,
179
+ format,
180
+ 'multisampled textures require a single-sample resolve target before readback',
181
+ );
182
+ }
176
183
  const plan = getTextureReadbackPlan({ format, dimension });
177
184
  if (!plan.supported) {
178
185
  return err(
@@ -787,9 +787,14 @@ async function readWorkAttachment(
787
787
  }),
788
788
  );
789
789
  }
790
- const viewId = begin.colorAttachmentViewHandleIds.find(
791
- (candidate): candidate is string => candidate !== undefined,
790
+ const attachmentIndex = begin.colorAttachmentViewHandleIds.findIndex(
791
+ (candidate) => candidate !== undefined,
792
792
  );
793
+ // finalizeWorkPass has ended the pass and resolved the selected work.
794
+ // Keep the resolve target paired with its color slot, including sparse MRTs.
795
+ const viewId =
796
+ begin.colorAttachmentResolveTargetHandleIds?.[attachmentIndex] ??
797
+ begin.colorAttachmentViewHandleIds[attachmentIndex];
793
798
  if (viewId === undefined) {
794
799
  return err(
795
800
  createRhiDebugError('readback-unsupported', {
package/src/types.ts CHANGED
@@ -307,7 +307,7 @@ export interface RhiCallEventBeginRenderPass {
307
307
  }
308
308
  | undefined;
309
309
  /** The opaque query set is represented by the parallel handle id below. */
310
- readonly timestampWrites?: unknown | undefined;
310
+ readonly timestampWrites?: Omit<GPURenderPassTimestampWrites, 'querySet'> | undefined;
311
311
  readonly maxDrawCount?: number | undefined;
312
312
  };
313
313
  readonly colorAttachmentViewHandleIds: readonly (HandleId | undefined)[];
@@ -319,13 +319,19 @@ export interface RhiCallEventBeginRenderPass {
319
319
  readonly colorAttachmentResolveTargetHandleIds?: readonly (HandleId | undefined)[];
320
320
  readonly depthStencilViewHandleId?: HandleId | undefined;
321
321
  readonly occlusionQuerySetHandleId?: HandleId | undefined;
322
+ readonly timestampQuerySetHandleId?: HandleId | undefined;
322
323
  }
323
324
 
324
325
  export interface RhiCallEventBeginComputePass {
325
326
  readonly kind: 'beginComputePass';
327
+ readonly timestampQuerySetHandleId?: HandleId | undefined;
326
328
  readonly cmdHandleId: HandleId;
327
329
  readonly passHandleId: HandleId;
328
- readonly desc?: Partial<GPUComputePassDescriptor> | undefined;
330
+ readonly desc?:
331
+ | (Omit<Partial<GPUComputePassDescriptor>, 'timestampWrites'> & {
332
+ readonly timestampWrites?: Omit<GPUComputePassTimestampWrites, 'querySet'> | undefined;
333
+ })
334
+ | undefined;
329
335
  }
330
336
 
331
337
  export interface RhiCallEventCopyBufferToBuffer {