]> git.cworth.org Git - apitrace/blobdiff - opengl32.py
First stab at binary trace and retracing.
[apitrace] / opengl32.py
index b66b4da3319ecee4c28ba1de032f86217fbfdf8c..471740e6910e3b7f1eb6d0216a97afd31f40ac1e 100644 (file)
@@ -188,19 +188,19 @@ opengl32.functions += [
     DllFunction(Void, "glFrontFace", [(GLenum, "mode")]),
     DllFunction(Void, "glHint", [(GLenum, "target"), (GLenum, "mode")]),
     DllFunction(Void, "glLightf", [(GLenum, "light"), (GLenum, "pname"), (GLfloat, "param")]),
-    DllFunction(Void, "glLightfv", [(GLenum, "light"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+    DllFunction(Void, "glLightfv", [(GLenum, "light"), (GLenum, "pname"), (Array(Const(GLfloat), "4"), "params")]), # XXX
     DllFunction(Void, "glLighti", [(GLenum, "light"), (GLenum, "pname"), (GLint, "param")]),
-    DllFunction(Void, "glLightiv", [(GLenum, "light"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+    DllFunction(Void, "glLightiv", [(GLenum, "light"), (GLenum, "pname"), (Array(Const(GLint), "4"), "params")]), # XXX
     DllFunction(Void, "glLightModelf", [(GLenum, "pname"), (GLfloat, "param")]),
-    DllFunction(Void, "glLightModelfv", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+    DllFunction(Void, "glLightModelfv", [(GLenum, "pname"), (Array(Const(GLfloat), "4"), "params")]), # XXX
     DllFunction(Void, "glLightModeli", [(GLenum, "pname"), (GLint, "param")]),
-    DllFunction(Void, "glLightModeliv", [(GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+    DllFunction(Void, "glLightModeliv", [(GLenum, "pname"), (Array(Const(GLint), "4"), "params")]), # XXX
     DllFunction(Void, "glLineStipple", [(GLint, "factor"), (GLushort, "pattern")]),
     DllFunction(Void, "glLineWidth", [(GLfloat, "width")]),
     DllFunction(Void, "glMaterialf", [(GLenum, "face"), (GLenum, "pname"), (GLfloat, "param")]),
-    DllFunction(Void, "glMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (Pointer(Const(GLfloat)), "params")]),
+    DllFunction(Void, "glMaterialfv", [(GLenum, "face"), (GLenum, "pname"), (Array(Const(GLfloat), "4"), "params")]), # XXX
     DllFunction(Void, "glMateriali", [(GLenum, "face"), (GLenum, "pname"), (GLint, "param")]),
-    DllFunction(Void, "glMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (Pointer(Const(GLint)), "params")]),
+    DllFunction(Void, "glMaterialiv", [(GLenum, "face"), (GLenum, "pname"), (Array(Const(GLint), "4"), "params")]), # XXX
     DllFunction(Void, "glPointSize", [(GLfloat, "size")]),
     DllFunction(Void, "glPolygonMode", [(GLenum, "face"), (GLenum, "mode")]),
     DllFunction(Void, "glPolygonStipple", [(Pointer(Const(GLubyte)), "mask")]),
@@ -439,7 +439,7 @@ opengl32.functions += [
 ]
 
 HGLRC = Alias("HGLRC", HANDLE)
-PROC = Intrinsic("PROC", "%p")
+PROC = Alias("PROC", Opaque)
 
 PFD = Flags(DWORD, [
     "PFD_DOUBLEBUFFER",
@@ -455,7 +455,10 @@ PFD = Flags(DWORD, [
     "PFD_SWAP_COPY",
     "PFD_SWAP_LAYER_BUFFERS",
     "PFD_GENERIC_ACCELERATED",
-    #"PFD_SUPPORT_DIRECTDRAW",
+    "PFD_SUPPORT_DIRECTDRAW",
+    "PFD_DEPTH_DONTCARE",
+    "PFD_DOUBLEBUFFER_DONTCARE",
+    "PFD_STEREO_DONTCARE",
 ])
 
 PIXELFORMATDESCRIPTOR = Struct("PIXELFORMATDESCRIPTOR", [
@@ -1018,33 +1021,33 @@ wglgetprocaddress.functions += [
     WglFunction(Void, "glWindowPos2d", [(GLdouble, "x"), (GLdouble, "y")]),
     WglFunction(Void, "glWindowPos2dARB", [(GLdouble, "x"), (GLdouble, "y")]),
     WglFunction(Void, "glWindowPos2dMESA", [(GLdouble, "x"), (GLdouble, "y")]),
-    WglFunction(Void, "glWindowPos2dv", [(Pointer(Const(GLdouble)), "v")]),
-    WglFunction(Void, "glWindowPos2dvARB", [(Pointer(Const(GLdouble)), "v")]),
-    WglFunction(Void, "glWindowPos2dvMESA", [(Pointer(Const(GLdouble)), "v")]),
+    WglFunction(Void, "glWindowPos2dv", [(Array(Const(GLdouble), "2"), "v")]),
+    WglFunction(Void, "glWindowPos2dvARB", [(Array(Const(GLdouble), "2"), "v")]),
+    WglFunction(Void, "glWindowPos2dvMESA", [(Array(Const(GLdouble), "2"), "v")]),
     WglFunction(Void, "glWindowPos2f", [(GLfloat, "x"), (GLfloat, "y")]),
     WglFunction(Void, "glWindowPos2fARB", [(GLfloat, "x"), (GLfloat, "y")]),
     WglFunction(Void, "glWindowPos2fMESA", [(GLfloat, "x"), (GLfloat, "y")]),
-    WglFunction(Void, "glWindowPos2fv", [(Pointer(Const(GLfloat)), "v")]),
-    WglFunction(Void, "glWindowPos2fvARB", [(Pointer(Const(GLfloat)), "v")]),
-    WglFunction(Void, "glWindowPos2fvMESA", [(Pointer(Const(GLfloat)), "v")]),
+    WglFunction(Void, "glWindowPos2fv", [(Array(Const(GLfloat), "2"), "v")]),
+    WglFunction(Void, "glWindowPos2fvARB", [(Array(Const(GLfloat), "2"), "v")]),
+    WglFunction(Void, "glWindowPos2fvMESA", [(Array(Const(GLfloat), "2"), "v")]),
     WglFunction(Void, "glWindowPos2i", [(GLint, "x"), (GLint, "y")]),
     WglFunction(Void, "glWindowPos2iARB", [(GLint, "x"), (GLint, "y")]),
     WglFunction(Void, "glWindowPos2iMESA", [(GLint, "x"), (GLint, "y")]),
-    WglFunction(Void, "glWindowPos2iv", [(Pointer(Const(GLint)), "v")]),
-    WglFunction(Void, "glWindowPos2ivARB", [(Pointer(Const(GLint)), "v")]),
-    WglFunction(Void, "glWindowPos2ivMESA", [(Pointer(Const(GLint)), "v")]),
+    WglFunction(Void, "glWindowPos2iv", [(Array(Const(GLint), "2"), "v")]),
+    WglFunction(Void, "glWindowPos2ivARB", [(Array(Const(GLint), "2"), "v")]),
+    WglFunction(Void, "glWindowPos2ivMESA", [(Array(Const(GLint), "2"), "v")]),
     WglFunction(Void, "glWindowPos2s", [(GLshort, "x"), (GLshort, "y")]),
     WglFunction(Void, "glWindowPos2sARB", [(GLshort, "x"), (GLshort, "y")]),
     WglFunction(Void, "glWindowPos2sMESA", [(GLshort, "x"), (GLshort, "y")]),
-    WglFunction(Void, "glWindowPos2sv", [(Pointer(Const(GLshort)), "v")]),
-    WglFunction(Void, "glWindowPos2svARB", [(Pointer(Const(GLshort)), "v")]),
-    WglFunction(Void, "glWindowPos2svMESA", [(Pointer(Const(GLshort)), "v")]),
+    WglFunction(Void, "glWindowPos2sv", [(Array(Const(GLshort), "2"), "v")]),
+    WglFunction(Void, "glWindowPos2svARB", [(Array(Const(GLshort), "2"), "v")]),
+    WglFunction(Void, "glWindowPos2svMESA", [(Array(Const(GLshort), "2"), "v")]),
     WglFunction(Void, "glWindowPos3d", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
     WglFunction(Void, "glWindowPos3dARB", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
     WglFunction(Void, "glWindowPos3dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z")]),
-    WglFunction(Void, "glWindowPos3dv", [(Pointer(Const(GLdouble)), "v")]),
-    WglFunction(Void, "glWindowPos3dvARB", [(Pointer(Const(GLdouble)), "v")]),
-    WglFunction(Void, "glWindowPos3dvMESA", [(Pointer(Const(GLdouble)), "v")]),
+    WglFunction(Void, "glWindowPos3dv", [(Array(Const(GLdouble), "3"), "v")]),
+    WglFunction(Void, "glWindowPos3dvARB", [(Array(Const(GLdouble), "3"), "v")]),
+    WglFunction(Void, "glWindowPos3dvMESA", [(Array(Const(GLdouble), "3"), "v")]),
     WglFunction(Void, "glWindowPos3f", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
     WglFunction(Void, "glWindowPos3fARB", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
     WglFunction(Void, "glWindowPos3fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z")]),
@@ -1054,23 +1057,23 @@ wglgetprocaddress.functions += [
     WglFunction(Void, "glWindowPos3i", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
     WglFunction(Void, "glWindowPos3iARB", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
     WglFunction(Void, "glWindowPos3iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z")]),
-    WglFunction(Void, "glWindowPos3iv", [(Pointer(Const(GLint)), "v")]),
-    WglFunction(Void, "glWindowPos3ivARB", [(Pointer(Const(GLint)), "v")]),
-    WglFunction(Void, "glWindowPos3ivMESA", [(Pointer(Const(GLint)), "v")]),
+    WglFunction(Void, "glWindowPos3iv", [(Array(Const(GLint), "3"), "v")]),
+    WglFunction(Void, "glWindowPos3ivARB", [(Array(Const(GLint), "3"), "v")]),
+    WglFunction(Void, "glWindowPos3ivMESA", [(Array(Const(GLint), "3"), "v")]),
     WglFunction(Void, "glWindowPos3s", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
     WglFunction(Void, "glWindowPos3sARB", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
     WglFunction(Void, "glWindowPos3sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z")]),
-    WglFunction(Void, "glWindowPos3sv", [(Pointer(Const(GLshort)), "v")]),
-    WglFunction(Void, "glWindowPos3svARB", [(Pointer(Const(GLshort)), "v")]),
-    WglFunction(Void, "glWindowPos3svMESA", [(Pointer(Const(GLshort)), "v")]),
+    WglFunction(Void, "glWindowPos3sv", [(Array(Const(GLshort), "3"), "v")]),
+    WglFunction(Void, "glWindowPos3svARB", [(Array(Const(GLshort), "3"), "v")]),
+    WglFunction(Void, "glWindowPos3svMESA", [(Array(Const(GLshort), "3"), "v")]),
     WglFunction(Void, "glWindowPos4dMESA", [(GLdouble, "x"), (GLdouble, "y"), (GLdouble, "z"), (GLdouble, "w")]),
-    WglFunction(Void, "glWindowPos4dvMESA", [(Pointer(Const(GLdouble)), "v")]),
+    WglFunction(Void, "glWindowPos4dvMESA", [(Array(Const(GLdouble), "4"), "v")]),
     WglFunction(Void, "glWindowPos4fMESA", [(GLfloat, "x"), (GLfloat, "y"), (GLfloat, "z"), (GLfloat, "w")]),
-    WglFunction(Void, "glWindowPos4fvMESA", [(Pointer(Const(GLfloat)), "v")]),
+    WglFunction(Void, "glWindowPos4fvMESA", [(Array(Const(GLfloat), "4"), "v")]),
     WglFunction(Void, "glWindowPos4iMESA", [(GLint, "x"), (GLint, "y"), (GLint, "z"), (GLint, "w")]),
-    WglFunction(Void, "glWindowPos4ivMESA", [(Pointer(Const(GLint)), "v")]),
+    WglFunction(Void, "glWindowPos4ivMESA", [(Array(Const(GLint), "4"), "v")]),
     WglFunction(Void, "glWindowPos4sMESA", [(GLshort, "x"), (GLshort, "y"), (GLshort, "z"), (GLshort, "w")]),
-    WglFunction(Void, "glWindowPos4svMESA", [(Pointer(Const(GLshort)), "v")]),
+    WglFunction(Void, "glWindowPos4svMESA", [(Array(Const(GLshort), "4"), "v")]),
     WglFunction(Void, "glMultiModeDrawArraysIBM", [(Pointer(Const(GLenum)), "mode"), (Pointer(Const(GLint)), "first"), (Pointer(Const(GLsizei)), "count"), (GLsizei, "primcount"), (GLint, "modestride")]),
     WglFunction(Void, "glMultiModeDrawElementsIBM", [(Pointer(Const(GLenum)), "mode"), (Pointer(Const(GLsizei)), "count"), (GLenum, "type"), (Pointer(Const(Pointer(Const(GLvoid)))), "indices"), (GLsizei, "primcount"), (GLint, "modestride")]),
     WglFunction(Void, "glDeleteFencesNV", [(GLsizei, "n"), (Pointer(Const(GLuint)), "fences")]),
@@ -1133,19 +1136,19 @@ wglgetprocaddress.functions += [
     WglFunction(Void, "glVertexAttrib4ubNV", [(GLuint, "index"), (GLubyte, "x"), (GLubyte, "y"), (GLubyte, "z"), (GLubyte, "w")]),
     WglFunction(Void, "glVertexAttrib4ubvNV", [(GLuint, "index"), (Array(Const(GLubyte), "4"), "v")]),
     WglFunction(Void, "glVertexAttribPointerNV", [(GLuint, "index"), (GLint, "size"), (GLenum, "type"), (GLsizei, "stride"), (Pointer(Const(GLvoid)), "pointer")]),
-    WglFunction(Void, "glVertexAttribs1dvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLdouble)), "v")]),
-    WglFunction(Void, "glVertexAttribs1fvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLfloat)), "v")]),
-    WglFunction(Void, "glVertexAttribs1svNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLshort)), "v")]),
-    WglFunction(Void, "glVertexAttribs2dvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLdouble)), "v")]),
-    WglFunction(Void, "glVertexAttribs2fvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLfloat)), "v")]),
-    WglFunction(Void, "glVertexAttribs2svNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLshort)), "v")]),
-    WglFunction(Void, "glVertexAttribs3dvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLdouble)), "v")]),
-    WglFunction(Void, "glVertexAttribs3fvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLfloat)), "v")]),
-    WglFunction(Void, "glVertexAttribs3svNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLshort)), "v")]),
-    WglFunction(Void, "glVertexAttribs4dvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLdouble)), "v")]),
-    WglFunction(Void, "glVertexAttribs4fvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLfloat)), "v")]),
-    WglFunction(Void, "glVertexAttribs4svNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLshort)), "v")]),
-    WglFunction(Void, "glVertexAttribs4ubvNV", [(GLuint, "index"), (GLsizei, "n"), (Pointer(Const(GLubyte)), "v")]),
+    WglFunction(Void, "glVertexAttribs1dvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLdouble), "1"), "v")]),
+    WglFunction(Void, "glVertexAttribs1fvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLfloat), "1"), "v")]),
+    WglFunction(Void, "glVertexAttribs1svNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLshort), "1"), "v")]),
+    WglFunction(Void, "glVertexAttribs2dvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLdouble), "2"), "v")]),
+    WglFunction(Void, "glVertexAttribs2fvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLfloat), "2"), "v")]),
+    WglFunction(Void, "glVertexAttribs2svNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLshort), "2"), "v")]),
+    WglFunction(Void, "glVertexAttribs3dvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLdouble), "3"), "v")]),
+    WglFunction(Void, "glVertexAttribs3fvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLfloat), "3"), "v")]),
+    WglFunction(Void, "glVertexAttribs3svNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLshort), "3"), "v")]),
+    WglFunction(Void, "glVertexAttribs4dvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLdouble), "4"), "v")]),
+    WglFunction(Void, "glVertexAttribs4fvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLfloat), "4"), "v")]),
+    WglFunction(Void, "glVertexAttribs4svNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLshort), "4"), "v")]),
+    WglFunction(Void, "glVertexAttribs4ubvNV", [(GLuint, "index"), (GLsizei, "n"), (Array(Const(GLubyte), "4"), "v")]),
     WglFunction(Void, "glGetTexBumpParameterfvATI", [(GLenum, "pname"), (Pointer(GLfloat), "param")]),
     WglFunction(Void, "glGetTexBumpParameterivATI", [(GLenum, "pname"), (Pointer(GLint), "param")]),
     WglFunction(Void, "glTexBumpParameterfvATI", [(GLenum, "pname"), (Pointer(Const(GLfloat)), "param")]),
@@ -1266,6 +1269,13 @@ if __name__ == '__main__':
     print
     print '#include "log.hpp"'
     print
+    print '#ifndef PFD_SUPPORT_DIRECTDRAW'
+    print '#define PFD_SUPPORT_DIRECTDRAW 0x00002000'
+    print '#endif'
+    print '#ifndef PFD_SUPPORT_COMPOSITION'
+    print '#define PFD_SUPPORT_COMPOSITION 0x00008000'
+    print '#endif'
+    print
     print '#ifdef __MINGW32__'
     print ''
     print 'typedef struct _WGLSWAP'