Add const matrix multiply test
authorPaul Thomson <paulthomson@google.com>
Wed, 2 Jan 2019 12:09:53 +0000 (12:09 +0000)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 18 Jan 2019 17:49:49 +0000 (12:49 -0500)
Test case ported from an ANGLE regression test.

New tests:

dEQP-GLES3.functional.shaders.constants.const_mat_multiply*

Components: AOSP

Chromium issue: 912508

Change-Id: I5ecc13af8f8e7a5d5a50126ea609e8ad6fab185b

android/cts/master/gles3-master.txt
data/gles3/shaders/constants.test
external/openglcts/data/mustpass/gles/aosp_mustpass/3.2.5.x/gles3-master.txt
external/openglcts/data/mustpass/gles/aosp_mustpass/master/gles3-master.txt

index 6de1fe2..6ca93b4 100644 (file)
@@ -1411,6 +1411,8 @@ dEQP-GLES3.functional.shaders.constants.const_float_assign_variable_2_vertex
 dEQP-GLES3.functional.shaders.constants.const_float_assign_variable_2_fragment
 dEQP-GLES3.functional.shaders.constants.const_float_assign_user_func_vertex
 dEQP-GLES3.functional.shaders.constants.const_float_assign_user_func_fragment
+dEQP-GLES3.functional.shaders.constants.const_mat_multiply_vertex
+dEQP-GLES3.functional.shaders.constants.const_mat_multiply_fragment
 dEQP-GLES3.functional.shaders.constants.int_decimal_vertex
 dEQP-GLES3.functional.shaders.constants.int_decimal_fragment
 dEQP-GLES3.functional.shaders.constants.int_octal_vertex
index 43a035c..9bf5526 100644 (file)
@@ -773,6 +773,26 @@ case const_float_assign_user_func
         ""
 end
 
+case const_mat_multiply
+       version 300 es
+       values { output vec2 out0 = vec2(4.0, 4.0); }
+       both ""
+               #version 300 es
+               precision mediump float;
+               ${DECLARATIONS}
+
+               const mat4x2 matA = mat4x2(2.0, 4.0, 8.0, 16.0, 32.0, 64.0, 128.0, 256.0);
+               const mat4x2 matB = mat4x2(1.0/2.0, 1.0/4.0, 1.0/8.0, 1.0/16.0, 1.0/32.0, 1.0/64.0, 1.0/128.0, 1.0/256.0);
+
+               void main()
+               {
+                       mat4x2 result = matrixCompMult(matA, matB);
+                       out0 = result * vec4(1.0, 1.0, 1.0, 1.0);
+                       ${OUTPUT}
+               }
+       ""
+end
+
 case int_decimal
        version 300 es
        values { output int out0 = 7; }
index 78a5977..3791177 100644 (file)
@@ -1414,6 +1414,8 @@ dEQP-GLES3.functional.shaders.constants.const_float_assign_variable_2_vertex
 dEQP-GLES3.functional.shaders.constants.const_float_assign_variable_2_fragment
 dEQP-GLES3.functional.shaders.constants.const_float_assign_user_func_vertex
 dEQP-GLES3.functional.shaders.constants.const_float_assign_user_func_fragment
+dEQP-GLES3.functional.shaders.constants.const_mat_multiply_vertex
+dEQP-GLES3.functional.shaders.constants.const_mat_multiply_fragment
 dEQP-GLES3.functional.shaders.constants.int_decimal_vertex
 dEQP-GLES3.functional.shaders.constants.int_decimal_fragment
 dEQP-GLES3.functional.shaders.constants.int_octal_vertex
index abc800e..df5b53e 100644 (file)
@@ -1416,6 +1416,8 @@ dEQP-GLES3.functional.shaders.constants.const_float_assign_variable_2_vertex
 dEQP-GLES3.functional.shaders.constants.const_float_assign_variable_2_fragment
 dEQP-GLES3.functional.shaders.constants.const_float_assign_user_func_vertex
 dEQP-GLES3.functional.shaders.constants.const_float_assign_user_func_fragment
+dEQP-GLES3.functional.shaders.constants.const_mat_multiply_vertex
+dEQP-GLES3.functional.shaders.constants.const_mat_multiply_fragment
 dEQP-GLES3.functional.shaders.constants.int_decimal_vertex
 dEQP-GLES3.functional.shaders.constants.int_decimal_fragment
 dEQP-GLES3.functional.shaders.constants.int_octal_vertex