]> git.cworth.org Git - apitrace/blobdiff - specs/glxapi.py
Update GLX attrib_list support from GLX 1.3 to 1.4.
[apitrace] / specs / glxapi.py
index bde57d80ec7881dbaa7c9db29afe79fba710fb0e..28884a003eb33721aa77dc75685420f680427381 100644 (file)
@@ -208,12 +208,7 @@ GLXbuffer = Flags(Int, [
 
 UnusedAttribs = AttribArray(GLXEnum, [])
 
-GLXFBConfigCommonAttribs = [
-    ('GLX_BUFFER_SIZE', UInt),
-    ('GLX_LEVEL', Int),
-    ('GLX_DOUBLEBUFFER', Bool),
-    ('GLX_STEREO', Bool),
-    ('GLX_AUX_BUFFERS', UInt),
+GLXCommonSizeAttribs = [
     ('GLX_RED_SIZE', UInt),
     ('GLX_GREEN_SIZE', UInt),
     ('GLX_BLUE_SIZE', UInt),
@@ -223,7 +218,30 @@ GLXFBConfigCommonAttribs = [
     ('GLX_ACCUM_RED_SIZE', UInt),
     ('GLX_ACCUM_GREEN_SIZE', UInt),
     ('GLX_ACCUM_BLUE_SIZE', UInt),
-    ('GLX_ACCUM_ALPHA_SIZE', UInt),
+    ('GLX_ACCUM_ALPHA_SIZE', UInt)
+]
+
+GLXVisualAttribs = AttribArray(GLXEnum, GLXCommonSizeAttribs + [
+    ('GLX_USE_GL', None),
+    ('GLX_BUFFER_SIZE', UInt),
+    ('GLX_LEVEL', Int),
+    ('GLX_RGBA', None),
+    ('GLX_DOUBLEBUFFER', None),
+    ('GLX_STEREO', None),
+    ('GLX_AUX_BUFFERS', UInt),
+    ('GLX_SAMPLE_BUFFERS', UInt),
+    ('GLX_SAMPLES', UInt)],
+    isConst = False
+)
+
+GLXFBConfigCommonAttribs = GLXCommonSizeAttribs + [
+    ('GLX_BUFFER_SIZE', UInt),
+    ('GLX_LEVEL', Int),
+    ('GLX_DOUBLEBUFFER', Bool),
+    ('GLX_STEREO', Bool),
+    ('GLX_AUX_BUFFERS', UInt),
+    ('GLX_SAMPLE_BUFFERS', UInt),
+    ('GLX_SAMPLES', UInt),
     ('GLX_RENDER_TYPE', Flags(Int, ["GLX_RGBA_BIT", "GLX_COLOR_INDEX_BIT"])),
     ('GLX_DRAWABLE_TYPE', Flags(Int, ["GLX_WINDOW_BIT", "GLX_PIXMAP_BIT", "GLX_PBUFFER_BIT"])),
     ('GLX_X_RENDERABLE', Bool),
@@ -235,20 +253,18 @@ GLXFBConfigCommonAttribs = [
     ('GLX_TRANSPARENT_GREEN_VALUE', Int),
     ('GLX_TRANSPARENT_BLUE_VALUE', Int),
     ('GLX_TRANSPARENT_ALPHA_VALUE', Int)
-
 ]
 
 GLXFBConfigGLXAttribs = GLXFBConfigCommonAttribs + [
     ('GLX_FBCONFIG_ID', Int), # an XID, can we do better than int?
-]
-
-GLXFBConfigSGIXAttribs = GLXFBConfigCommonAttribs + [
-    ('GLX_SAMPLE_BUFFERS', UInt),
-    ('GLX_SAMPLES', UInt)
+    ('GLX_MAX_PBUFFER_WIDTH', Int),
+    ('GLX_MAX_PBUFFER_HEIGHT', Int),
+    ('GLX_MAX_PBUFFER_PIXELS', Int),
+    ('GLX_VISUAL_ID', Int)  # another XID
 ]
 
 GLXFBConfigAttribs = AttribArray(GLXEnum, GLXFBConfigGLXAttribs)
-GLXFBConfigSGIXAttribs = AttribArray(GLXEnum, GLXFBConfigSGIXAttribs, isConst = False)
+GLXFBConfigSGIXAttribs = AttribArray(GLXEnum, GLXFBConfigCommonAttribs, isConst = False)
 
 GLXContextAttribs = AttribArray(GLXEnum, [
     ('GLX_CONTEXT_MAJOR_VERSION_ARB', Int),
@@ -277,7 +293,7 @@ PROC = Opaque("__GLXextFuncPtr")
 
 glxapi.addFunctions([
     # GLX
-    Function(Pointer(XVisualInfo), "glXChooseVisual", [(Display, "dpy"), (Int, "screen"), (Array(GLXEnum, "_AttribList_size(attribList)"), "attribList")]),
+    Function(Pointer(XVisualInfo), "glXChooseVisual", [(Display, "dpy"), (Int, "screen"), (GLXVisualAttribs, "attribList")]),
     Function(GLXContext, "glXCreateContext", [(Display, "dpy"), (Pointer(XVisualInfo), "vis"), (GLXContext, "shareList"), (Bool, "direct")]),
     Function(Void, "glXDestroyContext",  [(Display, "dpy"), (GLXContext, "ctx")]),
     Function(Bool, "glXMakeCurrent", [(Display, "dpy"), (GLXDrawable, "drawable"), (GLXContext, "ctx")]),