GL/Context: Use GL_OES_draw_elements_base_vertex if GLES3.2 is missing
This commit is contained in:
parent
2231af2dfc
commit
564a9bdeb4
|
@ -77,6 +77,14 @@ static void DisableBrokenExtensions(const char* gl_vendor, const char* gl_render
|
|||
GLAD_GL_EXT_disjoint_timer_query = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// If we're missing GLES 3.2, but have OES_draw_elements_base_vertex, redirect the function pointers.
|
||||
if (!glad_glDrawElementsBaseVertex && GLAD_GL_OES_draw_elements_base_vertex && !GLAD_GL_ES_VERSION_3_2)
|
||||
{
|
||||
glad_glDrawElementsBaseVertex = glad_glDrawElementsBaseVertexOES;
|
||||
glad_glDrawRangeElementsBaseVertex = glad_glDrawRangeElementsBaseVertexOES;
|
||||
glad_glDrawElementsInstancedBaseVertex = glad_glDrawElementsInstancedBaseVertexOES;
|
||||
}
|
||||
}
|
||||
|
||||
Context::Context(const WindowInfo& wi) : m_wi(wi) {}
|
||||
|
|
|
@ -106,6 +106,8 @@
|
|||
// GL includes
|
||||
#include "common/gl/loader.h"
|
||||
#include "common/gl/texture.h"
|
||||
#include "common/log.h"
|
||||
Log_SetChannel(ImGui_ImplOpenGL3);
|
||||
|
||||
// OpenGL Data
|
||||
struct ImGui_ImplOpenGL3_Data
|
||||
|
@ -168,6 +170,13 @@ bool ImGui_ImplOpenGL3_Init(const char* glsl_version)
|
|||
IM_ASSERT((int)strlen(glsl_version) + 2 < IM_ARRAYSIZE(bd->GlslVersionString));
|
||||
strcpy(bd->GlslVersionString, glsl_version);
|
||||
strcat(bd->GlslVersionString, "\n");
|
||||
|
||||
if (!glDrawElementsBaseVertex)
|
||||
{
|
||||
Log_ErrorPrintf("Missing glDrawElementsBaseVertex()");
|
||||
return false;
|
||||
}
|
||||
|
||||
return ImGui_ImplOpenGL3_CreateDeviceObjects();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue