yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
f1437db5
main
1#version 450 2 3#extension GL_EXT_shader_explicit_arithmetic_types : enable 4#extension GL_EXT_shader_explicit_arithmetic_types_int8 : require 5#extension GL_EXT_shader_explicit_arithmetic_types_int16 : require 6 7layout (binding = 0 )uniform Uniforms 8{ 9uint index ; 10}; 11 12void main () 13{ 14} 15 16 17void bitOps8 (int8_t a ,int8_t b ) 18{ 19int8_t i8 ; 20i8vec2 i8v2 ; 21i8vec3 i8v3 ; 22i8vec4 i8v4 ; 23 24uint8_t u8 ; 25u8vec2 u8v2 ; 26u8vec3 u8v3 ; 27u8vec4 u8v4 ; 28 29i8 = bitfieldReverse (i8 ); 30i8v2 = bitfieldReverse (i8v2 ); 31i8v3 = bitfieldReverse (i8v3 ); 32i8v4 = bitfieldReverse (i8v4 ); 33 34u8 = bitfieldReverse (u8 ); 35u8v2 = bitfieldReverse (u8v2 ); 36u8v3 = bitfieldReverse (u8v3 ); 37u8v4 = bitfieldReverse (u8v4 ); 38 39i8 = findMSB (i8 ); 40i8v2 = findMSB (i8v2 ); 41i8v3 = findMSB (i8v3 ); 42i8v4 = findMSB (i8v4 ); 43 44i8 = findMSB (u8 ); 45i8v2 = findMSB (u8v2 ); 46i8v3 = findMSB (u8v3 ); 47i8v4 = findMSB (u8v4 ); 48 49 50i8 = findLSB (i8 ); 51i8v2 = findLSB (i8v2 ); 52i8v3 = findLSB (i8v3 ); 53i8v4 = findLSB (i8v4 ); 54 55i8 = findLSB (u8 ); 56i8v2 = findLSB (u8v2 ); 57i8v3 = findLSB (u8v3 ); 58i8v4 = findLSB (u8v4 ); 59 60 61i8 = bitCount (i8 ); 62i8v2 = bitCount (i8v2 ); 63i8v3 = bitCount (i8v3 ); 64i8v4 = bitCount (i8v4 ); 65 66i8 = bitCount (u8 ); 67i8v2 = bitCount (u8v2 ); 68i8v3 = bitCount (u8v3 ); 69i8v4 = bitCount (u8v4 ); 70 71i8 = bitfieldExtract (i8 ,a ,b ); 72i8v2 = bitfieldExtract (i8v2 ,a ,b ); 73i8v3 = bitfieldExtract (i8v3 ,a ,b ); 74i8v4 = bitfieldExtract (i8v4 ,a ,b ); 75 76u8 = bitfieldExtract (u8 ,a ,b ); 77u8v2 = bitfieldExtract (u8v2 ,a ,b ); 78u8v3 = bitfieldExtract (u8v3 ,a ,b ); 79u8v4 = bitfieldExtract (u8v4 ,a ,b ); 80 81i8 = bitfieldInsert (i8 ,i8 ,a ,b ); 82i8v2 = bitfieldInsert (i8v2 ,i8v2 ,a ,b ); 83i8v3 = bitfieldInsert (i8v3 ,i8v3 ,a ,b ); 84i8v4 = bitfieldInsert (i8v4 ,i8v4 ,a ,b ); 85 86u8 = bitfieldInsert (u8 ,u8 ,a ,b ); 87u8v2 = bitfieldInsert (u8v2 ,u8v2 ,a ,b ); 88u8v3 = bitfieldInsert (u8v3 ,u8v3 ,a ,b ); 89u8v4 = bitfieldInsert (u8v4 ,u8v4 ,a ,b ); 90} 91 92 93void bitOps16 (int16_t a ,int16_t b ) 94{ 95int16_t i16 ; 96i16vec2 i16v2 ; 97i16vec3 i16v3 ; 98i16vec4 i16v4 ; 99 100uint16_t u16 ; 101u16vec2 u16v2 ; 102u16vec3 u16v3 ; 103u16vec4 u16v4 ; 104 105i16 = bitfieldReverse (i16 ); 106i16v2 = bitfieldReverse (i16v2 ); 107i16v3 = bitfieldReverse (i16v3 ); 108i16v4 = bitfieldReverse (i16v4 ); 109 110u16 = bitfieldReverse (u16 ); 111u16v2 = bitfieldReverse (u16v2 ); 112u16v3 = bitfieldReverse (u16v3 ); 113u16v4 = bitfieldReverse (u16v4 ); 114 115i16 = findMSB (i16 ); 116i16v2 = findMSB (i16v2 ); 117i16v3 = findMSB (i16v3 ); 118i16v4 = findMSB (i16v4 ); 119 120u16 = findMSB (u16 ); 121u16v2 = findMSB (u16v2 ); 122u16v3 = findMSB (u16v3 ); 123u16v4 = findMSB (u16v4 ); 124 125 126i16 = findLSB (i16 ); 127i16v2 = findLSB (i16v2 ); 128i16v3 = findLSB (i16v3 ); 129i16v4 = findLSB (i16v4 ); 130 131i16 = findLSB (u16 ); 132i16v2 = findLSB (u16v2 ); 133i16v3 = findLSB (u16v3 ); 134i16v4 = findLSB (u16v4 ); 135 136 137i16 = bitCount (i16 ); 138i16v2 = bitCount (i16v2 ); 139i16v3 = bitCount (i16v3 ); 140i16v4 = bitCount (i16v4 ); 141 142i16 = bitCount (u16 ); 143i16v2 = bitCount (u16v2 ); 144i16v3 = bitCount (u16v3 ); 145i16v4 = bitCount (u16v4 ); 146 147i16 = bitfieldExtract (i16 ,a ,b ); 148i16v2 = bitfieldExtract (i16v2 ,a ,b ); 149i16v3 = bitfieldExtract (i16v3 ,a ,b ); 150i16v4 = bitfieldExtract (i16v4 ,a ,b ); 151 152u16 = bitfieldExtract (u16 ,a ,b ); 153u16v2 = bitfieldExtract (u16v2 ,a ,b ); 154u16v3 = bitfieldExtract (u16v3 ,a ,b ); 155u16v4 = bitfieldExtract (u16v4 ,a ,b ); 156 157i16 = bitfieldInsert (i16 ,i16 ,a ,b ); 158i16v2 = bitfieldInsert (i16v2 ,i16v2 ,a ,b ); 159i16v3 = bitfieldInsert (i16v3 ,i16v3 ,a ,b ); 160i16v4 = bitfieldInsert (i16v4 ,i16v4 ,a ,b ); 161 162u16 = bitfieldInsert (u16 ,u16 ,a ,b ); 163u16v2 = bitfieldInsert (u16v2 ,u16v2 ,a ,b ); 164u16v3 = bitfieldInsert (u16v3 ,u16v3 ,a ,b ); 165u16v4 = bitfieldInsert (u16v4 ,u16v4 ,a ,b ); 166}