Vulkan 是否以正确的顺序调用计算着色器的工作组?

Does Vulkan invoke work groups of a compute shader in the correct order?

当我调用 vkCmdDispatch 时,GPU 将尝试 运行 尽可能多的并行分组。如果有太多的组,那么其中一些将不得不等待其他人完成,然后才有 space(就像 nvidia 上的一些可用扭曲)。 我想知道 Vulkan 是否以某种方式保证具有较低 gl_WorkGroupID 的组将 运行 在具有较高 gl_WorkGroupID 的组之前。因此,例如,如果我编写代码

if(gl_GlobalInvocationID.x==0){
   // some preliminary setup
}

那么我可以确定这段代码会在最开始执行。

工作组执行完全无序,基本上没有有效工具可以强制以任何特定顺序执行工作组。