Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More structured output for debug marks (equivalent to glPushDebugGroup) #172

Open
JannikGM opened this issue Jan 28, 2021 · 2 comments
Open

Comments

@JannikGM
Copy link
Contributor

In desktop GL, there's glPushDebugGroup and glPopDebugGroup which work similar to window.spector.setMarker and window.spector.clearMarker.

However, the GL way of doing it is better, because it's structured. It's possible to contain one group in another one.
Most debugging tools will visualize these groups with foldable-log entries.

This makes it possible to get a high-level overview of each rendering step in a folded/collapsed list. Users can unfold/uncollapse individual entries, and do this recursively until they find the draw calls they care about.

With projects like https://github.com/maplibre/maplibre-gl-js (map rendering) there can be hundreds of layers (water, grass, roads, ..) on a map. With groups, one could collapse these layers. Within each layers, one could have other high-level entries like "data-upload" and "rendering".
For the desktop variant of mapbox (which maplibre is based on), this is already done with debug-groups.

In GPU or API emulators it's possible to represent guest-system graphics actions by a handful of host-system API calls. So grouping these together can provide a guest-API view. (Example: When porting an application, creating a group for Direct3D draw calls, which internally call OpenGL backend functions - in collapsed view, only the Direct3D API would be shown).

However, there are probably many other applications for this.

This would also be necessary for #170.

@sebavan
Copy link
Member

sebavan commented Feb 1, 2021

See discussion on #170

@sebavan
Copy link
Member

sebavan commented Jan 18, 2022

I ll see what I can do next week end for this one, I did a bunch of house keeping but would need more time for this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants