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