-
Notifications
You must be signed in to change notification settings - Fork 327
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
Vulkan Command Tree Grouping Returns Wrong Command paths. #1214
Comments
Fix google#1214 Turns out we just need to remove two historical lines of code
Fix google#1214 Turns out we just need to remove two historical lines of code
It seems like this is closed automatically. Hopefully this is fixed now @pmuetschard |
It fixed most cases, however, the RenderPass group still is broken: |
@pmuetschard, this is because renderpass group is actually an api.CmdIDGroup, not a api.Command or api.SubCmdRoot or api.SubCmdIdx. Do you think [371, 0, 0, 0]-[371, 0, 0, 6] is a valid range for this group? I'm thinking of making the |
@pmuetschard, and in terms of framebuffer request, the subcommand for [1, 0, 7, 0, 0, 0] (RenderPass) should be [371, 0, 0, 6] |
I am making these observations from the perspective of the API the server exposes, and not from the implementation:
|
This will, of course, all depend on how we resolve #1134. |
Hmm, I will put up an CL with minimized changes to make the CommandRange a SubCommandRange. Probably not align with how we will fix #1134, but at least makes sense for now. |
Sorry to be spammy, I want to make sure we also consider multiple render passes and render pass parents: Yours:
vs mine:
The choice is really yours and depends on what you think makes the most sense in numbering things from the Vulkan perspective. I like mine slightly better, because the render pass grouping makes sense to me, however, I'm not as familiar with the API as you, so maybe the grouping of the render pass's parent is more important. |
Here is a situation why I think mine is better:
So, generally, each So, in the example above, the commands: Besides, users are allowed to create as many as 'debug marker groups' as they want. So in extreme cases, it is possible to have tens of layers of debug marker groups. |
SGTM. Thanks for the clarification. I agree, it makes more sense to prioritize the grouping at the buffers. |
Given a trace with the following tree:
When fetching the nodes from the server the following values are returned:
The node at
[1, 0, 7]
(vkQueueSubmit) is for command:[371]
- Correct.The node at
[1, 0, 7, 0]
is for command:[371, 0, 0]
- Should be[371, 0]
.The node at
[1, 0, 7, 0, 0]
is for command[371, 0, 0, 0]
- Should be[371, 0, 0]
.The node at
[1, 0, 7, 0, 0, 0]
(RenderPass) is for commands[0]-[6]
- Should be[371, 0, 0]
.The nodes at
[1, 0, 7, 0, 0, 0, x]
are for commands[371, 0, 0, x]
, which is correct again.This results in strange behavior, especially when selecting the RenderPass node.
The text was updated successfully, but these errors were encountered: