| ------------------------------------------------------------------------- |
| drawElements Quality Program Test Specification |
| ----------------------------------------------- |
| |
| Copyright 2014 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ------------------------------------------------------------------------- |
| Matrix tests |
| |
| Tests: |
| + dEQP-GLES3.functional.shaders.matrix.* |
| + dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix.* |
| + dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix.* |
| + dEQP-GLES3.functional.shaders.conversions.matrix_combine.* |
| + dEQP-GLES3.functional.shaders.conversions.matrix_illegal.* |
| + dEQP-GLES3.functional.shaders.indexing.matrix_subscript.* |
| |
| Includes: |
| + matN and matNxM (rectangular) matrix types |
| + Matrix-Matrix and Matrix-Vector arithmetic |
| - Constant, uniform and shader in inputs |
| + Matrix constructors |
| - From scalar(s) |
| - From other matrices |
| - From mixed inputs |
| + Negative tests for illegal matrix constructor usage |
| + Matrix static and dynamic indexing |
| |
| Excludes: |
| + Matrices in uniform blocks |
| - Covered in separate UBO tests |
| |
| Description: |
| |
| Matrix arithmetic tests operate like other shader rendering tests. |
| Input matrices and vectors are read from uniforms, shader inputs |
| or constructed as constant values. Operation is performed in shader |
| body and the final result is reduced to vec3 that is assigned to |
| vertex or fragment color. Rendered image is compared against a |
| reference image computed using same algorithm written in C. |
| |
| Matrix constructor and coversion tests compare results against |
| pre-computed reference value in fragment shader. Fragment color |
| is either white or black depending on whether the result were |
| correct or not. |
| |
| Uniform buffer object tests are described in a separate test |
| specification document. |