fuchsia / third_party / vulkan-cts / 30e25b62d60b36b923d19a0c0759ef6cb7201f9e / . / doc / testspecs / GLES3 / functional.shaders.matrix.txt

------------------------------------------------------------------------- | |

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. |