diff options
author | Jason Ekstrand <[email protected]> | 2014-09-04 20:47:40 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2014-09-05 10:04:06 -0700 |
commit | e49cfe9bfcdaed31dc701a9c2d544d571f1ad04e (patch) | |
tree | 5fadea5f10b271d47091b7a60c3d9f782f5e8fdc | |
parent | ef8477cddf9a6b1e13608e4fad9b55c86d0e5af4 (diff) |
i965/fs: Clean up emitting of untyped atomic and surface reads
Signed-off-by: Jason Ekstrand <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 8426ad38952..0206fb0c1d2 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -2685,6 +2685,7 @@ fs_visitor::emit_untyped_atomic(unsigned atomic_op, unsigned surf_index, { const unsigned operand_len = dispatch_width / 8; unsigned mlen = 0; + fs_inst *inst; /* Initialize the sample mask in the message header. */ emit(MOV(brw_uvec_mrf(8, mlen, 0), fs_reg(0u))) @@ -2717,12 +2718,10 @@ fs_visitor::emit_untyped_atomic(unsigned atomic_op, unsigned surf_index, } /* Emit the instruction. */ - fs_inst *inst = new(mem_ctx) fs_inst(SHADER_OPCODE_UNTYPED_ATOMIC, dst, - atomic_op, surf_index); + inst = emit(SHADER_OPCODE_UNTYPED_ATOMIC, dst, atomic_op, surf_index); inst->base_mrf = 0; inst->mlen = mlen; inst->header_present = true; - emit(inst); } void @@ -2731,6 +2730,7 @@ fs_visitor::emit_untyped_surface_read(unsigned surf_index, fs_reg dst, { const unsigned operand_len = dispatch_width / 8; unsigned mlen = 0; + fs_inst *inst; /* Initialize the sample mask in the message header. */ emit(MOV(brw_uvec_mrf(8, mlen, 0), fs_reg(0u))) @@ -2752,12 +2752,10 @@ fs_visitor::emit_untyped_surface_read(unsigned surf_index, fs_reg dst, mlen += operand_len; /* Emit the instruction. */ - fs_inst *inst = new(mem_ctx) - fs_inst(SHADER_OPCODE_UNTYPED_SURFACE_READ, dst, surf_index); + inst = emit(SHADER_OPCODE_UNTYPED_SURFACE_READ, dst, surf_index); inst->base_mrf = 0; inst->mlen = mlen; inst->header_present = true; - emit(inst); } fs_inst * |