diff options
author | José Fonseca <jose.r.fonseca@gmail.com> | 2011-10-09 01:04:17 +0100 |
---|---|---|
committer | José Fonseca <jose.r.fonseca@gmail.com> | 2011-10-09 01:04:17 +0100 |
commit | ff8848b5a7f01ea132ec3c9778e48dbaa617bc6a (patch) | |
tree | c3437f95a2b8177c865807fbe1bc99b665874d33 | |
parent | b1bb3c2496c84191ff91cb99168283450917744b (diff) |
Handle glDraw*BaseInstance.
-rw-r--r-- | glretrace.py | 7 | ||||
-rw-r--r-- | glsize.hpp | 7 | ||||
-rw-r--r-- | gltrace.py | 3 |
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", @@ -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 @@ -330,12 +330,15 @@ class GlTracer(Tracer): 'glMultiDrawArrays', 'glMultiDrawElements', 'glDrawArraysInstanced', + "glDrawArraysInstancedBaseInstance", 'glDrawElementsInstanced', 'glDrawArraysInstancedARB', 'glDrawElementsInstancedARB', 'glDrawElementsBaseVertex', 'glDrawRangeElementsBaseVertex', 'glDrawElementsInstancedBaseVertex', + "glDrawElementsInstancedBaseInstance", + "glDrawElementsInstancedBaseVertexBaseInstance", 'glMultiDrawElementsBaseVertex', 'glDrawArraysIndirect', 'glDrawElementsIndirect', |