xref: /aosp_15_r20/external/deqp/scripts/opengl/gen_query_util.py (revision 35238bce31c2a825756842865a792f8cf7f89930)
1# -*- coding: utf-8 -*-
2
3#-------------------------------------------------------------------------
4# drawElements Quality Program utilities
5# --------------------------------------
6#
7# Copyright 2015 The Android Open Source Project
8#
9# Licensed under the Apache License, Version 2.0 (the "License");
10# you may not use this file except in compliance with the License.
11# You may obtain a copy of the License at
12#
13#      http://www.apache.org/licenses/LICENSE-2.0
14#
15# Unless required by applicable law or agreed to in writing, software
16# distributed under the License is distributed on an "AS IS" BASIS,
17# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18# See the License for the specific language governing permissions and
19# limitations under the License.
20#
21#-------------------------------------------------------------------------
22
23from src_util import *
24from khr_util.gen_str_util import genSetEnumUtilImpls, genQueryEnumUtilImpls
25
26QUERY_NUM_OUT_ARGUMENTS = [
27
28    ("Basic", [
29        ("VIEWPORT", 4),
30        ("DEPTH_RANGE", 2),
31        ("SCISSOR_BOX", 4),
32        ("COLOR_WRITEMASK", 4),
33        ("ALIASED_POINT_SIZE_RANGE", 2),
34        ("ALIASED_LINE_WIDTH_RANGE", 2),
35        ("MAX_VIEWPORT_DIMS", 2),
36        ("MAX_COMPUTE_WORK_GROUP_COUNT", 3),
37        ("MAX_COMPUTE_WORK_GROUP_SIZE", 3),
38        ("PRIMITIVE_BOUNDING_BOX_EXT", 8),
39        ]),
40
41    ("Indexed", [
42        ("COLOR_WRITEMASK", 4),
43        ]),
44
45    ("Attribute", [
46        ("CURRENT_VERTEX_ATTRIB", 4),
47        ]),
48
49    ("Program", [
50        ("COMPUTE_WORK_GROUP_SIZE", 3),
51        ]),
52
53    ("TextureParam", [
54        ("TEXTURE_BORDER_COLOR", 4),
55        ]),
56]
57
58SET_NUM_IN_ARGUMENTS = [
59    ("TextureParam", [
60        ("TEXTURE_BORDER_COLOR", 4),
61        ]),
62]
63
64
65def addNamePrefix (prefix, groups):
66    return [(groupName, [(prefix + queryName, querySize) for queryName, querySize in groupQueries]) for groupName, groupQueries in groups]
67
68def genQueryUtil (iface):
69    queryNumOutArgs = addNamePrefix("GL_", QUERY_NUM_OUT_ARGUMENTS);
70    setNumInArgs    = addNamePrefix("GL_", SET_NUM_IN_ARGUMENTS);
71
72    utilFile = os.path.join(OPENGL_DIR, "gluQueryUtil.inl")
73    writeInlFile(utilFile, genQueryEnumUtilImpls(iface, queryNumOutArgs))
74
75    utilFile = os.path.join(OPENGL_DIR, "gluCallLogUtil.inl")
76    writeInlFile(utilFile, genSetEnumUtilImpls(iface, setNumInArgs))
77
78if __name__ == "__main__":
79    genQueryUtil(getHybridInterface())
80