--- src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 26 +++++++++-------------- 1 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index c15db83..2f899db 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -1995,16 +1995,13 @@ vec4_visitor::get_scratch_offset(vec4_instruction *inst, if (reladdr) { src_reg index = src_reg(this, glsl_type::int_type); - vec4_instruction *add = emit(ADD(dst_reg(index), - *reladdr, - src_reg(reg_offset))); - /* Move our new instruction from the tail to its correct place. */ - add->remove(); + vec4_instruction *add = ADD(dst_reg(index), + *reladdr, + src_reg(reg_offset)); inst->insert_before(add); - vec4_instruction *mul = emit(MUL(dst_reg(index), - index, src_reg(message_header_scale))); - mul->remove(); + vec4_instruction *mul = MUL(dst_reg(index), + index, src_reg(message_header_scale)); inst->insert_before(mul); return index; @@ -2025,13 +2022,11 @@ vec4_visitor::emit_scratch_read(vec4_instruction *inst, int reg_offset = base_offset + orig_src.reg_offset; src_reg index = get_scratch_offset(inst, orig_src.reladdr, reg_offset); - vec4_instruction *scratch_read_inst = emit(VS_OPCODE_SCRATCH_READ, - temp, index); + vec4_instruction *scratch_read_inst = + new(mem_ctx) vec4_instruction(this, VS_OPCODE_SCRATCH_READ, temp, index); scratch_read_inst->base_mrf = 14; scratch_read_inst->mlen = 1; - /* Move our instruction from the tail to its correct place. */ - scratch_read_inst->remove(); inst->insert_before(scratch_read_inst); } @@ -2049,13 +2044,12 @@ vec4_visitor::emit_scratch_write(vec4_instruction *inst, dst_reg dst = dst_reg(brw_writemask(brw_vec8_grf(0, 0), orig_dst.writemask)); - vec4_instruction *scratch_write_inst = emit(VS_OPCODE_SCRATCH_WRITE, - dst, temp, index); + vec4_instruction *scratch_write_inst = + new(mem_ctx) vec4_instruction(this, VS_OPCODE_SCRATCH_WRITE, + dst, temp, index); scratch_write_inst->base_mrf = 13; scratch_write_inst->mlen = 2; scratch_write_inst->predicate = inst->predicate; - /* Move our instruction from the tail to its correct place. */ - scratch_write_inst->remove(); inst->insert_after(scratch_write_inst); } -- 1.7.5.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev