Merge "Remove broken record_variable_selection test from MR1 must-pass." into lollipo...
[platform/upstream/VK-GL-CTS.git] / doc / testspecs / GLES3 / functional.shaders.matrix.txt
1 -------------------------------------------------------------------------
2 drawElements Quality Program Test Specification
3 -----------------------------------------------
4
5 Copyright 2014 The Android Open Source Project
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11      http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 -------------------------------------------------------------------------
19     Matrix tests
20
21 Tests:
22  + dEQP-GLES3.functional.shaders.matrix.*
23  + dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix.*
24  + dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix.*
25  + dEQP-GLES3.functional.shaders.conversions.matrix_combine.*
26  + dEQP-GLES3.functional.shaders.conversions.matrix_illegal.*
27  + dEQP-GLES3.functional.shaders.indexing.matrix_subscript.*
28
29 Includes:
30  + matN and matNxM (rectangular) matrix types
31  + Matrix-Matrix and Matrix-Vector arithmetic
32    - Constant, uniform and shader in inputs
33  + Matrix constructors
34    - From scalar(s)
35    - From other matrices
36    - From mixed inputs
37  + Negative tests for illegal matrix constructor usage
38  + Matrix static and dynamic indexing
39
40 Excludes:
41  + Matrices in uniform blocks
42    - Covered in separate UBO tests
43
44 Description:
45
46 Matrix arithmetic tests operate like other shader rendering tests.
47 Input matrices and vectors are read from uniforms, shader inputs
48 or constructed as constant values. Operation is performed in shader
49 body and the final result is reduced to vec3 that is assigned to
50 vertex or fragment color. Rendered image is compared against a
51 reference image computed using same algorithm written in C.
52
53 Matrix constructor and coversion tests compare results against
54 pre-computed reference value in fragment shader. Fragment color
55 is either white or black depending on whether the result were
56 correct or not.
57
58 Uniform buffer object tests are described in a separate test
59 specification document.