Module: wine Branch: master Commit: 84a1e60e48d99efdaa6d7f4648d51bf938a98f98 URL: http://source.winehq.org/git/wine.git/?a=commit;h=84a1e60e48d99efdaa6d7f4648... Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Mon Nov 4 12:38:33 2013 +0100 wined3d: Check for support before calling glDrawElementsInstancedBaseVertex. --- dlls/wined3d/drawprim.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c index 3c9a780..2475644 100644 --- a/dlls/wined3d/drawprim.c +++ b/dlls/wined3d/drawprim.c @@ -52,9 +52,18 @@ static void drawStridedFast(const struct wined3d_gl_info *gl_info, GLenum primit { if (start_instance) FIXME("Start instance (%u) not supported.\n", start_instance); - GL_EXTCALL(glDrawElementsInstancedBaseVertex(primitive_type, count, idxtype, - (const char *)idx_data + (idx_size * start_idx), instance_count, base_vertex_index)); - checkGLcall("glDrawElementsInstancedBaseVertex"); + if (gl_info->supported[ARB_DRAW_ELEMENTS_BASE_VERTEX]) + { + GL_EXTCALL(glDrawElementsInstancedBaseVertex(primitive_type, count, idxtype, + (const char *)idx_data + (idx_size * start_idx), instance_count, base_vertex_index)); + checkGLcall("glDrawElementsInstancedBaseVertex"); + } + else + { + GL_EXTCALL(glDrawElementsInstancedARB(primitive_type, count, idxtype, + (const char *)idx_data + (idx_size * start_idx), instance_count)); + checkGLcall("glDrawElementsInstancedARB"); + } } } else if (gl_info->supported[ARB_DRAW_ELEMENTS_BASE_VERTEX])