此示例演示了如何使用 AMD_shader_ballot 扩展和 mbcnt 在波形内执行快速规约。
有关 Vulkan® 的更多信息,请访问我们的专用页面

扩展详细信息
mbcnt计算给定参数中置位的位数,并用一个线程掩码进行屏蔽,该掩码包含波形内小于当前线程的所有活动线程的 1。ballot返回一个 64 位掩码,如果波形内的该线程在指令中通过了 true,则包含 1,否则为 0。
要求
- AMD Radeon™ GCN 架构 GPU(HD 7000 系列或更新型号)
- 或任何其他支持 Vulkan® 的独立 GPU。
- 64 位 Windows® 7 (SP1 附带平台更新)、Windows® 8.1 或 Windows® 10。
- Visual Studio® 2013 或 Visual Studio® 2015。
- 支持 Vulkan® 的图形驱动程序
- 例如,AMD Radeon™ Software Crimson Edition 16.5.2 或更高版本。
- 必须安装Vulkan® SDK。