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 <chrisf@ijw.co.nz> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
39a4cc45a4
commit
d1b136fdd0
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue