From: Marek Olšák Date: Sat, 1 Oct 2011 23:55:58 +0000 (+0200) Subject: r600g: fix parsing TGSI declarations X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=024ac93e60921295ee7a49de1782eeaffd597fa0;p=mesa.git r600g: fix parsing TGSI declarations It was a lucky coincidence that it worked. --- diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 39b48c4167b..12803559472 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -339,7 +339,7 @@ static int tgsi_declaration(struct r600_shader_ctx *ctx) ctx->shader->input[i].sid = d->Semantic.Index; ctx->shader->input[i].interpolate = d->Declaration.Interpolate; ctx->shader->input[i].centroid = d->Declaration.Centroid; - ctx->shader->input[i].gpr = ctx->file_offset[TGSI_FILE_INPUT] + i; + ctx->shader->input[i].gpr = ctx->file_offset[TGSI_FILE_INPUT] + d->Range.First; if (ctx->type == TGSI_PROCESSOR_FRAGMENT && ctx->bc->chip_class >= EVERGREEN) { /* turn input into interpolate on EG */ if (ctx->shader->input[i].name != TGSI_SEMANTIC_POSITION && @@ -357,7 +357,7 @@ static int tgsi_declaration(struct r600_shader_ctx *ctx) i = ctx->shader->noutput++; ctx->shader->output[i].name = d->Semantic.Name; ctx->shader->output[i].sid = d->Semantic.Index; - ctx->shader->output[i].gpr = ctx->file_offset[TGSI_FILE_OUTPUT] + i; + ctx->shader->output[i].gpr = ctx->file_offset[TGSI_FILE_OUTPUT] + d->Range.First; ctx->shader->output[i].interpolate = d->Declaration.Interpolate; if (ctx->type == TGSI_PROCESSOR_VERTEX) { /* these don't count as vertex param exports */