Что должно ballotARB(false)
вернуть, если нет 0
?
Возвращает количество true
голосов в местной подгруппе. Поскольку все ваши вызовы голосуют false
, несмотря ни на что, результат должен быть 0
. Это даже явно указано в спецификации расширения ARB_shader_ballot
:
Можно сделать следующие тривиальные предположения:
ballotARB(true)
возвращает bitfield
, где соответствующие биты установлены для всех активных вызовов в подгруппе.
ballotARB(false)
возвращает ноль.
Таким образом, чтобы использовать голоса, вы должны использовать их для выражения, которое на самом деле не динамически однородно .