# Test generated by: # ../../../glsl-1.10/variable-index-write.sh 1.10 [require] GLSL >= 1.10 [vertex shader] #version 110 uniform mat4 src_matrix; uniform vec4 v; uniform vec4 expect; uniform int row; uniform int col; uniform float value; void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; mat4 dst_matrix; /* 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[1][row] = value; gl_FrontColor = (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); } [fragment shader] #version 110 void main() { gl_FragColor = gl_Color; } [test] clear color 0.5 0.5 0.5 0.5 clear ortho 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