summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jose.r.fonseca@gmail.com>2011-10-09 01:04:17 +0100
committerJosé Fonseca <jose.r.fonseca@gmail.com>2011-10-09 01:04:17 +0100
commitff8848b5a7f01ea132ec3c9778e48dbaa617bc6a (patch)
treec3437f95a2b8177c865807fbe1bc99b665874d33
parentb1bb3c2496c84191ff91cb99168283450917744b (diff)
Handle glDraw*BaseInstance.
-rw-r--r--glretrace.py7
-rw-r--r--glsize.hpp7
-rw-r--r--gltrace.py3
3 files changed, 15 insertions, 2 deletions
diff --git a/glretrace.py b/glretrace.py
index 761fe23..1d916ee 100644
--- a/glretrace.py
+++ b/glretrace.py
@@ -78,6 +78,7 @@ class GlRetracer(Retracer):
"glDrawArraysInstanced",
"glDrawArraysInstancedARB",
"glDrawArraysInstancedEXT",
+ "glDrawArraysInstancedBaseInstance",
"glDrawMeshArraysSUN",
"glMultiDrawArrays",
"glMultiDrawArraysEXT",
@@ -90,11 +91,13 @@ class GlRetracer(Retracer):
"glDrawElementsIndirect",
"glDrawElementsInstanced",
"glDrawElementsInstancedARB",
- "glDrawElementsInstancedBaseVertex",
"glDrawElementsInstancedEXT",
+ "glDrawElementsInstancedBaseVertex",
+ "glDrawElementsInstancedBaseInstance",
+ "glDrawElementsInstancedBaseVertexBaseInstance",
"glDrawRangeElements",
- "glDrawRangeElementsBaseVertex",
"glDrawRangeElementsEXT",
+ "glDrawRangeElementsBaseVertex",
"glMultiDrawElements",
"glMultiDrawElementsBaseVertex",
"glMultiDrawElementsEXT",
diff --git a/glsize.hpp b/glsize.hpp
index f5b2eb0..646899e 100644
--- a/glsize.hpp
+++ b/glsize.hpp
@@ -1,5 +1,6 @@
/**************************************************************************
*
+ * Copyright 2011 Jose Fonseca
* Copyright 2010 VMware, Inc.
* Copyright 2004 IBM Corporation
* All Rights Reserved.
@@ -316,6 +317,7 @@ __glDrawElementsBaseVertex_maxindex(GLsizei count, GLenum type, const GLvoid *in
if (!count) {
return 0;
}
+
__glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &__element_array_buffer);
if (__element_array_buffer) {
// Read indices from index buffer object
@@ -376,12 +378,17 @@ __glDrawElementsBaseVertex_maxindex(GLsizei count, GLenum type, const GLvoid *in
#define __glDrawRangeElements_maxindex(start, end, count, type, indices) __glDrawElements_maxindex(count, type, indices)
#define __glDrawRangeElementsEXT_maxindex __glDrawRangeElements_maxindex
+/* FIXME take in consideration instancing */
#define __glDrawArraysInstanced_maxindex(first, count, primcount) __glDrawArrays_maxindex(first, count)
#define __glDrawElementsInstanced_maxindex(count, type, indices, primcount) __glDrawElements_maxindex(count, type, indices)
#define __glDrawElementsInstancedBaseVertex_maxindex(count, type, indices, primcount, basevertex) __glDrawElementsBaseVertex_maxindex(count, type, indices, basevertex)
#define __glDrawRangeElementsInstanced_maxindex(start, end, count, type, indices, primcount) __glDrawRangeElements_maxindex(start, end, count, type, indices)
#define __glDrawRangeElementsInstancedBaseVertex_maxindex(start, end, count, type, indices, primcount, basevertex) __glDrawRangeElementsBaseVertex_maxindex(start, end, count, type, indices, basevertex)
+#define __glDrawArraysInstancedBaseInstance_maxindex(first, count, primcount, baseinstance) __glDrawArrays_maxindex(first, count)
+#define __glDrawElementsInstancedBaseInstance_maxindex(count, type, indices, primcount, baseinstance) __glDrawElements_maxindex(count, type, indices)
+#define __glDrawElementsInstancedBaseVertexBaseInstance_maxindex(count, type, indices, primcount, basevertex, baseinstance) __glDrawElementsBaseVertex_maxindex(count, type, indices, basevertex)
+
#define __glDrawArraysInstancedARB_maxindex __glDrawArraysInstanced_maxindex
#define __glDrawElementsInstancedARB_maxindex __glDrawElementsInstanced_maxindex
#define __glDrawArraysInstancedEXT_maxindex __glDrawArraysInstanced_maxindex
diff --git a/gltrace.py b/gltrace.py
index 08fef00..69be821 100644
--- a/gltrace.py
+++ b/gltrace.py
@@ -330,12 +330,15 @@ class GlTracer(Tracer):
'glMultiDrawArrays',
'glMultiDrawElements',
'glDrawArraysInstanced',
+ "glDrawArraysInstancedBaseInstance",
'glDrawElementsInstanced',
'glDrawArraysInstancedARB',
'glDrawElementsInstancedARB',
'glDrawElementsBaseVertex',
'glDrawRangeElementsBaseVertex',
'glDrawElementsInstancedBaseVertex',
+ "glDrawElementsInstancedBaseInstance",
+ "glDrawElementsInstancedBaseVertexBaseInstance",
'glMultiDrawElementsBaseVertex',
'glDrawArraysIndirect',
'glDrawElementsIndirect',