blob: ddedaa9960299d7e76abdba844bc965319702e9f [file] [log] [blame]
-------------------------------------------------------------------------
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.