diff options
author | Francisco Jerez <[email protected]> | 2015-02-03 22:52:37 +0200 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2015-02-10 19:09:25 +0200 |
commit | 530445330b403d835a4027b41388b5eea8c2e1ab (patch) | |
tree | f74a888e83069a56d3faa44bbc0344ea58ff1f89 | |
parent | 5f878d1b470e5307ec18ca409e73b1a81e8361fa (diff) |
i965/vec4: Init mlen for several send from GRF instructions.
Reviewed-by: Matt Turner <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4.cpp | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 11 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_vp.cpp | 1 |
3 files changed, 11 insertions, 5 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp index cdd8a446286..be5f8f4384c 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp @@ -1761,7 +1761,9 @@ vec4_visitor::emit_shader_time_write(enum shader_time_shader_type type, time.type = BRW_REGISTER_TYPE_UD; emit(MOV(time, src_reg(value))); - emit(SHADER_OPCODE_SHADER_TIME_ADD, dst_reg(), src_reg(dst)); + vec4_instruction *inst = + emit(SHADER_OPCODE_SHADER_TIME_ADD, dst_reg(), src_reg(dst)); + inst->mlen = 2; } bool diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 307f81f601c..432c2182d3d 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -1751,10 +1751,12 @@ vec4_visitor::visit(ir_expression *ir) emit(MOV(grf_offset, offset)); - emit(new(mem_ctx) vec4_instruction(VS_OPCODE_PULL_CONSTANT_LOAD_GEN7, - dst_reg(packed_consts), - surf_index, - src_reg(grf_offset))); + vec4_instruction *pull = + emit(new(mem_ctx) vec4_instruction(VS_OPCODE_PULL_CONSTANT_LOAD_GEN7, + dst_reg(packed_consts), + surf_index, + src_reg(grf_offset))); + pull->mlen = 1; } else { vec4_instruction *pull = emit(new(mem_ctx) vec4_instruction(VS_OPCODE_PULL_CONSTANT_LOAD, @@ -3431,6 +3433,7 @@ vec4_visitor::emit_pull_constant_load(bblock_t *block, vec4_instruction *inst, load = new(mem_ctx) vec4_instruction(VS_OPCODE_PULL_CONSTANT_LOAD_GEN7, temp, index, src_reg(grf_offset)); + load->mlen = 1; } else { load = new(mem_ctx) vec4_instruction(VS_OPCODE_PULL_CONSTANT_LOAD, temp, index, offset); diff --git a/src/mesa/drivers/dri/i965/brw_vec4_vp.cpp b/src/mesa/drivers/dri/i965/brw_vec4_vp.cpp index 5d9027b2ea6..edd92ed3680 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_vp.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_vp.cpp @@ -550,6 +550,7 @@ vec4_vs_visitor::get_vp_src_reg(const prog_src_register &src) load = new(mem_ctx) vec4_instruction(VS_OPCODE_PULL_CONSTANT_LOAD_GEN7, dst_reg(result), surf_index, reladdr); + load->mlen = 1; } else { load = new(mem_ctx) vec4_instruction(VS_OPCODE_PULL_CONSTANT_LOAD, |