i965/fs: Move total_scratch calculation into fs_visitor::run().

With this one use gone, c->last_scratch is now only used inside
fs_visitor.  The rest of the driver uses prog_data->total_scratch.

We already compute similar prog_data fields in fs_visitor, so this
seems reasonable.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
This commit is contained in:
Kenneth Graunke 2014-05-13 20:51:32 -07:00
parent c51163b0cf
commit 7e28bd797d
2 changed files with 5 additions and 4 deletions

View File

@ -3093,6 +3093,10 @@ fs_visitor::run()
if (!allocated_without_spills)
schedule_instructions(SCHEDULE_POST);
if (c->last_scratch > 0) {
c->prog_data.total_scratch = brw_get_scratch_size(c->last_scratch);
}
if (dispatch_width == 8)
c->prog_data.reg_blocks = brw_register_blocks(grf_used);
else

View File

@ -184,10 +184,7 @@ bool do_wm_prog(struct brw_context *brw,
if (program == NULL)
return false;
/* Scratch space is used for register spilling */
if (c->last_scratch) {
c->prog_data.total_scratch = brw_get_scratch_size(c->last_scratch);
if (c->prog_data.total_scratch) {
brw_get_scratch_bo(brw, &brw->wm.base.scratch_bo,
c->prog_data.total_scratch * brw->max_wm_threads);
}