MeshDecompressStagingRelease test fails on master: deletionQueue.size() != 1 after compressed Build #110
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Catcrafts/Crafter.Graphics#110
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
crafter-build test MeshDecompressStagingReleasefails deterministically on currentmaster(HEAD2c8a293, the #67/#106 merge), independent of any feature branch — reproduced aftergit stashon a clean tree.Two checks fail, both rooted in the same symptom:
The test (
tests/MeshDecompressStagingRelease/main.cpp:154) assertsDevice::deletionQueue.size() == 1immediately aftermesh.Build(asset, cmd)on the GPU decompress path — i.e. exactly the compressed staging buffer should have been handed to the fence-keyed deletion queue. On this RTX 4090 + validation-layer run the queue does not hold exactly one entry, so the later "not freed before framesInFlight" check (which re-asserts size == 1 after a frame-0ReclaimDeletions()) also fails.This is GPU-path only (the codec is present here), so it likely wasn't caught on a CPU-decode-fallback CI. Either the #67 staging-release path enqueues a different number of deferred deletions than the test expects, or the BLAS build on this path enqueues an extra deferred allocation the test doesn't account for.
Surfaced while working on #75 (TLAS metadata buffer BAR upgrade); that change is unrelated (touches only
RenderingElement3D) and its own tests pass. Filing so the master regression is tracked rather than silently rolled into an unrelated PR.