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