diff options
| author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-09-07 19:02:10 +0200 | 
|---|---|---|
| committer | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-09-09 19:21:34 +0200 | 
| commit | d8dcff79702860eae92d3d35b461c9b71114c1c5 (patch) | |
| tree | a8bce900d3ec85fb199e55f2a96d0c4b25f71898 /src/gallium | |
| parent | d91b8865ec2bb41f9b58ad5ce2df7f6f48f98281 (diff) | |
nv50: don't parse again in tgsi_2_nc
Diffstat (limited to 'src/gallium')
| -rw-r--r-- | src/gallium/drivers/nv50/nv50_tgsi_to_nc.c | 18 | 
1 files changed, 3 insertions, 15 deletions
| diff --git a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c index dea8fa0663..983fcb2fbf 100644 --- a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c +++ b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c @@ -1849,6 +1849,7 @@ nv50_tgsi_to_nc(struct nv_pc *pc, struct nv50_translation_info *ti)  {     struct bld_context *bld = CALLOC_STRUCT(bld_context);     int c; +   unsigned ip;     pc->root[0] = pc->current_block = new_basic_block(pc); @@ -1865,21 +1866,8 @@ nv50_tgsi_to_nc(struct nv_pc *pc, struct nv50_translation_info *ti)        bld->frgcrd[3] = bld_insn_1(bld, NV_OP_RCP, bld->frgcrd[3]);     } -   tgsi_parse_init(&bld->parse[0], ti->p->pipe.tokens); - -   while (!tgsi_parse_end_of_tokens(&bld->parse[bld->call_lvl])) { -      const union tgsi_full_token *tok = &bld->parse[bld->call_lvl].FullToken; - -      tgsi_parse_token(&bld->parse[bld->call_lvl]); - -      switch (tok->Token.Type) { -      case TGSI_TOKEN_TYPE_INSTRUCTION: -         bld_instruction(bld, &tok->FullInstruction); -         break; -      default: -         break; -      } -   } +   for (ip = 0; ip < ti->inst_nr; ++ip) +      bld_instruction(bld, &ti->insns[ip]);     bld_free_value_trackers(&bld->tvs[0][0], BLD_MAX_TEMPS);     bld_free_value_trackers(&bld->avs[0][0], BLD_MAX_ADDRS); | 
