X-Git-Url: http://git.tdb.fi/?p=gldbg.git;a=blobdiff_plain;f=flavors%2Fgl%2Fsource%2Fglstate.cpp;h=e33e49019bc6f660272a20b6cedd06fccef41354;hp=1459324232f36d3b6af583bfe1def2a3e0ffb22a;hb=76324b7394d25ba654e938eb33ee985532df7cc6;hpb=e7d4e2a75e75ff1a152912f0c19fb72ed63e81bc diff --git a/flavors/gl/source/glstate.cpp b/flavors/gl/source/glstate.cpp index 1459324..e33e490 100644 --- a/flavors/gl/source/glstate.cpp +++ b/flavors/gl/source/glstate.cpp @@ -127,6 +127,10 @@ GlState::GlState(): decoder->glBufferSubDataARB = glBufferSubData; decoder->glDeleteBuffers = glDeleteBuffers; decoder->glDeleteBuffersARB = glDeleteBuffers; + + decoder->glDrawElements = glDrawElements; + decoder->glDrawRangeElements = glDrawRangeElements; + decoder->glDrawRangeElementsEXT = glDrawRangeElements; } GlState::~GlState() @@ -412,3 +416,15 @@ void GlState::glDeleteBuffers(void *user_data, int count, const unsigned *ids) for(int i=0; i(user_data)->buffers.erase(ids[i]); } + +void GlState::glDrawElements(void *user_data, GLenum, int, GLenum type, const void *) +{ + if(BufferState *buf = reinterpret_cast(user_data)->element_buffer) + buf->content.update_elements(type); +} + +void GlState::glDrawRangeElements(void *user_data, GLenum, unsigned, unsigned, int, GLenum type, const void *) +{ + if(BufferState *buf = reinterpret_cast(user_data)->element_buffer) + buf->content.update_elements(type); +}