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