summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-10-15 11:56:57 -0600
committerBrian Paul <[email protected]>2008-10-15 12:00:48 -0600
commit05a8f203cdea768466e5faf1dec4155e1e945c78 (patch)
treecee3ec8bbaef1348a88321c3c8300265cd0371c0
parenta7f06dae20c173a0edbb1d310b5f6b06068a61b0 (diff)
gallium: fix the test in vs_exec_prepare() to avoid redundant bindings
Fixes regressions seen in progs/samples/prim.c, progs/demos/ray.c
-rw-r--r--src/gallium/auxiliary/draw/draw_vs_exec.c4
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 79a19d6be2b..13d4fcfdbf6 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;
}
}