feat: TRACEID_BUFFERS trace, example control, and storage buffer debug names#8705
Merged
Conversation
…g names - Add TRACEID_BUFFERS and log device buffers in GraphicsDevice.frameStart - LOD streaming example: Log Buffers button + one-frame tracing - Name internal StorageBuffers via DebugHelper for buffer listings - Document optional instance name for TRACEID_BUFFERS on StorageBuffer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a debug trace channel to list GPU buffers tracked on the graphics device (vertex, index, storage), with per-type byte totals and optional per-buffer names. The LOD streaming example gets a one-frame "Log Buffers" control; engine-internal storage buffers are tagged for easier identification in that dump.
Changes:
TRACEID_BUFFERSconstant andGraphicsDevice.frameStartlogging (sorted by size, VB/IB/SB totals, optionalbuffer.namein the line output).Tracing.set(TRACEID_BUFFERS, …)for one frame (same pattern as textures).DebugHelper.setNameafter internalnew StorageBufferallocations (gsplat, radix sort, prefix sum, WebGPU indirect/draw paths).StorageBufferdocs: optional instancenamefor listings whenTRACEID_BUFFERSis enabled.API Changes:
TRACEID_BUFFERS(same family asTRACEID_TEXTURES). Enable withTracing.set(pc.TRACEID_BUFFERS, true)for the frames where logging should run.Examples:
examples/src/examples/gaussian-splatting/lod-streaming.example.mjsexamples/src/examples/gaussian-splatting/lod-streaming.controls.mjs