Home | History | Annotate | Download | only in opengl
      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 
     23 from src_util import *
     24 from khr_util.gen_str_util import genSetEnumUtilImpls, genQueryEnumUtilImpls
     25 
     26 QUERY_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 
     58 SET_NUM_IN_ARGUMENTS = [
     59 	("TextureParam", [
     60 		("TEXTURE_BORDER_COLOR",		4),
     61 		]),
     62 ]
     63 
     64 
     65 def addNamePrefix (prefix, groups):
     66 	return [(groupName, [(prefix + queryName, querySize) for queryName, querySize in groupQueries]) for groupName, groupQueries in groups]
     67 
     68 def 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 
     78 if __name__ == "__main__":
     79 	genQueryUtil(getHybridInterface())
     80