From: Chris Forbes Date: Sun, 3 Aug 2014 08:48:20 +0000 (+1200) Subject: i965/fs: Collect all emits of texture ops for Gen4 into one place X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d1b136fdd0312a53691f8788b17b01ae967351f4;p=mesa.git i965/fs: Collect all emits of texture ops for Gen4 into one place Reduces duplication, and will do so even more when we change the sampler plumbing. Signed-off-by: Chris Forbes Reviewed-by: Matt Turner Reviewed-by: Ian Romanick --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 752e5a413ec..0e090870dae 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -1227,29 +1227,20 @@ fs_visitor::emit_texture_gen4(ir_texture *ir, fs_reg dst, fs_reg coordinate, BRW_REGISTER_TYPE_F)); } - fs_inst *inst = NULL; + enum opcode opcode; + switch (ir->op) { - case ir_tex: - inst = emit(SHADER_OPCODE_TEX, dst, reg_undef); - break; - case ir_txb: - inst = emit(FS_OPCODE_TXB, dst, reg_undef); - break; - case ir_txl: - inst = emit(SHADER_OPCODE_TXL, dst, reg_undef); - break; - case ir_txd: - inst = emit(SHADER_OPCODE_TXD, dst, reg_undef); - break; - case ir_txs: - inst = emit(SHADER_OPCODE_TXS, dst, reg_undef); - break; - case ir_txf: - inst = emit(SHADER_OPCODE_TXF, dst, reg_undef); - break; + case ir_tex: opcode = SHADER_OPCODE_TEX; break; + case ir_txb: opcode = FS_OPCODE_TXB; break; + case ir_txl: opcode = SHADER_OPCODE_TXL; break; + case ir_txd: opcode = SHADER_OPCODE_TXD; break; + case ir_txs: opcode = SHADER_OPCODE_TXS; break; + case ir_txf: opcode = SHADER_OPCODE_TXF; break; default: - fail("unrecognized texture opcode"); + unreachable("not reached"); } + + fs_inst *inst = emit(opcode, dst, reg_undef); inst->base_mrf = base_mrf; inst->mlen = mlen; inst->header_present = true;