diff options
author | Brian <brian@i915.localnet.net> | 2008-02-27 16:02:58 -0700 |
---|---|---|
committer | Brian <brian@i915.localnet.net> | 2008-02-27 16:02:58 -0700 |
commit | cddeca51adf0d2b736a223e47b60f6ef3be85bff (patch) | |
tree | 6aa036301dcd1cd5cb4488742427fec2f5c6d7b8 /src/gallium/auxiliary/draw/draw_vertex_shader.c | |
parent | 7df26d76d2a37e9e828296bfbcf7cec04bfbe233 (diff) |
gallium: remove dependencies on pipe_shader_state's semantic info
Use tgsi_scan_shader() to populate a tgsi_shader_info struct and use that instead.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_vertex_shader.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_vertex_shader.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vertex_shader.c b/src/gallium/auxiliary/draw/draw_vertex_shader.c index 5d2f5c9c43..1e95355555 100644 --- a/src/gallium/auxiliary/draw/draw_vertex_shader.c +++ b/src/gallium/auxiliary/draw/draw_vertex_shader.c @@ -91,15 +91,16 @@ draw_create_vertex_shader(struct draw_context *draw, struct draw_vertex_shader *vs; vs = draw_create_vs_llvm( draw, shader ); - if (vs) - return vs; + if (!vs) { + vs = draw_create_vs_sse( draw, shader ); + if (!vs) { + vs = draw_create_vs_exec( draw, shader ); + } + } + assert(vs); - vs = draw_create_vs_sse( draw, shader ); - if (vs) - return vs; + tgsi_scan_shader(shader->tokens, &vs->info); - vs = draw_create_vs_exec( draw, shader ); - assert(vs); return vs; } @@ -111,7 +112,7 @@ draw_bind_vertex_shader(struct draw_context *draw, draw_do_flush( draw, DRAW_FLUSH_STATE_CHANGE ); draw->vertex_shader = dvs; - draw->num_vs_outputs = dvs->state->num_outputs; + draw->num_vs_outputs = dvs->info.num_outputs; tgsi_exec_machine_init(&draw->machine); |