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.
This commit is contained in:
Brian
2008-01-14 19:12:46 -07:00
parent b4e4fafb41
commit ac95fee4ff
9 changed files with 43 additions and 32 deletions

View File

@@ -57,7 +57,7 @@
* \param tokensOut destination for TGSI tokens
* \return pointer to cached pipe_shader object.
*/
const struct cso_vertex_shader *
void
st_translate_vertex_program(struct st_context *st,
struct st_vertex_program *stvp,
const GLuint outputMapping[],
@@ -256,12 +256,10 @@ st_translate_vertex_program(struct st_context *st,
vs.tokens = tokensOut;
cso = st_cached_vs_state(st, &vs);
stvp->vs = cso;
stvp->cso = cso;
if (TGSI_DEBUG)
tgsi_dump( tokensOut, 0 );
return cso;
}