mesa: remove/replace FLUSH_VERTICES when it doesn't do anything
authorMarek Olšák <marek.olsak@amd.com>
Sat, 19 Dec 2020 06:41:04 +0000 (01:41 -0500)
committerMarek Olšák <marek.olsak@amd.com>
Sat, 30 Jan 2021 21:23:53 +0000 (16:23 -0500)
In _mesa_PopAttrib, we call FLUSH_VERTICES at the beginning, so we don't
need to do it again.

In the MultiMode functions, we call standard Draw functions
using the dispatch, which do the flushing by themselves.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8181>

src/mesa/main/attrib.c
src/mesa/main/draw.c

index b1180ac..0002be8 100644 (file)
@@ -924,7 +924,7 @@ _mesa_PopAttrib(void)
                            (GLfloat) attr->Light.Model.ColorControl);
       } else {
          /* Fast path for other drivers. */
-         FLUSH_VERTICES(ctx, _NEW_LIGHT);
+         ctx->NewState |= _NEW_LIGHT;
 
          memcpy(ctx->Light.LightSource, attr->Light.LightSource,
                 sizeof(attr->Light.LightSource));
index 343b843..7a0cec6 100644 (file)
@@ -2184,8 +2184,6 @@ _mesa_MultiModeDrawArraysIBM( const GLenum * mode, const GLint * first,
    GET_CURRENT_CONTEXT(ctx);
    GLint i;
 
-   FLUSH_VERTICES(ctx, 0);
-
    for ( i = 0 ; i < primcount ; i++ ) {
       if ( count[i] > 0 ) {
          GLenum m = *((GLenum *) ((GLubyte *) mode + i * modestride));
@@ -2204,10 +2202,6 @@ _mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count,
    GET_CURRENT_CONTEXT(ctx);
    GLint i;
 
-   FLUSH_VERTICES(ctx, 0);
-
-   /* XXX not sure about ARB_vertex_buffer_object handling here */
-
    for ( i = 0 ; i < primcount ; i++ ) {
       if ( count[i] > 0 ) {
          GLenum m = *((GLenum *) ((GLubyte *) mode + i * modestride));