| #version 460 core |
| #extension GL_KHR_shader_subgroup_basic: require |
| #extension GL_EXT_shader_quad_control: require |
| #extension GL_KHR_shader_subgroup_vote: require |
| |
| layout (full_quads) in; |
| layout (quad_derivatives) in; |
| |
| flat in int iInput; |
| |
| out int bOut; |
| |
| |
| void main(){ |
| bool bTemp = false; |
| |
| // EXT_shader_quad_control required begin |
| bTemp = bTemp || subgroupQuadAll(iInput > 0); // GL_KHR_shader_subgroup_vote |
| bTemp = bTemp || subgroupQuadAny(iInput > 0); // GL_KHR_shader_subgroup_vote |
| bOut = bTemp == true ? 1 : 0; |
| } |