From db9c915abcc5ad78d2d11d0e732f04cc94631350 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 13 May 2014 21:00:35 -0700 Subject: [PATCH] i965/fs: Move c->last_scratch into fs_visitor. Nothing outside of fs_visitor uses it, so we may as well keep it internal. Signed-off-by: Kenneth Graunke Reviewed-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_fs.cpp | 4 ++-- src/mesa/drivers/dri/i965/brw_fs.h | 3 +++ src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 4 ++-- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 1 + src/mesa/drivers/dri/i965/brw_wm.h | 2 -- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index ea3c8dead53..7db5a456a53 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -3093,8 +3093,8 @@ 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 (last_scratch > 0) { + c->prog_data.total_scratch = brw_get_scratch_size(last_scratch); } if (dispatch_width == 8) diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 053046b7abf..4c8ed72aef8 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -511,6 +511,9 @@ public: /** Number of uniform variable components visited. */ unsigned uniforms; + /** Byte-offset for the next available spot in the scratch space buffer. */ + unsigned last_scratch; + /** * Array mapping UNIFORM register numbers to the pull parameter index, * or -1 if this uniform register isn't being uploaded as a pull constant. diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp index f2f158e6793..f51f0b89e99 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp @@ -647,7 +647,7 @@ fs_visitor::spill_reg(int spill_reg) { int reg_size = dispatch_width * sizeof(float); int size = virtual_grf_sizes[spill_reg]; - unsigned int spill_offset = c->last_scratch; + unsigned int spill_offset = last_scratch; assert(ALIGN(spill_offset, 16) == spill_offset); /* oword read/write req. */ int spill_base_mrf = dispatch_width > 8 ? 13 : 14; @@ -672,7 +672,7 @@ fs_visitor::spill_reg(int spill_reg) spilled_any_registers = true; } - c->last_scratch += size * reg_size; + last_scratch += size * reg_size; /* Generate spill/unspill instructions for the objects being * spilled. Right now, we spill or unspill the whole thing to a diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index d2dc5fa4e1b..307d07bb6e6 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -2986,6 +2986,7 @@ fs_visitor::fs_visitor(struct brw_context *brw, this->regs_live_at_ip = NULL; this->uniforms = 0; + this->last_scratch = 0; this->pull_constant_loc = NULL; this->push_constant_loc = NULL; diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index 9dfb23b5e61..871e34e1ac6 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -94,8 +94,6 @@ struct brw_wm_compile { uint8_t nr_payload_regs; GLuint source_depth_to_render_target:1; GLuint runtime_check_aads_emit:1; - - GLuint last_scratch; }; /** -- 2.30.2