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}