]> git.cworth.org Git - apitrace/blobdiff - specs/gltypes.py
d3dretrace: Use DirectXTex for d3d10 state too.
[apitrace] / specs / gltypes.py
index 4324ac7e389ad75a6fb9abfadc5127a685a3a10f..a04990d9ec33ec72550e39aa3a5a3834e1b20187 100644 (file)
@@ -100,7 +100,7 @@ GLshader = Handle("shader", GLuint)
 GLlocation = Handle("location", GLint, key=('program', GLhandleARB))
 GLlocationARB = Handle("location", GLint, key=('programObj', GLhandleARB))
 
-contextKey = ('reinterpret_cast<uintptr_t>(glretrace::currentContext)', UIntPtr)
+contextKey = ('reinterpret_cast<uintptr_t>(glretrace::getCurrentContext())', UIntPtr)
 
 GLprogramARB = Handle("programARB", GLuint)
 GLframebuffer = Handle("framebuffer", GLuint)
@@ -237,3 +237,16 @@ GLbitfield_barrier = Flags(GLbitfield, [
 size_bgra = FakeEnum(GLint, [
     "GL_BGRA",
 ])
+
+
+def GLindexBuffer(countExpr, typeExpr):
+    # Indices arguments are polymorphic:
+    # - offsets when element array buffer is bound
+    # - or a blob otherwise.
+    sizeExpr = '%s*_gl_type_size(%s)' % (countExpr, typeExpr)
+    return Polymorphic('_element_array_buffer_binding()', [
+            ('0', Blob(Const(GLvoid), sizeExpr)),
+        ],
+        IntPointer("const GLvoid *"), 
+        contextLess=False,
+    )