1*35238bceSAndroid Build Coastguard Worker------------------------------------------------------------------------- 2*35238bceSAndroid Build Coastguard WorkerdrawElements Quality Program Test Specification 3*35238bceSAndroid Build Coastguard Worker----------------------------------------------- 4*35238bceSAndroid Build Coastguard Worker 5*35238bceSAndroid Build Coastguard WorkerCopyright 2014 The Android Open Source Project 6*35238bceSAndroid Build Coastguard Worker 7*35238bceSAndroid Build Coastguard WorkerLicensed under the Apache License, Version 2.0 (the "License"); 8*35238bceSAndroid Build Coastguard Workeryou may not use this file except in compliance with the License. 9*35238bceSAndroid Build Coastguard WorkerYou may obtain a copy of the License at 10*35238bceSAndroid Build Coastguard Worker 11*35238bceSAndroid Build Coastguard Worker http://www.apache.org/licenses/LICENSE-2.0 12*35238bceSAndroid Build Coastguard Worker 13*35238bceSAndroid Build Coastguard WorkerUnless required by applicable law or agreed to in writing, software 14*35238bceSAndroid Build Coastguard Workerdistributed under the License is distributed on an "AS IS" BASIS, 15*35238bceSAndroid Build Coastguard WorkerWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16*35238bceSAndroid Build Coastguard WorkerSee the License for the specific language governing permissions and 17*35238bceSAndroid Build Coastguard Workerlimitations under the License. 18*35238bceSAndroid Build Coastguard Worker------------------------------------------------------------------------- 19*35238bceSAndroid Build Coastguard Worker GL_EXT_shader_implicit_conversions 20*35238bceSAndroid Build Coastguard Worker 21*35238bceSAndroid Build Coastguard WorkerTests: 22*35238bceSAndroid Build Coastguard Worker + dEQP-GLES31.functional.shaders.implicit_conversions.* 23*35238bceSAndroid Build Coastguard Worker 24*35238bceSAndroid Build Coastguard WorkerIncludes: 25*35238bceSAndroid Build Coastguard Worker + All valid implicit conversion pairs 26*35238bceSAndroid Build Coastguard Worker + Promotion to vector types (for example int -> vec3) 27*35238bceSAndroid Build Coastguard Worker + Binary operations 28*35238bceSAndroid Build Coastguard Worker - Arithmetic 29*35238bceSAndroid Build Coastguard Worker - Comparison 30*35238bceSAndroid Build Coastguard Worker + Array subscription 31*35238bceSAndroid Build Coastguard Worker + Calling function with implicit conversion on parameter type 32*35238bceSAndroid Build Coastguard Worker + Negative tests for invalid assignments 33*35238bceSAndroid Build Coastguard Worker + Negative tests for implict array / struct conversions 34*35238bceSAndroid Build Coastguard Worker 35*35238bceSAndroid Build Coastguard WorkerExcludes: 36*35238bceSAndroid Build Coastguard Worker + Extensive function overloading tests with implicit conversions 37*35238bceSAndroid Build Coastguard Worker + Extensive negative tests for various other implicit conversions 38*35238bceSAndroid Build Coastguard Worker - Will be added in 2014.4 release 39*35238bceSAndroid Build Coastguard Worker 40*35238bceSAndroid Build Coastguard WorkerDescription: 41*35238bceSAndroid Build Coastguard Worker 42*35238bceSAndroid Build Coastguard WorkerValid cases compile and run a program that perform the implicit conversion 43*35238bceSAndroid Build Coastguard Workeroperation in either vertex and fragment shader. Results are checked against 44*35238bceSAndroid Build Coastguard Workerreference values in the shader code and either black or white color is 45*35238bceSAndroid Build Coastguard Workerselected based on that. The test verifies that all result pixels are white. 46*35238bceSAndroid Build Coastguard Worker 47*35238bceSAndroid Build Coastguard WorkerNegative cases attempt to compile a shader with the invalid operation and 48*35238bceSAndroid Build Coastguard Workerchecks that the compilation in fact fails. 49