summaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_exports.py
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_exports.py')
-rw-r--r--emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_exports.py98
1 files changed, 98 insertions, 0 deletions
diff --git a/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_exports.py b/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_exports.py
new file mode 100644
index 000000000000..8edc22523121
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_exports.py
@@ -0,0 +1,98 @@
+--- src/VBox/Additions/common/crOpenGL/FreeBSD_i386_exports.py.orig 2020-06-26 09:52:40 UTC
++++ src/VBox/Additions/common/crOpenGL/FreeBSD_i386_exports.py
+@@ -0,0 +1,95 @@
++# Copyright (c) 2001, Stanford University
++# All rights reserved.
++#
++# See the file LICENSE.txt for information on redistributing this software.
++
++
++import sys
++
++import apiutil
++
++
++def GenerateEntrypoints():
++
++ #apiutil.CopyrightC()
++
++ # Get sorted list of dispatched functions.
++ # The order is very important - it must match cr_opcodes.h
++ # and spu_dispatch_table.h
++ print '%include "iprt/asmdefs.mac"'
++ print ""
++ print "%ifdef RT_ARCH_AMD64"
++ print "extern glim"
++ print "%else ; X86"
++ print "extern glim"
++ print "%endif"
++ print ""
++
++ keys = apiutil.GetDispatchedFunctions(sys.argv[1]+"/APIspec.txt")
++
++ for index in range(len(keys)):
++ func_name = keys[index]
++ if apiutil.Category(func_name) == "Chromium":
++ continue
++ if apiutil.Category(func_name) == "VBox":
++ continue
++
++ print "BEGINPROC_EXPORTED gl%s" % func_name
++ print "%ifdef RT_ARCH_AMD64"
++ print "\tmov \trax, qword glim+%d" % (8*index)
++ print "\tjmp \t[rax]"
++ print "%else ; X86"
++ print "\tmov \teax, dword glim+%d" % (4*index)
++ print "\tjmp \t[eax]"
++ print "%endif"
++ print "ENDPROC gl%s" % func_name
++ print ""
++
++
++ print ';'
++ print '; Aliases'
++ print ';'
++
++ # Now loop over all the functions and take care of any aliases
++ allkeys = apiutil.GetAllFunctions(sys.argv[1]+"/APIspec.txt")
++ for func_name in allkeys:
++ if "omit" in apiutil.ChromiumProps(func_name):
++ continue
++
++ if func_name in keys:
++ # we already processed this function earlier
++ continue
++
++ # alias is the function we're aliasing
++ alias = apiutil.Alias(func_name)
++ if alias:
++ # this dict lookup should never fail (raise an exception)!
++ index = keys.index(alias)
++ print "BEGINPROC_EXPORTED gl%s" % func_name
++ print "%ifdef RT_ARCH_AMD64"
++ print "\tmov \trax, qword glim+%d" % (8*index)
++ print "\tjmp \t[rax]"
++ print "%else ; X86"
++ print "\tmov \teax, dword glim+%d" % (4*index)
++ print "\tjmp \t[eax]"
++ print "%endif"
++ print "ENDPROC gl%s" % func_name
++ print ""
++
++
++ print ';'
++ print '; No-op stubs'
++ print ';'
++
++ # Now generate no-op stub functions
++ for func_name in allkeys:
++ if "stub" in apiutil.ChromiumProps(func_name):
++ print "BEGINPROC_EXPORTED gl%s" % func_name
++ print "\tleave"
++ print "\tret"
++ print "ENDPROC gl%s" % func_name
++ print ""
++
++
++GenerateEntrypoints()
++