1 # -*- coding: utf-8 -*-
3 #-------------------------------------------------------------------------
4 # drawElements Quality Program utilities
5 # --------------------------------------
7 # Copyright 2015 The Android Open Source Project
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
13 # http://www.apache.org/licenses/LICENSE-2.0
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.
21 #-------------------------------------------------------------------------
23 from src_util import *
25 # Functions that have special implementation
26 OVERRIDE_FUNCS = set([
44 "glGenTransformFeedbacks",
45 "glGenProgramPipelines",
46 "glGetInternalformativ",
48 "glCheckFramebufferStatus",
52 "glGetAttribLocation",
55 NULL_PLATFORM_DIR = os.path.normpath(os.path.join(SCRIPTS_DIR, "..", "..", "framework", "platform", "null"))
57 def commandDummyImpl (command):
58 if command.name in OVERRIDE_FUNCS:
61 GLW_APICALL {returnType} GLW_APIENTRY {commandName} ({paramDecls})
65 return template.format(
66 returnType = command.type,
67 commandName = command.name,
68 paramDecls = commandParams(command),
69 body = ''.join("\tDE_UNREF(%s);\n" % p.name for p in command.params),
70 maybeReturn = "\n\treturn (%s)0;" % command.type if command.type != 'void' else "")
72 def commandInitStatement (command):
73 return "gl->%s\t= %s;" % (getFunctionMemberName(command.name), command.name)
75 def genNullRenderContext (iface):
76 genCommandList(iface, commandInitStatement,
77 directory = NULL_PLATFORM_DIR,
78 filename = "tcuNullRenderContextInitFuncs.inl",
80 genCommandList(iface, commandDummyImpl,
81 directory = NULL_PLATFORM_DIR,
82 filename = "tcuNullRenderContextFuncs.inl")
84 if __name__ == "__main__":
85 genNullRenderContext(getHybridInterface())