diff options
author | Marek Olšák <[email protected]> | 2012-04-03 22:37:30 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-04-04 04:28:40 +0200 |
commit | 5ce0598a034179eaacff96f39eaebf0ba0f30d4c (patch) | |
tree | a50f4a45f05cf9bf24527658799f7ddc96fcbba4 /src/gallium/drivers/r300/r300_vs.c | |
parent | 9ba3cecaa02eba07bc6456c441126e4e2e823da5 (diff) |
r300g/swtcl: don't print an error when getting ClipVertex
Draw can do it just fine.
Diffstat (limited to 'src/gallium/drivers/r300/r300_vs.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_vs.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/gallium/drivers/r300/r300_vs.c b/src/gallium/drivers/r300/r300_vs.c index 1eef071c87f..4faf2b58b0f 100644 --- a/src/gallium/drivers/r300/r300_vs.c +++ b/src/gallium/drivers/r300/r300_vs.c @@ -36,6 +36,7 @@ /* Convert info about VS output semantics into r300_shader_semantics. */ static void r300_shader_read_vs_outputs( + struct r300_context *r300, struct tgsi_shader_info* info, struct r300_shader_semantics* vs_outputs) { @@ -83,6 +84,14 @@ static void r300_shader_read_vs_outputs( fprintf(stderr, "r300 VP: cannot handle edgeflag output.\n"); break; + case TGSI_SEMANTIC_CLIPVERTEX: + assert(index == 0); + /* Draw does clip vertex for us. */ + if (r300->screen->caps.has_tcl) { + fprintf(stderr, "r300 VP: cannot handle clip vertex output.\n"); + } + break; + default: fprintf(stderr, "r300 VP: unknown vertex output semantic: %i.\n", info->output_semantic_name[i]); @@ -160,10 +169,11 @@ static void set_vertex_inputs_outputs(struct r300_vertex_program_compiler * c) c->code->outputs[outputs->wpos] = reg++; } -void r300_init_vs_outputs(struct r300_vertex_shader *vs) +void r300_init_vs_outputs(struct r300_context *r300, + struct r300_vertex_shader *vs) { tgsi_scan_shader(vs->state.tokens, &vs->info); - r300_shader_read_vs_outputs(&vs->info, &vs->outputs); + r300_shader_read_vs_outputs(r300, &vs->info, &vs->outputs); } static void r300_dummy_vertex_shader( @@ -187,7 +197,7 @@ static void r300_dummy_vertex_shader( ureg_destroy(ureg); shader->dummy = TRUE; - r300_init_vs_outputs(shader); + r300_init_vs_outputs(r300, shader); r300_translate_vertex_shader(r300, shader); } |