diff options
author | Hans-Kristian Arntzen <hans-kristian.arntzen@arm.com> | 2018-05-04 10:43:34 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <hans-kristian.arntzen@arm.com> | 2018-05-04 10:43:34 +0300 |
commit | d2df067dd4d70745e0a7218fcb5f395c447aeb60 (patch) | |
tree | 84f9a93670697e1c2c2b41eb514666fcef4c75d1 /shaders | |
parent | 7b95168c3d8f70d1fabffbd582b483ccadd6a86b (diff) |
Force recompile if we add row-major transpose functions in MSL.
Diffstat (limited to 'shaders')
-rw-r--r-- | shaders/vert/read-from-row-major-array.vert | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/shaders/vert/read-from-row-major-array.vert b/shaders/vert/read-from-row-major-array.vert new file mode 100644 index 00000000..792fb8e3 --- /dev/null +++ b/shaders/vert/read-from-row-major-array.vert @@ -0,0 +1,20 @@ +#version 310 es +layout(location = 0) in highp vec4 a_position; +layout(location = 0) out mediump float v_vtxResult; + +layout(set = 0, binding = 0, std140, row_major) uniform Block +{ + highp mat2x3 var[3][4]; +}; + +mediump float compare_float (highp float a, highp float b) { return abs(a - b) < 0.05 ? 1.0 : 0.0; } +mediump float compare_vec3 (highp vec3 a, highp vec3 b) { return compare_float(a.x, b.x)*compare_float(a.y, b.y)*compare_float(a.z, b.z); } +mediump float compare_mat2x3 (highp mat2x3 a, highp mat2x3 b){ return compare_vec3(a[0], b[0])*compare_vec3(a[1], b[1]); } + +void main (void) +{ + gl_Position = a_position; + mediump float result = 1.0; + result *= compare_mat2x3(var[0][0], mat2x3(2.0, 6.0, -6.0, 0.0, 5.0, 5.0)); + v_vtxResult = result; +} |