summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2014-09-04 20:47:40 -0700
committerJason Ekstrand <[email protected]>2014-09-05 10:04:06 -0700
commite49cfe9bfcdaed31dc701a9c2d544d571f1ad04e (patch)
tree5fadea5f10b271d47091b7a60c3d9f782f5e8fdc
parentef8477cddf9a6b1e13608e4fad9b55c86d0e5af4 (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.cpp10
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 *