da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsync"""
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsyncCopyright (C) 2009-2012 Oracle Corporation
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsync
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsyncThis file is part of VirtualBox Open Source Edition (OSE), as
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsyncavailable from http://www.virtualbox.org. This file is free software;
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsyncyou can redistribute it and/or modify it under the terms of the GNU
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsyncGeneral Public License (GPL) as published by the Free Software
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsyncFoundation, in version 2 as it comes in the "COPYING" file of the
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsyncVirtualBox OSE distribution. VirtualBox OSE is distributed in the
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsynchope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
da6d243a079e5c0db6b0edd2bd6ff1065a2178f3vboxsync"""
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncimport sys
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync#Note, this should match the fakedri_glxfuncsList.h order
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncglx_functions = [
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CopyContext",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"UseXFont",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync#"GetDriverConfig",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetProcAddress",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"QueryExtension",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"IsDirect",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"DestroyGLXPbufferSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"QueryGLXPbufferSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreateGLXPixmap",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreateGLXPixmapWithConfigSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"QueryContext",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreateContextWithConfigSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"SwapBuffers",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreateNewContext",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"SelectEventSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetCurrentDrawable",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"ChooseFBConfig",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"WaitGL",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetFBConfigs",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreatePixmap",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetSelectedEventSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetCurrentReadDrawable",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetCurrentDisplay",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"QueryServerString",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreateWindow",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"SelectEvent",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetVisualFromFBConfigSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetFBConfigFromVisualSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"QueryDrawable",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreateContext",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetConfig",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreateGLXPbufferSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"CreatePbuffer",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"ChooseFBConfigSGIX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"WaitX",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetVisualFromFBConfig",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync#"GetScreenDriver",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetFBConfigAttrib",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetCurrentContext",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetClientString",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"DestroyPixmap",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"MakeCurrent",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"DestroyContext",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetProcAddressARB",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"GetSelectedEvent",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"DestroyPbuffer",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"DestroyWindow",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"DestroyGLXPixmap",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"QueryVersion",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"ChooseVisual",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"MakeContextCurrent",
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync"QueryExtensionsString",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"GetFBConfigAttribSGIX",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"FreeMemoryMESA",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"QueryContextInfoEXT",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"ImportContextEXT",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"GetContextIDEXT",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"MakeCurrentReadSGI",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"AllocateMemoryMESA",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"GetMemoryOffsetMESA",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"CreateGLXPixmapMESA",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"GetCurrentDisplayEXT",
43fc25b9500f9cc190aa7c8cb084f97c006816e1vboxsync"FreeContextEXT"
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync];
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncprint '%include "iprt/asmdefs.mac"'
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncprint ""
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncprint "%ifdef RT_ARCH_AMD64"
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncprint "extern glxim"
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncprint "%else ; X86"
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncprint "extern glxim"
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncprint "%endif"
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncprint ""
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsyncfor index in range(len(glx_functions)):
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync func_name = glx_functions[index]
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync print "BEGINPROC_EXPORTED vbox_glX%s" % func_name
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync print "%ifdef RT_ARCH_AMD64"
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync print "\tjmp \t[glxim+%d wrt rip wrt ..gotpcrel]" % (8*index)
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync print "%else ; X86"
a88953ac5b9988667a57d0dd230f1f7ae0d2579fvboxsync print "\tjmp \t[glxim+%d wrt ..gotpc]" % (4*index)
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync print "%endif"
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync print "ENDPROC vbox_glX%s" % func_name
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync print ""
7eeca0bc9b71feb4baf8935a1ae99bcf328dedecvboxsync