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