xref: /aosp_15_r20/external/deqp/doc/testspecs/GLES31/functional.debug.txt (revision 35238bce31c2a825756842865a792f8cf7f89930)
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    GLES 3.1 debug (KHR_debug)
20*35238bceSAndroid Build Coastguard Worker
21*35238bceSAndroid Build Coastguard WorkerTests:
22*35238bceSAndroid Build Coastguard Worker + dEQP-GLES31.functional.debug.*
23*35238bceSAndroid Build Coastguard Worker
24*35238bceSAndroid Build Coastguard WorkerIncludes:
25*35238bceSAndroid Build Coastguard Worker + Reporting basic API errors
26*35238bceSAndroid Build Coastguard Worker   - Callback
27*35238bceSAndroid Build Coastguard Worker   - Log
28*35238bceSAndroid Build Coastguard Worker   - glGetError
29*35238bceSAndroid Build Coastguard Worker + Application generated messages
30*35238bceSAndroid Build Coastguard Worker   - InsertMessage
31*35238bceSAndroid Build Coastguard Worker   - Push/Pop
32*35238bceSAndroid Build Coastguard Worker + Message filtering
33*35238bceSAndroid Build Coastguard Worker + Debug groups
34*35238bceSAndroid Build Coastguard Worker + Asynchronous output
35*35238bceSAndroid Build Coastguard Worker   - Most cases use synchronous
36*35238bceSAndroid Build Coastguard Worker + Labels (for all valid object types)
37*35238bceSAndroid Build Coastguard Worker + Handling for debug/non-debug contexts
38*35238bceSAndroid Build Coastguard Worker + Limits (MAX_DEBUG_MESSAGE_LENGTH, MAX_DEBUG_LOGGED_MESSAGES)
39*35238bceSAndroid Build Coastguard Worker
40*35238bceSAndroid Build Coastguard WorkerExcludes:
41*35238bceSAndroid Build Coastguard Worker + Negative API tests for the extension itself
42*35238bceSAndroid Build Coastguard Worker + Some API errors
43*35238bceSAndroid Build Coastguard Worker + Labeled objects are not used for anything
44*35238bceSAndroid Build Coastguard Worker + Initial state of DEBUG_OUTPUT
45*35238bceSAndroid Build Coastguard Worker
46*35238bceSAndroid Build Coastguard Worker
47*35238bceSAndroid Build Coastguard WorkerDescription:
48*35238bceSAndroid Build Coastguard Worker
49*35238bceSAndroid Build Coastguard WorkerKHR_debug does not require generating messages if the GL context is not a
50*35238bceSAndroid Build Coastguard Workerdebug context. The verification logic takes this into account and thus the
51*35238bceSAndroid Build Coastguard Workertests have significantly lower criteria for passing when not running in a
52*35238bceSAndroid Build Coastguard Workerdebug context. In situations that would not pass with a debug context (and
53*35238bceSAndroid Build Coastguard Workersome other suspect cases) a quality warning is generated instead.
54*35238bceSAndroid Build Coastguard WorkerAs such any real testing of this feature should be done in a debug context.
55*35238bceSAndroid Build Coastguard Worker
56*35238bceSAndroid Build Coastguard WorkerTests can be run in a debug context with the --deqp-gl-context-flags=debug
57*35238bceSAndroid Build Coastguard Workercommand line argument
58*35238bceSAndroid Build Coastguard Worker
59*35238bceSAndroid Build Coastguard WorkerBasic API error conditions are tested by calling the API in a manner that should
60*35238bceSAndroid Build Coastguard Workergenerate errors and verifying that appropriate errors were generated.
61*35238bceSAndroid Build Coastguard WorkerVerification is performed with a callback, querying the error log or GetError.
62*35238bceSAndroid Build Coastguard WorkerOther than the fetching of errors (where necessary) the API usage is identical
63*35238bceSAndroid Build Coastguard Workerbetween equivalent test cases with different verification methods.
64*35238bceSAndroid Build Coastguard Worker
65*35238bceSAndroid Build Coastguard WorkerApplication generated messages are generated with DebugMessageInsert and
66*35238bceSAndroid Build Coastguard WorkerPush/Pop DebugGroup and verified with a callback.
67*35238bceSAndroid Build Coastguard Worker
68*35238bceSAndroid Build Coastguard WorkerMessage filtering tests use a partially randomized set of API calls. The
69*35238bceSAndroid Build Coastguard Workermessages produced by these calls are first gathered without any filtering.
70*35238bceSAndroid Build Coastguard WorkerFiltering is then enabled with a randomized set of changes from the base
71*35238bceSAndroid Build Coastguard Worker(unfiltered) state and the API calls are re-run. The messages from the second
72*35238bceSAndroid Build Coastguard Workerrun are verified to be the correct subset of messages from the first run.
73*35238bceSAndroid Build Coastguard Worker
74*35238bceSAndroid Build Coastguard WorkerDebug groups are tested with an extended version of filtering tests.
75*35238bceSAndroid Build Coastguard WorkerFiltering tests are essentially run several times with the same set of API
76*35238bceSAndroid Build Coastguard Workercalls and with verification after every push/pop.
77*35238bceSAndroid Build Coastguard Worker
78*35238bceSAndroid Build Coastguard WorkerAsynchronous message generation is tested by running the same set of API calls
79*35238bceSAndroid Build Coastguard Workerfirst with DEBUG_OUTPUT_SYNCHRONOUS enabled and then with it disabled and
80*35238bceSAndroid Build Coastguard Workercomparing the generated messages. The set of API calls used is randomized.
81*35238bceSAndroid Build Coastguard WorkerSome async cases use callbacks while others query the debyg message log.
82*35238bceSAndroid Build Coastguard WorkerOther than the calls necessari to query the log these cases use identical
83*35238bceSAndroid Build Coastguard Workerframework code.
84*35238bceSAndroid Build Coastguard Worker
85*35238bceSAndroid Build Coastguard WorkerLabels are set and immediately read back.
86