From da8e3a1dd04a5ac29bcaa9582430c58a769ac571 Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Wed, 6 Jun 2018 05:41:58 +0300 Subject: [PATCH] glDrawRangeElements in dbg_gui to shut the intel performance warnings up --- src/dbg_gui.cc | 7 ++++++- src/opengl.c | 1 + src/opengl.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/dbg_gui.cc b/src/dbg_gui.cc index c1abce3..6a6511f 100644 --- a/src/dbg_gui.cc +++ b/src/dbg_gui.cc @@ -149,7 +149,12 @@ static void render_func(ImDrawData *ddat) glTexCoordPointer(2, GL_FLOAT, sizeof *vbuf, &vbuf[0].uv); glColorPointer(4, GL_UNSIGNED_BYTE, sizeof *vbuf, &vbuf[0].col); - glDrawElements(GL_TRIANGLES, cmd->ElemCount, GL_UNSIGNED_SHORT, ibuf); + if(glcaps.draw_range) { + int max_vidx = cmdlist->VtxBuffer.Size - 1; + glDrawRangeElements(GL_TRIANGLES, 0, max_vidx, cmd->ElemCount, GL_UNSIGNED_SHORT, ibuf); + } else { + glDrawElements(GL_TRIANGLES, cmd->ElemCount, GL_UNSIGNED_SHORT, ibuf); + } glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_TEXTURE_COORD_ARRAY); diff --git a/src/opengl.c b/src/opengl.c index a7962c7..80f712d 100644 --- a/src/opengl.c +++ b/src/opengl.c @@ -17,6 +17,7 @@ int init_opengl(void) glewInit(); glcaps.debug = GLEW_ARB_debug_output; + glcaps.draw_range = GLEW_EXT_draw_range_elements; #ifndef NDEBUG if(glcaps.debug) { diff --git a/src/opengl.h b/src/opengl.h index 51d365a..c342384 100644 --- a/src/opengl.h +++ b/src/opengl.h @@ -5,6 +5,7 @@ struct GLCaps { int debug; /* ARB_debug_output */ + int draw_range; /* EXT_draw_range_elements */ }; extern struct GLCaps glcaps; -- 1.7.10.4