ref_gl: bring back glDrawRangeElements support

This commit is contained in:
Alibek Omarov 2019-11-17 18:51:03 +03:00
parent 4c6e64c89b
commit 3c3d5d472e
2 changed files with 24 additions and 1 deletions

View File

@ -615,6 +615,7 @@ enum
GL_DEPTH_TEXTURE,
GL_DEBUG_OUTPUT,
GL_ARB_VERTEX_BUFFER_OBJECT_EXT,
GL_DRAW_RANGEELEMENTS_EXT,
GL_EXTCOUNT, // must be last
};

View File

@ -243,7 +243,19 @@ static dllfunc_t vbofuncs[] =
{ GL_CALL( glUnmapBufferARB ) }, // ,
{ GL_CALL( glBufferDataARB ) },
{ GL_CALL( glBufferSubDataARB ) },
{ NULL, NULL}
{ NULL, NULL }
};
static dllfunc_t drawrangeelementsfuncs[] =
{
{ GL_CALL( glDrawRangeElements ) },
{ NULL, NULL }
};
static dllfunc_t drawrangeelementsextfuncs[] =
{
{ GL_CALL( glDrawRangeElementsEXT ) },
{ NULL, NULL }
};
/*
@ -581,6 +593,7 @@ void GL_InitExtensionsGLES( void )
// case GL_ARB_SEAMLESS_CUBEMAP: NOPE
// case GL_EXT_GPU_SHADER4: NOPE
// case GL_DEPTH_TEXTURE: NOPE
// case GL_DRAWRANGEELEMENTS_EXT: NOPE
default:
GL_SetExtension( extid, false );
}
@ -692,6 +705,15 @@ void GL_InitExtensionsBigGL( void )
// rectangle textures support
GL_CheckExtension( "GL_ARB_texture_rectangle", NULL, "gl_texture_rectangle", GL_TEXTURE_2D_RECT_EXT );
if( !GL_CheckExtension( "glDrawRangeElements", drawrangeelementsfuncs, "gl_drawrangeelements", GL_DRAW_RANGEELEMENTS_EXT ) )
{
if( GL_CheckExtension( "glDrawRangeElementsEXT", drawrangeelementsextfuncs,
"gl_drawrangelements", GL_DRAW_RANGEELEMENTS_EXT ) )
{
pglDrawRangeElements = pglDrawRangeElementsEXT;
}
}
// this won't work without extended context
if( glw_state.extended )
GL_CheckExtension( "GL_ARB_debug_output", debugoutputfuncs, "gl_debug_output", GL_DEBUG_OUTPUT );