[Mesa-dev] [PATCH] u_vbuf: avoid unnecessary update of the vertex elements

Vadim Girlin vadimgirlin at gmail.com
Mon Aug 27 17:36:30 PDT 2012


Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
---

Improves performance for Lightsmark (and probably other apps).

 src/gallium/auxiliary/util/u_vbuf.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/util/u_vbuf.c b/src/gallium/auxiliary/util/u_vbuf.c
index 4141ba5..52db294 100644
--- a/src/gallium/auxiliary/util/u_vbuf.c
+++ b/src/gallium/auxiliary/util/u_vbuf.c
@@ -225,7 +225,9 @@ u_vbuf_set_vertex_elements_internal(struct u_vbuf *mgr, unsigned count,
    }
 
    assert(ve);
-   pipe->bind_vertex_elements_state(pipe, ve->driver_cso);
+
+   if (ve != mgr->ve)
+	   pipe->bind_vertex_elements_state(pipe, ve->driver_cso);
    return ve;
 }
 
-- 
1.7.11.4



More information about the mesa-dev mailing list