aboutsummaryrefslogtreecommitdiff
path: root/tests/spec/glsl-es-1.00/execution/variable-index-write/vs-varying-mat4-col-row-wr.shader_test
blob: 79102f51c7b63ad6346fe4609f878db58c3d299a (plain)
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# Test generated by:
# ../../../glsl-1.10/variable-index-write.sh 1.00

[require]
GLSL ES >= 1.00
GL ES >= 2.0

[vertex shader]
attribute vec4 vertex;
mat4 projection = mat4(
    2.0/250.0, 0.0, 0.0, -1.0,
    0.0, 2.0/250.0, 0.0, -1.0,
    0.0, 0.0, -1.0, 0.0,
    0.0, 0.0, 0.0, 1.0);
uniform mat4 src_matrix;
uniform vec4 v;
uniform vec4 expect;
uniform int row;
uniform int col;
uniform float value;
varying mat4 dst_matrix;

void main()
{
    gl_Position = vertex;
    gl_Position *= projection;


    /* Patch the supplied matrix with the supplied value.  If the resulting
     * matrix is correct, it will transform the input vector to the expected
     * value.  Verify that the distance between the result and the expected
     * vector is less than epsilon.
     */
    dst_matrix = src_matrix;
    dst_matrix[col][row] = value;
}

[fragment shader]
precision highp float;
precision highp int;
uniform mat4 src_matrix;
uniform vec4 v;
uniform vec4 expect;
uniform int row;
uniform int col;
uniform float value;
varying mat4 dst_matrix;

void main()
{
    gl_FragColor = (distance(dst_matrix * v, expect) < 1e-6)
        ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);
}

[test]
clear color 0.5 0.5 0.5 0.5
clear

uniform int col 0
uniform int row 0
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 666.0 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.922040144261674
draw rect 5 5 10 10
probe rgb 10 10 0.0 1.0 0.0

uniform int row 1
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 666.0 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.158053783109488
draw rect 5 20 10 10
probe rgb 10 25 0.0 1.0 0.0

uniform int row 2
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 666.0 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.357016429866574
draw rect 5 35 10 10
probe rgb 10 40 0.0 1.0 0.0

uniform int row 3
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 666.0 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.836368810383957
draw rect 5 50 10 10
probe rgb 10 55 0.0 1.0 0.0

uniform int col 1
uniform int row 0
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 666.0 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.560251913703792
draw rect 20 5 10 10
probe rgb 25 10 0.0 1.0 0.0

uniform int row 1
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 666.0 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.171634921595771
draw rect 20 20 10 10
probe rgb 25 25 0.0 1.0 0.0

uniform int row 2
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 666.0 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.602494709909111
draw rect 20 35 10 10
probe rgb 25 40 0.0 1.0 0.0

uniform int row 3
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 666.0 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.693273570571311
draw rect 20 50 10 10
probe rgb 25 55 0.0 1.0 0.0

uniform int col 2
uniform int row 0
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 666.0 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.350720358904176
draw rect 35 5 10 10
probe rgb 40 10 0.0 1.0 0.0

uniform int row 1
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 666.0 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.912192627475775
draw rect 35 20 10 10
probe rgb 40 25 0.0 1.0 0.0

uniform int row 2
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 666.0 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.688544081259531
draw rect 35 35 10 10
probe rgb 40 40 0.0 1.0 0.0

uniform int row 3
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 666.0 0.442058176039301 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.913891056231967
draw rect 35 50 10 10
probe rgb 40 55 0.0 1.0 0.0

uniform int col 3
uniform int row 0
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 666.0 0.829835836794679 0.365674411003021 0.879197364462782
uniform float value 0.442058176039301
draw rect 50 5 10 10
probe rgb 55 10 0.0 1.0 0.0

uniform int row 1
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 666.0 0.365674411003021 0.879197364462782
uniform float value 0.829835836794679
draw rect 50 20 10 10
probe rgb 55 25 0.0 1.0 0.0

uniform int row 2
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 666.0 0.879197364462782
uniform float value 0.365674411003021
draw rect 50 35 10 10
probe rgb 55 40 0.0 1.0 0.0

uniform int row 3
uniform vec4 v 0.0394868046587045 0.8922408276905568 0.3337495624366961 0.8732295730825839
uniform vec4 expect 1.03935908892461 1.18846180713529 1.10078681232072 1.72434439561820
uniform mat4x4 src_matrix 0.922040144261674 0.158053783109488 0.357016429866574 0.836368810383957 0.560251913703792 0.171634921595771 0.602494709909111 0.693273570571311 0.350720358904176 0.912192627475775 0.688544081259531 0.913891056231967 0.442058176039301 0.829835836794679 0.365674411003021 666.0
uniform float value 0.879197364462782
draw rect 50 50 10 10
probe rgb 55 55 0.0 1.0 0.0