Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

Adept II
Adept II

vkCmdExecuteCommands messes up primitive topology

The problem seems to be Vega-specific (reproed on Vega 64, 20.2.2). On the R7 360 as well as on other cards it works correctly.

The sample in a nutshell is:

  • record secondary command buffers wrt. the current view frustum
  • subpass 0: execute secondary command buffers (topology: triangle list)
  • subpass 1: render bounding boxes (topology: line list)

With a (probably unnecessary) dependency between the subpasses.


The code is not a "minimal" sample, as I didn't want to change too many things (I only replaced the models and changed some of the behavior), sorry for that. Build in Release, with the latest Vulkan SDK installed:

My first thought was that this is a subpass dependency problem, but didn't find any indication for it. Then I traced the problem to the vkCmdExecuteCommands call (commenting it fixes the box rendering).

Also tested with RenderDoc; it shows the box rendering done correctly, but when I step to the next call, it "retroactively" produces the incorrect result.


Minimal repro, which clearly shows that the problem is caused by the secondary command buffer:

Tags (1)
0 Kudos
1 Reply

Re: vkCmdExecuteCommands messes up primitive topology

Thanks for the provided info! We will take a look into it as soon as possible!

0 Kudos