Closed maierlars closed 2 weeks ago
Initially I though about reusing the GLdrawmode
type from gl_draw_funcs.cpp
but since the amount of allowed values is limited for glBeginTransformFeedback
I decided differently.
Hi, I appreciate you putting this together but I don't want to make this change.
Fundamentally, this is just a design flaw of OpenGL (one of many in the API) - given that state is better displayed in the pipeline state viewer and correctly displayed there at all times, an enum substituted for an alias in the API inspector which is rarely used is not worth the extra code complexity and bug surface of adding special-case serialisation.
This is not the only case where enum aliasing comes up and honestly the handling in draws was barely justifiable with drawcalls being much more visible, I would be more tempted to remove it from draws as I think it was only relevant before the change to how draws are displayed in the event browser.
I understand.
given that state is better displayed in the pipeline state viewer and correctly displayed there at all times
Sadly it's not. At least not for me. See screenshot below. According to the note from the docs in this section it says:
In D3D11 and OpenGL, the Stream-Out / Transform Feedback stage is available under the Geometry Shader block, with the buffers being used for stream-out shown.
So, maybe there is a different bug?
I'm happy to share the capture file if this is of any help.
Yes if the stream-out state is not properly displayed please open an issue with a repro and I'll look into it.
Description
When analyzing a captured frame with transform feedback, renderdoc displayed
GL_NONE
as primitive type when capturing points. This is due the fact thatGL_POINTS == 0 == GL_NONE
.I added a similar contraption as for all the draw commands, that translates this correctly to
GL_POINTS
.I'm very grateful for renderdoc, it's an awesome tool. It's so awesome that it took me 4 days to realize that this is not my applications fault but indeed a display bug. (tthe actual problem was else where)
Now it looks like this: