Mesa (master): st/mesa: remove dependency on _NEW_BUFFER_OBJECT for vertex arrays

Marek Olšák mareko at kemper.freedesktop.org
Sat May 11 21:59:59 UTC 2013


Module: Mesa
Branch: master
Commit: f486c52f9e798ea59582e3a346e8e01980550e0c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f486c52f9e798ea59582e3a346e8e01980550e0c

Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Apr 26 14:45:06 2013 +0200

st/mesa: remove dependency on _NEW_BUFFER_OBJECT for vertex arrays

_NEW_BUFFER_OBJECT means glBufferData was called. We can just set our own
flag in BufferData.

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/state_tracker/st_atom_array.c       |    2 +-
 src/mesa/state_tracker/st_cb_bufferobjects.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_array.c b/src/mesa/state_tracker/st_atom_array.c
index 2437245..87a0a17 100644
--- a/src/mesa/state_tracker/st_atom_array.c
+++ b/src/mesa/state_tracker/st_atom_array.c
@@ -589,7 +589,7 @@ static void update_array(struct st_context *st)
 const struct st_tracked_state st_update_array = {
    "st_update_array",					/* name */
    {							/* dirty */
-      _NEW_BUFFER_OBJECT,                               /* mesa */
+      0,                                                /* mesa */
       ST_NEW_VERTEX_ARRAYS | ST_NEW_VERTEX_PROGRAM,     /* st */
    },
    update_array						/* update */
diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c
index c868d5e..2e5e253 100644
--- a/src/mesa/state_tracker/st_cb_bufferobjects.c
+++ b/src/mesa/state_tracker/st_cb_bufferobjects.c
@@ -264,8 +264,8 @@ st_bufferobj_data(struct gl_context *ctx,
          pipe_buffer_write(pipe, st_obj->buffer, 0, size, data);
    }
 
-   /* BufferData may change a uniform buffer, need to update it */
-   st->dirty.st |= ST_NEW_UNIFORM_BUFFER;
+   /* BufferData may change an array or uniform buffer, need to update it */
+   st->dirty.st |= ST_NEW_VERTEX_ARRAYS | ST_NEW_UNIFORM_BUFFER;
 
    return GL_TRUE;
 }




More information about the mesa-commit mailing list