# -*- coding: utf-8 -*- #------------------------------------------------------------------------- # drawElements Quality Program utilities # -------------------------------------- # # Copyright 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # #------------------------------------------------------------------------- from src_util import * # Functions that have special implementation OVERRIDE_FUNCS = set([ "glGetError", "glGetIntegerv", "glGetBooleanv", "glGetFloatv", "glGetString", "glGetStringi", "glCreateShader", "glCreateProgram", "glGetShaderiv", "glGetProgramiv", "glGenTextures", "glGenQueries", "glGenBuffers", "glGenRenderbuffers", "glGenFramebuffers", "glGenVertexArrays", "glGenSamplers", "glGenTransformFeedbacks", "glGenProgramPipelines", "glGetInternalformativ", "glMapBufferRange", "glCheckFramebufferStatus", "glReadPixels", "glBindBuffer", "glDeleteBuffers", "glGetAttribLocation", ]) NULL_PLATFORM_DIR = os.path.normpath(os.path.join(SCRIPTS_DIR, "..", "..", "framework", "platform", "null")) def commandDummyImpl (command): if command.name in OVERRIDE_FUNCS: return None template = """ GLW_APICALL {returnType} GLW_APIENTRY {commandName} ({paramDecls}) {{ {body}{maybeReturn} }}""" return template.format( returnType = command.type, commandName = command.name, paramDecls = commandParams(command), body = ''.join("\tDE_UNREF(%s);\n" % p.name for p in command.params), maybeReturn = "\n\treturn (%s)0;" % command.type if command.type != 'void' else "") def commandInitStatement (command): return "gl->%s\t= %s;" % (getFunctionMemberName(command.name), command.name) def genNullRenderContext (iface): genCommandList(iface, commandInitStatement, directory = NULL_PLATFORM_DIR, filename = "tcuNullRenderContextInitFuncs.inl", align = True) genCommandList(iface, commandDummyImpl, directory = NULL_PLATFORM_DIR, filename = "tcuNullRenderContextFuncs.inl") if __name__ == "__main__": genNullRenderContext(getHybridInterface())