Displaying 2 results from an estimated 2 matches for "temparrayid".
2016 Jan 14
0
[PATCH] nv50/ir: rebase indirect temp arrays to 0, so that we use less lmem space
...@@ public:
std::set<Location> locals;
std::set<int> indirectTempArrays;
+ struct TempBase {
+ int oldBase, newBase;
+ };
+ std::map<int, TempBase> indirectTempBases;
+ std::map<int, std::pair<int, int> > tempArrayInfo;
std::vector<int> tempArrayId;
int clipVertexOutput;
@@ -949,9 +954,19 @@ bool Source::scanSource()
}
tgsi_parse_free(&parse);
- // TODO: Compute based on relevant array sizes
- if (indirectTempArrays.size())
- info->bin.tlsSpace += (scan.file_max[TGSI_FILE_TEMPORARY] + 1) * 16;
+ if (indirectT...
2016 Jan 14
0
[PATCH] nv50/ir: only use FILE_LOCAL_MEMORY for temp arrays that use indirection
...r reg;
const struct tgsi_full_dst_register *fdr;
@@ -826,7 +840,8 @@ public:
// these registers are per-subroutine, cannot be used for parameter passing
std::set<Location> locals;
- bool mainTempsInLMem;
+ std::set<int> indirectTempArrays;
+ std::vector<int> tempArrayId;
int clipVertexOutput;
@@ -859,8 +874,6 @@ Source::Source(struct nv50_ir_prog_info *prog) : info(prog)
if (prog->dbgFlags & NV50_IR_DEBUG_BASIC)
tgsi_dump(tokens, 0);
-
- mainTempsInLMem = false;
}
Source::~Source()
@@ -890,6 +903,7 @@ bool Source::scanSource()...