Mesa (gallium-0.2): gallium: fix the test in vs_exec_prepare() to avoid redundant bindings

Brian Paul brianp at kemper.freedesktop.org
Wed Oct 15 18:03:12 UTC 2008


Module: Mesa
Branch: gallium-0.2
Commit: 05a8f203cdea768466e5faf1dec4155e1e945c78
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=05a8f203cdea768466e5faf1dec4155e1e945c78

Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Wed Oct 15 11:56:57 2008 -0600

gallium: fix the test in vs_exec_prepare() to avoid redundant bindings

Fixes regressions seen in progs/samples/prim.c, progs/demos/ray.c

---

 src/gallium/auxiliary/draw/draw_vs_exec.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_vs_exec.c b/src/gallium/auxiliary/draw/draw_vs_exec.c
index 79a19d6..13d4fcf 100644
--- a/src/gallium/auxiliary/draw/draw_vs_exec.c
+++ b/src/gallium/auxiliary/draw/draw_vs_exec.c
@@ -46,7 +46,6 @@
 struct exec_vertex_shader {
    struct draw_vertex_shader base;
    struct tgsi_exec_machine *machine;
-   const struct tgsi_token *machine_tokens;
 };
 
 static struct exec_vertex_shader *exec_vertex_shader( struct draw_vertex_shader *vs )
@@ -66,12 +65,11 @@ vs_exec_prepare( struct draw_vertex_shader *shader,
    /* Specify the vertex program to interpret/execute.
     * Avoid rebinding when possible.
     */
-   if (evs->machine_tokens != shader->state.tokens) {
+   if (evs->machine->Tokens != shader->state.tokens) {
       tgsi_exec_machine_bind_shader(evs->machine,
                                     shader->state.tokens,
                                     PIPE_MAX_SAMPLERS,
                                     NULL /*samplers*/ );
-      evs->machine_tokens = shader->state.tokens;
    }
 }
 




More information about the mesa-commit mailing list