am f1044096: am 79c79d54: Merge "Remove broken line interpolation tests from must...
[platform/upstream/VK-GL-CTS.git] / doc / testspecs / GLES3 / functional.shaders.int_op.txt
1 -------------------------------------------------------------------------
2 drawElements Quality Program Test Specification
3 -----------------------------------------------
4
5 Copyright 2014 The Android Open Source Project
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11      http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 -------------------------------------------------------------------------
19     Integer operator tests
20
21 Tests:
22  + dEQP-GLES3.functional.shaders.operator.unary_operator.*.*_int_*
23  + dEQP-GLES3.functional.shaders.operator.unary_operator.*.*_ivec_*
24  + dEQP-GLES3.functional.shaders.operator.unary_operator.*.*_uint_*
25  + dEQP-GLES3.functional.shaders.operator.unary_operator.*.*_uvec_*
26  + dEQP-GLES3.functional.shaders.operator.binary_operator.*.*_int_*
27  + dEQP-GLES3.functional.shaders.operator.binary_operator.*.*_ivec_*
28  + dEQP-GLES3.functional.shaders.operator.binary_operator.*.*_uint_*
29  + dEQP-GLES3.functional.shaders.operator.binary_operator.*.*_uvec_*
30
31 Includes:
32  + Integer scalar and vector unary operators:
33    - plus
34    - minus
35    - bitwise not
36  + Integer scalar and vector binary operators:
37    - add
38    - sub
39    - mul
40    - div
41    - mod
42    - bitwise and
43    - bitwise or
44    - bitwise xor
45    - less
46    - less or equal
47    - greater
48    - greater or equal
49    - equal
50    - not equal
51  + Scalar-scalar, vector-vector and vector-scalar binary operators
52  + Lowp, mediump operands where behaviour is well-defined
53  + Highp operands
54
55 Excludes:
56  + Integer type range and bitlayout verification
57    - Will be tested in later type range and storage tests
58
59 Description:
60
61 Integer test cases use shader rendering test framework. Depending on case type
62 (vertex or fragment) a single quad or a tight grid of quads is rendered with
63 the shader program that is being tested. Results are compared against a reference.
64 Reference image is rendered using a C reference of the shader. A fuzzy comparison
65 is used to allow small deviations due to fragment input interpolation.
66
67 Integer operator test shaders use floating-point attributes or varyings converted
68 to integers as operands. The value range is chosen based on precision. Results
69 from the operation are casted back to floating-point values and scaled to range
70 0..1. The resulting scalar or vector value is then written out as vertex or
71 fragment color.