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);
 }
 
 

Reply via email to