1#version 460 core 2#extension GL_KHR_shader_subgroup_basic: require 3#extension GL_EXT_shader_quad_control: require 4#extension GL_KHR_shader_subgroup_vote: require 5 6layout (full_quads) in; 7layout (quad_derivatives) in; 8 9flat in int iInput; 10 11out int bOut; 12 13 14void main(){ 15 bool bTemp = false; 16 17 // EXT_shader_quad_control required begin 18 bTemp = bTemp || subgroupQuadAll(iInput > 0); // GL_KHR_shader_subgroup_vote 19 bTemp = bTemp || subgroupQuadAny(iInput > 0); // GL_KHR_shader_subgroup_vote 20 bOut = bTemp == true ? 1 : 0; 21}