diff options
author | Michel Dänzer <[email protected]> | 2014-01-09 16:10:49 +0900 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2014-01-29 11:07:35 +0900 |
commit | 8afde9fa23db6ac1802f7a2c74123f10db96f552 (patch) | |
tree | fcdc2b0435bb9d28fd030acd533cf19e40bf1690 /src/gallium/drivers/radeonsi/si_shader.c | |
parent | 28630713b2773a362f06be91818593e310215288 (diff) |
radeonsi: Take GS into account for VS state in more places
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 6788255f62b..227d6829926 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -2330,6 +2330,7 @@ static int si_generate_gs_copy_shader(struct si_context *sctx, struct lp_build_tgsi_context *bld_base = &si_shader_ctx->radeon_bld.soa.bld_base; struct lp_build_context *base = &bld_base->base; struct lp_build_context *uint = &bld_base->uint_bld; + struct si_shader *shader = &si_shader_ctx->shader->shader; struct si_shader *gs = &si_shader_ctx->shader->selector->current->shader; struct si_shader_output_values *outputs; LLVMValueRef t_list_ptr, t_list; @@ -2370,6 +2371,8 @@ static int si_generate_gs_copy_shader(struct si_context *sctx, struct si_shader_output *out = gs->output + i; unsigned chan; + shader->output[i] = *out; + outputs[i].name = out->name; outputs[i].index = out->index; outputs[i].usage = out->usage; @@ -2389,6 +2392,7 @@ static int si_generate_gs_copy_shader(struct si_context *sctx, base->elem_type, ""); } } + shader->noutput = gs->noutput; si_llvm_export_vs(bld_base, outputs, gs->noutput); |