summaryrefslogtreecommitdiffstats
path: root/src/VBox/Additions/common/crOpenGL/defs.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xsrc/VBox/Additions/common/crOpenGL/defs.py505
1 files changed, 505 insertions, 0 deletions
diff --git a/src/VBox/Additions/common/crOpenGL/defs.py b/src/VBox/Additions/common/crOpenGL/defs.py
new file mode 100755
index 00000000..c0703088
--- /dev/null
+++ b/src/VBox/Additions/common/crOpenGL/defs.py
@@ -0,0 +1,505 @@
+# Copyright (c) 2001, Stanford University
+# All rights reserved.
+#
+# See the file LICENSE.txt for information on redistributing this software.
+
+from __future__ import print_function
+import sys
+
+import apiutil
+
+apiutil.CopyrightDef()
+
+# NOTE: if we need a LIBRARY statement, we would need to create a defs-x86.py to generate a .def file for VBoxOGL-x86 library
+#print "LIBRARY VBoxOGL"
+#print "DESCRIPTION \"\"" - warning LNK4017: DESCRIPTION statement not supported for the target platform; ignored
+print("EXPORTS")
+
+# XXX can't these values be automatically computed by analyzing parameters?
+
+stack_sizes = {
+ 'Accum': 8,
+ 'AlphaFunc': 8,
+ 'AreTexturesResident': 12,
+ 'ArrayElement': 4,
+ 'Begin': 4,
+ 'BindTexture': 8,
+ 'Bitmap': 28,
+ 'BlendFunc': 8,
+ 'CallList': 4,
+ 'CallLists': 12,
+ 'Clear': 4,
+ 'ClearAccum': 16,
+ 'ClearColor': 16,
+ 'ClearDepth': 8,
+ 'ClearIndex': 4,
+ 'ClearStencil': 4,
+ 'ClipPlane': 8,
+ 'Color3b': 12,
+ 'Color3bv': 4,
+ 'Color3d': 24,
+ 'Color3dv': 4,
+ 'Color3f': 12,
+ 'Color3fv': 4,
+ 'Color3i': 12,
+ 'Color3iv': 4,
+ 'Color3s': 12,
+ 'Color3sv': 4,
+ 'Color3ub': 12,
+ 'Color3ubv': 4,
+ 'Color3ui': 12,
+ 'Color3uiv': 4,
+ 'Color3us': 12,
+ 'Color3usv': 4,
+ 'Color4b': 16,
+ 'Color4bv': 4,
+ 'Color4d': 32,
+ 'Color4dv': 4,
+ 'Color4f': 16,
+ 'Color4fv': 4,
+ 'Color4i': 16,
+ 'Color4iv': 4,
+ 'Color4s': 16,
+ 'Color4sv': 4,
+ 'Color4ub': 16,
+ 'Color4ubv': 4,
+ 'Color4ui': 16,
+ 'Color4uiv': 4,
+ 'Color4us': 16,
+ 'Color4usv': 4,
+ 'ColorMask': 16,
+ 'ColorMaterial': 8,
+ 'ColorPointer': 16,
+ 'CopyPixels': 20,
+ 'CopyTexImage1D': 28,
+ 'CopyTexImage2D': 32,
+ 'CopyTexSubImage1D': 24,
+ 'CopyTexSubImage2D': 32,
+ 'CullFace': 4,
+ 'DebugEntry': 8,
+ 'DeleteLists': 8,
+ 'DeleteTextures': 8,
+ 'DepthFunc': 4,
+ 'DepthMask': 4,
+ 'DepthRange': 16,
+ 'Disable': 4,
+ 'DisableClientState': 4,
+ 'DrawArrays': 12,
+ 'DrawBuffer': 4,
+ 'DrawElements': 16,
+ 'DrawPixels': 20,
+ 'EdgeFlag': 4,
+ 'EdgeFlagPointer': 8,
+ 'EdgeFlagv': 4,
+ 'Enable': 4,
+ 'EnableClientState': 4,
+ 'End': 0,
+ 'EndList': 0,
+ 'EvalCoord1d': 8,
+ 'EvalCoord1dv': 4,
+ 'EvalCoord1f': 4,
+ 'EvalCoord1fv': 4,
+ 'EvalCoord2d': 16,
+ 'EvalCoord2dv': 4,
+ 'EvalCoord2f': 8,
+ 'EvalCoord2fv': 4,
+ 'EvalMesh1': 12,
+ 'EvalMesh2': 20,
+ 'EvalPoint1': 4,
+ 'EvalPoint2': 8,
+ 'FeedbackBuffer': 12,
+ 'Finish': 0,
+ 'Flush': 0,
+ 'Fogf': 8,
+ 'Fogfv': 8,
+ 'Fogi': 8,
+ 'Fogiv': 8,
+ 'FrontFace': 4,
+ 'Frustum': 48,
+ 'GenLists': 4,
+ 'GenTextures': 8,
+ 'GetBooleanv': 8,
+ 'GetClipPlane': 8,
+ 'GetDoublev': 8,
+ 'GetError': 0,
+ 'GetFloatv': 8,
+ 'GetIntegerv': 8,
+ 'GetLightfv': 12,
+ 'GetLightiv': 12,
+ 'GetMapdv': 12,
+ 'GetMapfv': 12,
+ 'GetMapiv': 12,
+ 'GetMaterialfv': 12,
+ 'GetMaterialiv': 12,
+ 'GetPixelMapfv': 8,
+ 'GetPixelMapuiv': 8,
+ 'GetPixelMapusv': 8,
+ 'GetPointerv': 8,
+ 'GetPolygonStipple': 4,
+ 'GetString': 4,
+ 'GetTexEnvfv': 12,
+ 'GetTexEnviv': 12,
+ 'GetTexGendv': 12,
+ 'GetTexGenfv': 12,
+ 'GetTexGeniv': 12,
+ 'GetTexImage': 20,
+ 'GetTexLevelParameterfv': 16,
+ 'GetTexLevelParameteriv': 16,
+ 'GetTexParameterfv': 12,
+ 'GetTexParameteriv': 12,
+ 'Hint': 8,
+ 'IndexMask': 4,
+ 'IndexPointer': 12,
+ 'Indexd': 8,
+ 'Indexdv': 4,
+ 'Indexf': 4,
+ 'Indexfv': 4,
+ 'Indexi': 4,
+ 'Indexiv': 4,
+ 'Indexs': 4,
+ 'Indexsv': 4,
+ 'Indexub': 4,
+ 'Indexubv': 4,
+ 'InitNames': 0,
+ 'InterleavedArrays': 12,
+ 'IsEnabled': 4,
+ 'IsList': 4,
+ 'IsTexture': 4,
+ 'LightModelf': 8,
+ 'LightModelfv': 8,
+ 'LightModeli': 8,
+ 'LightModeliv': 8,
+ 'Lightf': 12,
+ 'Lightfv': 12,
+ 'Lighti': 12,
+ 'Lightiv': 12,
+ 'LineStipple': 8,
+ 'LineWidth': 4,
+ 'ListBase': 4,
+ 'LoadIdentity': 0,
+ 'LoadMatrixd': 4,
+ 'LoadMatrixf': 4,
+ 'LoadName': 4,
+ 'LogicOp': 4,
+ 'Map1d': 32,
+ 'Map1f': 24,
+ 'Map2d': 56,
+ 'Map2f': 40,
+ 'MapGrid1d': 20,
+ 'MapGrid1f': 12,
+ 'MapGrid2d': 40,
+ 'MapGrid2f': 24,
+ 'Materialf': 12,
+ 'Materialfv': 12,
+ 'Materiali': 12,
+ 'Materialiv': 12,
+ 'MatrixMode': 4,
+ 'MultMatrixd': 4,
+ 'MultMatrixf': 4,
+ 'NewList': 8,
+ 'Normal3b': 12,
+ 'Normal3bv': 4,
+ 'Normal3d': 24,
+ 'Normal3dv': 4,
+ 'Normal3f': 12,
+ 'Normal3fv': 4,
+ 'Normal3i': 12,
+ 'Normal3iv': 4,
+ 'Normal3s': 12,
+ 'Normal3sv': 4,
+ 'NormalPointer': 12,
+ 'Ortho': 48,
+ 'PassThrough': 4,
+ 'PixelMapfv': 12,
+ 'PixelMapuiv': 12,
+ 'PixelMapusv': 12,
+ 'PixelStoref': 8,
+ 'PixelStorei': 8,
+ 'PixelTransferf': 8,
+ 'PixelTransferi': 8,
+ 'PixelZoom': 8,
+ 'PointSize': 4,
+ 'PolygonMode': 8,
+ 'PolygonOffset': 8,
+ 'PolygonStipple': 4,
+ 'PopAttrib': 0,
+ 'PopClientAttrib': 0,
+ 'PopMatrix': 0,
+ 'PopName': 0,
+ 'PrioritizeTextures': 12,
+ 'PushAttrib': 4,
+ 'PushClientAttrib': 4,
+ 'PushMatrix': 0,
+ 'PushName': 4,
+ 'RasterPos2d': 16,
+ 'RasterPos2dv': 4,
+ 'RasterPos2f': 8,
+ 'RasterPos2fv': 4,
+ 'RasterPos2i': 8,
+ 'RasterPos2iv': 4,
+ 'RasterPos2s': 8,
+ 'RasterPos2sv': 4,
+ 'RasterPos3d': 24,
+ 'RasterPos3dv': 4,
+ 'RasterPos3f': 12,
+ 'RasterPos3fv': 4,
+ 'RasterPos3i': 12,
+ 'RasterPos3iv': 4,
+ 'RasterPos3s': 12,
+ 'RasterPos3sv': 4,
+ 'RasterPos4d': 32,
+ 'RasterPos4dv': 4,
+ 'RasterPos4f': 16,
+ 'RasterPos4fv': 4,
+ 'RasterPos4i': 16,
+ 'RasterPos4iv': 4,
+ 'RasterPos4s': 16,
+ 'RasterPos4sv': 4,
+ 'ReadBuffer': 4,
+ 'ReadPixels': 28,
+ 'Rectd': 32,
+ 'Rectdv': 8,
+ 'Rectf': 16,
+ 'Rectfv': 8,
+ 'Recti': 16,
+ 'Rectiv': 8,
+ 'Rects': 16,
+ 'Rectsv': 8,
+ 'RenderMode': 4,
+ 'Rotated': 32,
+ 'Rotatef': 16,
+ 'Scaled': 24,
+ 'Scalef': 12,
+ 'Scissor': 16,
+ 'SelectBuffer': 8,
+ 'ShadeModel': 4,
+ 'StencilFunc': 12,
+ 'StencilMask': 4,
+ 'StencilOp': 12,
+ 'TexCoord1d': 8,
+ 'TexCoord1dv': 4,
+ 'TexCoord1f': 4,
+ 'TexCoord1fv': 4,
+ 'TexCoord1i': 4,
+ 'TexCoord1iv': 4,
+ 'TexCoord1s': 4,
+ 'TexCoord1sv': 4,
+ 'TexCoord2d': 16,
+ 'TexCoord2dv': 4,
+ 'TexCoord2f': 8,
+ 'TexCoord2fv': 4,
+ 'TexCoord2i': 8,
+ 'TexCoord2iv': 4,
+ 'TexCoord2s': 8,
+ 'TexCoord2sv': 4,
+ 'TexCoord3d': 24,
+ 'TexCoord3dv': 4,
+ 'TexCoord3f': 12,
+ 'TexCoord3fv': 4,
+ 'TexCoord3i': 12,
+ 'TexCoord3iv': 4,
+ 'TexCoord3s': 12,
+ 'TexCoord3sv': 4,
+ 'TexCoord4d': 32,
+ 'TexCoord4dv': 4,
+ 'TexCoord4f': 16,
+ 'TexCoord4fv': 4,
+ 'TexCoord4i': 16,
+ 'TexCoord4iv': 4,
+ 'TexCoord4s': 16,
+ 'TexCoord4sv': 4,
+ 'TexCoordPointer': 16,
+ 'TexEnvf': 12,
+ 'TexEnvfv': 12,
+ 'TexEnvi': 12,
+ 'TexEnviv': 12,
+ 'TexGend': 16,
+ 'TexGendv': 12,
+ 'TexGenf': 12,
+ 'TexGenfv': 12,
+ 'TexGeni': 12,
+ 'TexGeniv': 12,
+ 'TexImage1D': 32,
+ 'TexImage2D': 36,
+ 'TexImage3D': 36,
+ 'TexParameterf': 12,
+ 'TexParameterfv': 12,
+ 'TexParameteri': 12,
+ 'TexParameteriv': 12,
+ 'TexSubImage1D': 28,
+ 'TexSubImage2D': 36,
+ 'Translated': 24,
+ 'Translatef': 12,
+ 'Vertex2d': 16,
+ 'Vertex2dv': 4,
+ 'Vertex2f': 8,
+ 'Vertex2fv': 4,
+ 'Vertex2i': 8,
+ 'Vertex2iv': 4,
+ 'Vertex2s': 8,
+ 'Vertex2sv': 4,
+ 'Vertex3d': 24,
+ 'Vertex3dv': 4,
+ 'Vertex3f': 12,
+ 'Vertex3fv': 4,
+ 'Vertex3i': 12,
+ 'Vertex3iv': 4,
+ 'Vertex3s': 12,
+ 'Vertex3sv': 4,
+ 'Vertex4d': 32,
+ 'Vertex4dv': 4,
+ 'Vertex4f': 16,
+ 'Vertex4fv': 4,
+ 'Vertex4i': 16,
+ 'Vertex4iv': 4,
+ 'Vertex4s': 16,
+ 'Vertex4sv': 4,
+ 'VertexPointer': 16,
+ 'Viewport': 16,
+ 'wglChoosePixelFormat': 8,
+ 'wglCopyContext': 12,
+ 'wglCreateContext': 4,
+ 'wglCreateLayerContext': 8,
+ 'wglDeleteContext': 4,
+ 'wglDescribeLayerPlane': 20,
+ 'wglDescribePixelFormat': 16,
+ 'wglGetCurrentContext': 0,
+ 'wglGetCurrentDC': 0,
+ 'wglGetDefaultProcAddress': 4,
+ 'wglGetLayerPaletteEntries': 20,
+ 'wglGetPixelFormat': 4,
+ 'wglGetProcAddress': 4,
+ 'wglMakeCurrent': 8,
+ 'wglRealizeLayerPalette': 12,
+ 'wglSetLayerPaletteEntries': 20,
+ 'wglSetPixelFormat': 12,
+ 'wglShareLists': 8,
+ 'wglSwapBuffers': 4,
+ 'wglSwapLayerBuffers': 8,
+ 'wglSwapMultipleBuffers': 8,
+ 'wglUseFontBitmapsA': 16,
+ 'wglUseFontBitmapsW': 16,
+ 'wglUseFontOutlinesA': 32,
+ 'wglUseFontOutlinesW': 32,
+ 'wglChoosePixelFormatEXT' : 24,
+ 'wglGetPixelFormatAttribivEXT' : 24,
+ 'wglGetPixelFormatAttribfvEXT' : 24,
+ 'wglGetExtensionsStringEXT' : 4,
+ 'CopyContext' : 12,
+ 'CreateContext' : 4,
+ 'CreateLayerContext' : 8,
+ 'DeleteContext' : 4,
+ 'DescribeLayerPlane' : 20,
+ 'DescribePixelFormat' : 16,
+ 'GetLayerPaletteEntries' : 20,
+ 'GetProcAddress' : 4,
+ 'RealizeLayerPalette' : 12,
+ 'ReleaseContext' : 4,
+ 'SetContext' : 12,
+ 'SetLayerPaletteEntries' : 20,
+ 'SetPixelFormat' : 12,
+ 'ShareLists' : 8,
+ 'SwapBuffers' : 4,
+ 'SwapLayerBuffers' : 8,
+ 'ValidateVersion' : 4,
+}
+
+noexport_special = [
+ "BoundsInfoCR",
+ "CreateContext",
+ "DestroyContext",
+ "MakeCurrent",
+ "WindowCreate",
+ "WindowDestroy",
+ "WindowSize",
+ "WindowPosition",
+ "WindowVisibleRegion",
+ "WindowShow",
+ "SwapBuffers"
+]
+
+keys = apiutil.GetDispatchedFunctions(sys.argv[1]+"/APIspec.txt")
+
+for func_name in keys:
+ if func_name in noexport_special:
+ continue
+ try:
+ print("gl%s@%d = cr_gl%s" % (func_name,stack_sizes[func_name],func_name))
+ except KeyError:
+ pass
+
+for func_name in ( "wglChoosePixelFormat",
+ "wglCopyContext",
+ "wglCreateContext",
+ "wglCreateLayerContext",
+ "wglDeleteContext",
+ "wglDescribeLayerPlane",
+ "wglDescribePixelFormat",
+ "wglGetCurrentContext",
+ "wglGetCurrentDC",
+ "wglGetLayerPaletteEntries",
+ "wglGetPixelFormat",
+ "wglGetProcAddress",
+ "wglMakeCurrent",
+ "wglRealizeLayerPalette",
+ "wglSetLayerPaletteEntries",
+ "wglSetPixelFormat",
+ "wglShareLists",
+ "wglSwapBuffers",
+ "wglSwapLayerBuffers",
+ "wglSwapMultipleBuffers",
+ "wglUseFontBitmapsA",
+ "wglUseFontBitmapsW",
+ "wglUseFontOutlinesA",
+ "wglUseFontOutlinesW",
+ "wglChoosePixelFormatEXT",
+ "wglGetPixelFormatAttribivEXT",
+ "wglGetPixelFormatAttribfvEXT",
+ "wglGetExtensionsStringEXT"):
+ print("%s = %s_prox" % (func_name,func_name))
+
+"""
+for func_name in ( "CopyContext",
+ "CreateContext",
+ "CreateLayerContext",
+ "DeleteContext",
+ "DescribeLayerPlane",
+ "DescribePixelFormat",
+ "GetLayerPaletteEntries",
+ "GetProcAddress",
+ "RealizeLayerPalette",
+ "SetLayerPaletteEntries",
+ "ShareLists",
+ "SwapBuffers",
+ "SwapLayerBuffers"):
+ print "Drv%s@%d = wgl%s_prox" % (func_name,stack_sizes[func_name],func_name)
+"""
+
+print("""DrvCopyContext
+DrvCreateContext
+DrvCreateLayerContext
+DrvDeleteContext
+DrvDescribeLayerPlane
+DrvDescribePixelFormat
+DrvGetLayerPaletteEntries
+DrvGetProcAddress = wglGetProcAddress_prox
+DrvRealizeLayerPalette
+DrvSetLayerPaletteEntries
+DrvShareLists
+DrvSwapBuffers
+DrvSwapLayerBuffers
+DrvReleaseContext@4 = DrvReleaseContext
+DrvSetContext@12 = DrvSetContext
+DrvValidateVersion@4 = DrvValidateVersion
+DrvSetPixelFormat@8 = DrvSetPixelFormat""")
+
+print("""crCreateContext
+crMakeCurrent
+crSwapBuffers
+crGetProcAddress
+VBoxCreateContext
+VBoxCtxChromiumParameteriCR
+VBoxGetWindowId
+VBoxGetContextId
+VBoxFlushToHost""")
+#print "DllMain"