ARB着色器投票:错误与真实之间不一致吗?

时间:2019-01-02 21:26:21

标签: opengl glsl vulkan

我想知道为什么ballotARB(false)总是返回0而不返回位域,在该位域中为子组中的所有活动调用都设置了相应的位。

因此,我看不到如何在程序中使用ballotARB功能。

我对此功能的理解是否错误?

1 个答案:

答案 0 :(得分:2)

如果不是ballotARB(false)0应该返回什么?

它确实返回本地子组中的true票数。由于您的所有调用无论如何都投票false,因此结果必须0ARB_shader_ballot扩展规范中甚至明确声明了这一点:

  

可以做出以下简单假设:

     
      
  • ballotARB(true)返回bitfield,其中为子组中的所有活动调用设置了相应的位。
  •   
  • ballotARB(false)返回零。
  •   

因此,要使用投票,您应该在实际上不是动态统一的专业比赛中使用它。