xref: /aosp_15_r20/external/deqp/doc/testspecs/GLES31/functional.compute.basic.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    Basic Compute Shader Tests
20*35238bceSAndroid Build Coastguard Worker
21*35238bceSAndroid Build Coastguard WorkerTests:
22*35238bceSAndroid Build Coastguard Worker + dEQP-GLES31.functional.compute.basic.*
23*35238bceSAndroid Build Coastguard Worker
24*35238bceSAndroid Build Coastguard WorkerIncludes:
25*35238bceSAndroid Build Coastguard Worker + Empty compute shader
26*35238bceSAndroid Build Coastguard Worker + Single and multiple compute shader invocations (1 to 4k invocations)
27*35238bceSAndroid Build Coastguard Worker + Various work group sizes (1 to 30 items)
28*35238bceSAndroid Build Coastguard Worker + Reading from and writing to SSBO
29*35238bceSAndroid Build Coastguard Worker   - variables with basic type
30*35238bceSAndroid Build Coastguard Worker   - sized array
31*35238bceSAndroid Build Coastguard Worker   - unsized array as a last member
32*35238bceSAndroid Build Coastguard Worker + Atomic counter (atomicCounterIncrement)
33*35238bceSAndroid Build Coastguard Worker + Image access
34*35238bceSAndroid Build Coastguard Worker   - r32ui format
35*35238bceSAndroid Build Coastguard Worker   - read, write
36*35238bceSAndroid Build Coastguard Worker   - atomic operation (imageAtomicAdd)
37*35238bceSAndroid Build Coastguard Worker + Work-group barriers
38*35238bceSAndroid Build Coastguard Worker   - SSBO access
39*35238bceSAndroid Build Coastguard Worker   - shared variable access
40*35238bceSAndroid Build Coastguard Worker   - image access (3plus mandates read or write only?)
41*35238bceSAndroid Build Coastguard Worker + API level barrier commands
42*35238bceSAndroid Build Coastguard Worker   - SSBO access
43*35238bceSAndroid Build Coastguard Worker   - image access
44*35238bceSAndroid Build Coastguard Worker + Program interface query (incidental coverage)
45*35238bceSAndroid Build Coastguard Worker
46*35238bceSAndroid Build Coastguard WorkerExcludes:
47*35238bceSAndroid Build Coastguard Worker + This excludes all but a couple of possible variants of
48*35238bceSAndroid Build Coastguard Worker   - data types
49*35238bceSAndroid Build Coastguard Worker   - SSBO layouts
50*35238bceSAndroid Build Coastguard Worker   - image formats
51*35238bceSAndroid Build Coastguard Worker   - built-in functions (atomics etc.)
52*35238bceSAndroid Build Coastguard Worker   - ...
53*35238bceSAndroid Build Coastguard Worker
54*35238bceSAndroid Build Coastguard WorkerDescription:
55*35238bceSAndroid Build Coastguard Worker
56*35238bceSAndroid Build Coastguard WorkerThe objective of basic compute tests is to provide a simplest possible test
57*35238bceSAndroid Build Coastguard Workercase for each of the major compute-related features. The tests will not try to
58*35238bceSAndroid Build Coastguard Workertest all possible variants, such as data types. Separate targeted test sets
59*35238bceSAndroid Build Coastguard Workerwill be developed to exhaustively test the features later.
60*35238bceSAndroid Build Coastguard Worker
61*35238bceSAndroid Build Coastguard WorkerTests typically operate by first compiling one or more programs with just a
62*35238bceSAndroid Build Coastguard Workercompute shader. One or more (in API-level barrier tests) compute invocations
63*35238bceSAndroid Build Coastguard Workerare made, and results are read back using buffer mapping. Comparison algorithm
64*35238bceSAndroid Build Coastguard Workervaries by test case.
65