yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
c16e6a34
main
1#version 450 2#extension GL_EXT_shader_explicit_arithmetic_types : enable 3#extension GL_EXT_integer_dot_product : enable 4 5int32_t i32 = 0 ; 6int16_t i16 = int16_t (0 ); 7uint32_t ui32 = 0 ; 8uint16_t ui16 = uint16_t (0 ); 9int64_t i64 = int64_t (0 ); 10uint64_t ui64 = uint64_t (0 ); 11 12void main (void ) 13{ 14// DotProductInput4x8BitPackedKHR 15dotPacked4x8EXT (i32 ,i32 ); 16dotPacked4x8EXT (ui32 ,ui32 ); 17dotPacked4x8EXT (ui32 ,i32 ); 18dotPacked4x8EXT (i32 ,ui32 ); 19dotPacked4x8AccSatEXT (i32 ,i32 ,i32 ); 20dotPacked4x8AccSatEXT (ui32 ,ui32 ,ui32 ); 21dotPacked4x8AccSatEXT (ui32 ,i32 ,i32 ); 22dotPacked4x8AccSatEXT (i32 ,ui32 ,i32 ); 23 24// 8bit vec4 25dotEXT (i8vec4 (0 ),i8vec4 (0 )); 26dotEXT (u8vec4 (0 ),u8vec4 (0 )); 27dotEXT (u8vec4 (0 ),i8vec4 (0 )); 28dotEXT (i8vec4 (0 ),u8vec4 (0 )); 29dotAccSatEXT (i8vec4 (0 ),i8vec4 (0 ),i32 ); 30dotAccSatEXT (u8vec4 (0 ),u8vec4 (0 ),ui32 ); 31dotAccSatEXT (u8vec4 (0 ),i8vec4 (0 ),i32 ); 32dotAccSatEXT (i8vec4 (0 ),u8vec4 (0 ),i32 ); 33 34// 8bit vec3 35dotEXT (i8vec3 (0 ),i8vec3 (0 )); 36dotEXT (u8vec3 (0 ),u8vec3 (0 )); 37dotEXT (u8vec3 (0 ),i8vec3 (0 )); 38dotEXT (i8vec3 (0 ),u8vec3 (0 )); 39dotAccSatEXT (i8vec3 (0 ),i8vec3 (0 ),i32 ); 40dotAccSatEXT (u8vec3 (0 ),u8vec3 (0 ),ui32 ); 41dotAccSatEXT (u8vec3 (0 ),i8vec3 (0 ),i32 ); 42dotAccSatEXT (i8vec3 (0 ),u8vec3 (0 ),i32 ); 43 44// 8bit vec2 45dotEXT (i8vec2 (0 ),i8vec2 (0 )); 46dotEXT (u8vec2 (0 ),u8vec2 (0 )); 47dotEXT (u8vec2 (0 ),i8vec2 (0 )); 48dotEXT (i8vec2 (0 ),u8vec2 (0 )); 49dotAccSatEXT (i8vec2 (0 ),i8vec2 (0 ),i32 ); 50dotAccSatEXT (u8vec2 (0 ),u8vec2 (0 ),ui32 ); 51dotAccSatEXT (u8vec2 (0 ),i8vec2 (0 ),i32 ); 52dotAccSatEXT (i8vec2 (0 ),u8vec2 (0 ),i32 ); 53 54// 16bit vec4 55dotEXT (i16vec4 (0 ),i16vec4 (0 )); 56dotEXT (u16vec4 (0 ),u16vec4 (0 )); 57dotEXT (i16vec4 (0 ),u16vec4 (0 )); 58dotEXT (u16vec4 (0 ),i16vec4 (0 )); 59dotAccSatEXT (i16vec4 (0 ),i16vec4 (0 ),i32 ); 60dotAccSatEXT (u16vec4 (0 ),u16vec4 (0 ),ui32 ); 61dotAccSatEXT (i16vec4 (0 ),u16vec4 (0 ),i32 ); 62dotAccSatEXT (u16vec4 (0 ),i16vec4 (0 ),i32 ); 63 64// 16bit vec3 65dotEXT (i16vec3 (0 ),i16vec3 (0 )); 66dotEXT (u16vec3 (0 ),u16vec3 (0 )); 67dotEXT (i16vec3 (0 ),u16vec3 (0 )); 68dotEXT (u16vec3 (0 ),i16vec3 (0 )); 69dotAccSatEXT (i16vec3 (0 ),i16vec3 (0 ),i32 ); 70dotAccSatEXT (u16vec3 (0 ),u16vec3 (0 ),ui32 ); 71dotAccSatEXT (i16vec3 (0 ),u16vec3 (0 ),i32 ); 72dotAccSatEXT (u16vec3 (0 ),i16vec3 (0 ),i32 ); 73 74// 16bit vec2 75dotEXT (i16vec2 (0 ),i16vec2 (0 )); 76dotEXT (u16vec2 (0 ),u16vec2 (0 )); 77dotEXT (i16vec2 (0 ),u16vec2 (0 )); 78dotEXT (u16vec2 (0 ),i16vec2 (0 )); 79dotAccSatEXT (i16vec2 (0 ),i16vec2 (0 ),i32 ); 80dotAccSatEXT (u16vec2 (0 ),u16vec2 (0 ),ui32 ); 81dotAccSatEXT (i16vec2 (0 ),u16vec2 (0 ),i32 ); 82dotAccSatEXT (u16vec2 (0 ),i16vec2 (0 ),i32 ); 83 84// 32bit vec4 85dotEXT (i32vec4 (0 ),i32vec4 (0 )); 86dotEXT (u32vec4 (0 ),u32vec4 (0 )); 87dotEXT (i32vec4 (0 ),u32vec4 (0 )); 88dotEXT (u32vec4 (0 ),i32vec4 (0 )); 89dotAccSatEXT (i32vec4 (0 ),i32vec4 (0 ),i32 ); 90dotAccSatEXT (u32vec4 (0 ),u32vec4 (0 ),ui32 ); 91dotAccSatEXT (i32vec4 (0 ),u32vec4 (0 ),i32 ); 92dotAccSatEXT (u32vec4 (0 ),i32vec4 (0 ),i32 ); 93 94// 32bit vec3 95dotEXT (i32vec3 (0 ),i32vec3 (0 )); 96dotEXT (u32vec3 (0 ),u32vec3 (0 )); 97dotEXT (i32vec3 (0 ),u32vec3 (0 )); 98dotEXT (u32vec3 (0 ),i32vec3 (0 )); 99dotAccSatEXT (i32vec3 (0 ),i32vec3 (0 ),i32 ); 100dotAccSatEXT (u32vec3 (0 ),u32vec3 (0 ),ui32 ); 101dotAccSatEXT (i32vec3 (0 ),u32vec3 (0 ),i32 ); 102dotAccSatEXT (u32vec3 (0 ),i32vec3 (0 ),i32 ); 103 104// 32bit vec2 105dotEXT (i32vec2 (0 ),i32vec2 (0 )); 106dotEXT (u32vec2 (0 ),u32vec2 (0 )); 107dotEXT (i32vec2 (0 ),u32vec2 (0 )); 108dotEXT (u32vec2 (0 ),i32vec2 (0 )); 109dotAccSatEXT (i32vec2 (0 ),i32vec2 (0 ),i32 ); 110dotAccSatEXT (u32vec2 (0 ),u32vec2 (0 ),ui32 ); 111dotAccSatEXT (i32vec2 (0 ),u32vec2 (0 ),i32 ); 112dotAccSatEXT (u32vec2 (0 ),i32vec2 (0 ),i32 ); 113 114// 64bit vec4 115dotEXT (i64vec4 (0 ),i64vec4 (0 )); 116dotEXT (u64vec4 (0 ),u64vec4 (0 )); 117dotEXT (i64vec4 (0 ),u64vec4 (0 )); 118dotEXT (u64vec4 (0 ),i64vec4 (0 )); 119dotAccSatEXT (i64vec4 (0 ),i64vec4 (0 ),i64 ); 120dotAccSatEXT (u64vec4 (0 ),u64vec4 (0 ),ui64 ); 121dotAccSatEXT (i64vec4 (0 ),u64vec4 (0 ),i64 ); 122dotAccSatEXT (u64vec4 (0 ),i64vec4 (0 ),i64 ); 123 124// 64bit vec3 125dotEXT (i64vec3 (0 ),i64vec3 (0 )); 126dotEXT (u64vec3 (0 ),u64vec3 (0 )); 127dotEXT (i64vec3 (0 ),u64vec3 (0 )); 128dotEXT (u64vec3 (0 ),i64vec3 (0 )); 129dotAccSatEXT (i64vec3 (0 ),i64vec3 (0 ),i64 ); 130dotAccSatEXT (u64vec3 (0 ),u64vec3 (0 ),ui64 ); 131dotAccSatEXT (i64vec3 (0 ),u64vec3 (0 ),i64 ); 132dotAccSatEXT (u64vec3 (0 ),i64vec3 (0 ),i64 ); 133 134// 64bit vec2 135dotEXT (i64vec2 (0 ),i64vec2 (0 )); 136dotEXT (u64vec2 (0 ),u64vec2 (0 )); 137dotEXT (i64vec2 (0 ),u64vec2 (0 )); 138dotEXT (u64vec2 (0 ),i64vec2 (0 )); 139dotAccSatEXT (i64vec2 (0 ),i64vec2 (0 ),i64 ); 140dotAccSatEXT (u64vec2 (0 ),u64vec2 (0 ),ui64 ); 141dotAccSatEXT (i64vec2 (0 ),u64vec2 (0 ),i64 ); 142dotAccSatEXT (u64vec2 (0 ),i64vec2 (0 ),i64 ); 143}