diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 8 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs.h | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 682837ffa6a..59428a19210 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -2443,6 +2443,8 @@ vec4_visitor::get_pull_constant_offset(vec4_instruction *inst, /** * Emits an instruction before @inst to load the value named by @orig_src * from scratch space at @base_offset to @temp. + * + * @base_offset is measured in 32-byte units (the size of a register). */ void vec4_visitor::emit_scratch_read(vec4_instruction *inst, @@ -2458,6 +2460,8 @@ vec4_visitor::emit_scratch_read(vec4_instruction *inst, /** * Emits an instruction after @inst to store the value to be written * to @orig_dst to scratch space at @base_offset, from @temp. + * + * @base_offset is measured in 32-byte units (the size of a register). */ void vec4_visitor::emit_scratch_write(vec4_instruction *inst, @@ -2501,7 +2505,7 @@ vec4_visitor::move_grf_array_access_to_scratch() if (inst->dst.file == GRF && inst->dst.reladdr && scratch_loc[inst->dst.reg] == -1) { scratch_loc[inst->dst.reg] = c->last_scratch; - c->last_scratch += this->virtual_grf_sizes[inst->dst.reg] * 8 * 4; + c->last_scratch += this->virtual_grf_sizes[inst->dst.reg]; } for (int i = 0 ; i < 3; i++) { @@ -2510,7 +2514,7 @@ vec4_visitor::move_grf_array_access_to_scratch() if (src->file == GRF && src->reladdr && scratch_loc[src->reg] == -1) { scratch_loc[src->reg] = c->last_scratch; - c->last_scratch += this->virtual_grf_sizes[src->reg] * 8 * 4; + c->last_scratch += this->virtual_grf_sizes[src->reg]; } } } diff --git a/src/mesa/drivers/dri/i965/brw_vs.c b/src/mesa/drivers/dri/i965/brw_vs.c index 4507f6c1c4c..4e950742099 100644 --- a/src/mesa/drivers/dri/i965/brw_vs.c +++ b/src/mesa/drivers/dri/i965/brw_vs.c @@ -306,7 +306,7 @@ do_vs_prog(struct brw_context *brw, "Try reducing the number of live vec4 values to " "improve performance.\n"); - c.prog_data.total_scratch = brw_get_scratch_size(c.last_scratch); + c.prog_data.total_scratch = brw_get_scratch_size(c.last_scratch*REG_SIZE); brw_get_scratch_bo(intel, &brw->vs.scratch_bo, c.prog_data.total_scratch * brw->max_vs_threads); diff --git a/src/mesa/drivers/dri/i965/brw_vs.h b/src/mesa/drivers/dri/i965/brw_vs.h index e04247f3035..adeff7ff6de 100644 --- a/src/mesa/drivers/dri/i965/brw_vs.h +++ b/src/mesa/drivers/dri/i965/brw_vs.h @@ -93,7 +93,7 @@ struct brw_vs_compile { GLuint nr_inputs; GLuint first_output; - GLuint last_scratch; + GLuint last_scratch; /**< measured in 32-byte (register size) units */ GLuint first_tmp; GLuint last_tmp; |