summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_clear.c
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2008-01-14 19:12:46 -0700
committerBrian <brian.paul@tungstengraphics.com>2008-01-14 19:13:34 -0700
commitac95fee4fffee77bb7bd798d094ed2e3a7c4019b (patch)
treedb6569f204ba1414d11c7bf4be8b47dafb7c2b0c /src/mesa/state_tracker/st_cb_clear.c
parentb4e4fafb4157d416077e985c03204ed5bbe0f2e1 (diff)
Fix problems with vertex shaders and the private draw module.
The CSO returned by pipe->create_vs_state() can't be passed to the private draw module. That was causing glRasterPos to blow up. Add a 'draw_shader' field to st_vertex_program for use with the private draw module. Change st_context->state.vs type from cso_vertex_shader to st_vertex_program.
Diffstat (limited to 'src/mesa/state_tracker/st_cb_clear.c')
-rw-r--r--src/mesa/state_tracker/st_cb_clear.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/state_tracker/st_cb_clear.c b/src/mesa/state_tracker/st_cb_clear.c
index 40319f4b4b..758d4a4086 100644
--- a/src/mesa/state_tracker/st_cb_clear.c
+++ b/src/mesa/state_tracker/st_cb_clear.c
@@ -208,7 +208,7 @@ make_vertex_shader(struct st_context *st)
stvp = (struct st_vertex_program *) p;
st_translate_vertex_program(st, stvp, NULL,
stvp->tokens, ST_MAX_SHADER_TOKENS);
- assert(stvp->vs);
+ assert(stvp->cso);
return stvp;
}
@@ -350,7 +350,7 @@ clear_with_quad(GLcontext *ctx,
if (!stvp) {
stvp = make_vertex_shader(st);
}
- pipe->bind_vs_state(pipe, stvp->vs->data);
+ pipe->bind_vs_state(pipe, stvp->cso->data);
}
/* viewport state: viewport matching window dims */
@@ -376,7 +376,7 @@ clear_with_quad(GLcontext *ctx,
pipe->bind_blend_state(pipe, st->state.blend->data);
pipe->bind_depth_stencil_alpha_state(pipe, st->state.depth_stencil->data);
pipe->bind_fs_state(pipe, st->state.fs->data);
- pipe->bind_vs_state(pipe, st->state.vs->data);
+ pipe->bind_vs_state(pipe, st->state.vs->cso->data);
pipe->bind_rasterizer_state(pipe, st->state.rasterizer->data);
pipe->set_viewport_state(pipe, &st->state.viewport);
/* OR: