------------------------------------------------------------------------- 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. ------------------------------------------------------------------------- Arrays of arrays tests Tests: + dEQP-GLES31.functional.shaders.arrays_of_arrays.* + dEQP-GLES31.functional.ssbo.*arrays_of_arrays* + dEQP-GLES31.functional.ssbo.*_level_array* + dEQP-GLES31.functional.ubo.* + dEQP-GLES31.functional.program_interface_query.* (selected cases) + dEQP-GLES31.functional.shaders.functions.* Includes: + Arrays of arrays of 2, 3, and more levels + Constructors with explicit sizes + Constructors with implicit sizes + Arrays of arrays as function return types + Arrays of arrays as function in, out, and inout parameters + Accessing arrays of arrays - Indexing arrays of arrays with constant and dynamic expressions + Explicit and implicit sized type declarations - Size from both constructor and assignment from another array - Different type declaration syntaxes + .length() + Arrays of arrays in function overloading - Tests to verify that different sized arrays of arrays can be used to overload functions + Negative cases - Dynamic expression as array size - Empty declarations - Multi-level SSBO/UBO instance arrays + Arrays of arrays inside SSBOs, UBOs - Access, property queries using legacy and program interface query APIs Excludes: + Extensive negative tests - Will be added in 2014.4 release Description: Valid cases compile and run a program that perform the operation under test in either vertex and fragment shader. Results are checked against reference values in the shader code and either black or white color is selected based on that. The test verifies that all result pixels are white. Negative cases attempt to compile a shader with the invalid operation and checks that the compilation in fact fails.