Module: Mesa Branch: main Commit: 2b8d764a763d7a0d9848f3b941ab5954f816985e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b8d764a763d7a0d9848f3b941ab5954f816985e
Author: Marek Olšák <[email protected]> Date: Thu Dec 7 00:48:24 2023 -0500 mesa: remove some DrawElementsInstanced duplication Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26619> --- src/mesa/main/draw.c | 59 ++++++++-------------------------------------------- 1 file changed, 9 insertions(+), 50 deletions(-) diff --git a/src/mesa/main/draw.c b/src/mesa/main/draw.c index c1c4d38f411..4ab322fa3f8 100644 --- a/src/mesa/main/draw.c +++ b/src/mesa/main/draw.c @@ -1869,22 +1869,9 @@ void GLAPIENTRY _mesa_DrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei numInstances) { - GET_CURRENT_CONTEXT(ctx); - FLUSH_FOR_DRAW(ctx); - - _mesa_set_varying_vp_inputs(ctx, ctx->VertexProgram._VPModeInputFilter & - ctx->Array._DrawVAO->_EnabledWithMapMode); - if (ctx->NewState) - _mesa_update_state(ctx); - - if (!_mesa_is_no_error_enabled(ctx) && - !_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, - numInstances)) - return; - - _mesa_validated_drawrangeelements(ctx, ctx->Array.VAO->IndexBufferObj, - mode, false, 0, ~0, - count, type, indices, 0, numInstances, 0); + _mesa_DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, + indices, numInstances, + 0, 0); } @@ -1897,23 +1884,9 @@ _mesa_DrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLsizei numInstances, GLint basevertex) { - GET_CURRENT_CONTEXT(ctx); - FLUSH_FOR_DRAW(ctx); - - _mesa_set_varying_vp_inputs(ctx, ctx->VertexProgram._VPModeInputFilter & - ctx->Array._DrawVAO->_EnabledWithMapMode); - if (ctx->NewState) - _mesa_update_state(ctx); - - if (!_mesa_is_no_error_enabled(ctx) && - !_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, - numInstances)) - return; - - _mesa_validated_drawrangeelements(ctx, ctx->Array.VAO->IndexBufferObj, - mode, false, 0, ~0, - count, type, indices, - basevertex, numInstances, 0); + _mesa_DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, + indices, numInstances, + basevertex, 0); } @@ -1927,23 +1900,9 @@ _mesa_DrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLsizei numInstances, GLuint baseInstance) { - GET_CURRENT_CONTEXT(ctx); - FLUSH_FOR_DRAW(ctx); - - _mesa_set_varying_vp_inputs(ctx, ctx->VertexProgram._VPModeInputFilter & - ctx->Array._DrawVAO->_EnabledWithMapMode); - if (ctx->NewState) - _mesa_update_state(ctx); - - if (!_mesa_is_no_error_enabled(ctx) && - !_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, - numInstances)) - return; - - _mesa_validated_drawrangeelements(ctx, ctx->Array.VAO->IndexBufferObj, - mode, false, 0, ~0, - count, type, indices, 0, numInstances, - baseInstance); + _mesa_DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, + indices, numInstances, + 0, baseInstance); }
