File: spv.int_dot.frag

package info (click to toggle)
glslang 16.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,712 kB
  • sloc: cpp: 92,305; yacc: 4,320; sh: 603; python: 305; ansic: 94; javascript: 74; makefile: 17
file content (143 lines) | stat: -rw-r--r-- 4,786 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#version 450
#extension GL_EXT_shader_explicit_arithmetic_types: enable
#extension GL_EXT_integer_dot_product: enable

int32_t i32 = 0;
int16_t i16 = int16_t(0);
uint32_t ui32 = 0;
uint16_t ui16 = uint16_t(0);
int64_t i64 = int64_t(0);
uint64_t ui64 = uint64_t(0);

void main (void)
{
    // DotProductInput4x8BitPackedKHR
    dotPacked4x8EXT(i32,i32);
    dotPacked4x8EXT(ui32,ui32);
    dotPacked4x8EXT(ui32,i32);
    dotPacked4x8EXT(i32,ui32);
    dotPacked4x8AccSatEXT(i32,i32,i32);
    dotPacked4x8AccSatEXT(ui32,ui32,ui32);
    dotPacked4x8AccSatEXT(ui32,i32,i32);
    dotPacked4x8AccSatEXT(i32,ui32,i32);

    // 8bit vec4
    dotEXT(i8vec4(0),i8vec4(0));
    dotEXT(u8vec4(0),u8vec4(0));
    dotEXT(u8vec4(0),i8vec4(0));
    dotEXT(i8vec4(0),u8vec4(0));
    dotAccSatEXT(i8vec4(0),i8vec4(0),i32);
    dotAccSatEXT(u8vec4(0),u8vec4(0),ui32);
    dotAccSatEXT(u8vec4(0),i8vec4(0),i32);
    dotAccSatEXT(i8vec4(0),u8vec4(0),i32);

    // 8bit vec3
    dotEXT(i8vec3(0),i8vec3(0));
    dotEXT(u8vec3(0),u8vec3(0));
    dotEXT(u8vec3(0),i8vec3(0));
    dotEXT(i8vec3(0),u8vec3(0));
    dotAccSatEXT(i8vec3(0),i8vec3(0),i32);
    dotAccSatEXT(u8vec3(0),u8vec3(0),ui32);
    dotAccSatEXT(u8vec3(0),i8vec3(0),i32);
    dotAccSatEXT(i8vec3(0),u8vec3(0),i32);

    // 8bit vec2
    dotEXT(i8vec2(0),i8vec2(0));
    dotEXT(u8vec2(0),u8vec2(0));
    dotEXT(u8vec2(0),i8vec2(0));
    dotEXT(i8vec2(0),u8vec2(0));
    dotAccSatEXT(i8vec2(0),i8vec2(0),i32);
    dotAccSatEXT(u8vec2(0),u8vec2(0),ui32);
    dotAccSatEXT(u8vec2(0),i8vec2(0),i32);
    dotAccSatEXT(i8vec2(0),u8vec2(0),i32);

    // 16bit vec4
    dotEXT(i16vec4(0),i16vec4(0));
    dotEXT(u16vec4(0),u16vec4(0));
    dotEXT(i16vec4(0),u16vec4(0));
    dotEXT(u16vec4(0),i16vec4(0));
    dotAccSatEXT(i16vec4(0),i16vec4(0),i32);
    dotAccSatEXT(u16vec4(0),u16vec4(0),ui32);
    dotAccSatEXT(i16vec4(0),u16vec4(0),i32);
    dotAccSatEXT(u16vec4(0),i16vec4(0),i32);

    // 16bit vec3
    dotEXT(i16vec3(0),i16vec3(0));
    dotEXT(u16vec3(0),u16vec3(0));
    dotEXT(i16vec3(0),u16vec3(0));
    dotEXT(u16vec3(0),i16vec3(0));
    dotAccSatEXT(i16vec3(0),i16vec3(0),i32);
    dotAccSatEXT(u16vec3(0),u16vec3(0),ui32);
    dotAccSatEXT(i16vec3(0),u16vec3(0),i32);
    dotAccSatEXT(u16vec3(0),i16vec3(0),i32);

    // 16bit vec2
    dotEXT(i16vec2(0),i16vec2(0));
    dotEXT(u16vec2(0),u16vec2(0));
    dotEXT(i16vec2(0),u16vec2(0));
    dotEXT(u16vec2(0),i16vec2(0));
    dotAccSatEXT(i16vec2(0),i16vec2(0),i32);
    dotAccSatEXT(u16vec2(0),u16vec2(0),ui32);
    dotAccSatEXT(i16vec2(0),u16vec2(0),i32);
    dotAccSatEXT(u16vec2(0),i16vec2(0),i32);

    // 32bit vec4
    dotEXT(i32vec4(0),i32vec4(0));
    dotEXT(u32vec4(0),u32vec4(0));
    dotEXT(i32vec4(0),u32vec4(0));
    dotEXT(u32vec4(0),i32vec4(0));
    dotAccSatEXT(i32vec4(0),i32vec4(0),i32);
    dotAccSatEXT(u32vec4(0),u32vec4(0),ui32);
    dotAccSatEXT(i32vec4(0),u32vec4(0),i32);
    dotAccSatEXT(u32vec4(0),i32vec4(0),i32);

    // 32bit vec3
    dotEXT(i32vec3(0),i32vec3(0));
    dotEXT(u32vec3(0),u32vec3(0));
    dotEXT(i32vec3(0),u32vec3(0));
    dotEXT(u32vec3(0),i32vec3(0));
    dotAccSatEXT(i32vec3(0),i32vec3(0),i32);
    dotAccSatEXT(u32vec3(0),u32vec3(0),ui32);
    dotAccSatEXT(i32vec3(0),u32vec3(0),i32);
    dotAccSatEXT(u32vec3(0),i32vec3(0),i32);

    // 32bit vec2
    dotEXT(i32vec2(0),i32vec2(0));
    dotEXT(u32vec2(0),u32vec2(0));
    dotEXT(i32vec2(0),u32vec2(0));
    dotEXT(u32vec2(0),i32vec2(0));
    dotAccSatEXT(i32vec2(0),i32vec2(0),i32);
    dotAccSatEXT(u32vec2(0),u32vec2(0),ui32);
    dotAccSatEXT(i32vec2(0),u32vec2(0),i32);
    dotAccSatEXT(u32vec2(0),i32vec2(0),i32);

    // 64bit vec4
    dotEXT(i64vec4(0),i64vec4(0));
    dotEXT(u64vec4(0),u64vec4(0));
    dotEXT(i64vec4(0),u64vec4(0));
    dotEXT(u64vec4(0),i64vec4(0));
    dotAccSatEXT(i64vec4(0),i64vec4(0),i64);
    dotAccSatEXT(u64vec4(0),u64vec4(0),ui64);
    dotAccSatEXT(i64vec4(0),u64vec4(0),i64);
    dotAccSatEXT(u64vec4(0),i64vec4(0),i64);

    // 64bit vec3
    dotEXT(i64vec3(0),i64vec3(0));
    dotEXT(u64vec3(0),u64vec3(0));
    dotEXT(i64vec3(0),u64vec3(0));
    dotEXT(u64vec3(0),i64vec3(0));
    dotAccSatEXT(i64vec3(0),i64vec3(0),i64);
    dotAccSatEXT(u64vec3(0),u64vec3(0),ui64);
    dotAccSatEXT(i64vec3(0),u64vec3(0),i64);
    dotAccSatEXT(u64vec3(0),i64vec3(0),i64);

    // 64bit vec2
    dotEXT(i64vec2(0),i64vec2(0));
    dotEXT(u64vec2(0),u64vec2(0));
    dotEXT(i64vec2(0),u64vec2(0));
    dotEXT(u64vec2(0),i64vec2(0));
    dotAccSatEXT(i64vec2(0),i64vec2(0),i64);
    dotAccSatEXT(u64vec2(0),u64vec2(0),ui64);
    dotAccSatEXT(i64vec2(0),u64vec2(0),i64);
    dotAccSatEXT(u64vec2(0),i64vec2(0),i64);
}