diff options
Diffstat (limited to 'src/gallium/drivers/radeon/R600CodeEmitter.cpp')
-rw-r--r-- | src/gallium/drivers/radeon/R600CodeEmitter.cpp | 58 |
1 files changed, 5 insertions, 53 deletions
diff --git a/src/gallium/drivers/radeon/R600CodeEmitter.cpp b/src/gallium/drivers/radeon/R600CodeEmitter.cpp index 3042f38af8a..99964d4beb1 100644 --- a/src/gallium/drivers/radeon/R600CodeEmitter.cpp +++ b/src/gallium/drivers/radeon/R600CodeEmitter.cpp @@ -206,60 +206,12 @@ bool R600CodeEmitter::runOnMachineFunction(MachineFunction &MF) { case AMDIL::VTX_READ_PARAM_eg: case AMDIL::VTX_READ_GLOBAL_eg: { - emitByte(INSTR_VTX); - // inst - emitByte(0); - - // fetch_type - emitByte(2); - - // buffer_id - emitByte(MI.getOpcode() == AMDIL::VTX_READ_PARAM_eg ? 0 : 1); - - // src_gpr - emitByte(getHWReg(MI.getOperand(1).getReg())); - - // src_sel_x - emitByte(TRI->getHWRegChan(MI.getOperand(1).getReg())); - - // mega_fetch_count - emitByte(3); - - // dst_gpr - emitByte(getHWReg(MI.getOperand(0).getReg())); - - // dst_sel_x - emitByte(0); - - // dst_sel_y - emitByte(7); + uint64_t InstWord01 = getBinaryCodeForInstr(MI); + uint32_t InstWord2 = MI.getOperand(2).getImm(); // Offset - // dst_sel_z - emitByte(7); - - // dst_sel_w - emitByte(7); - - // use_const_fields - emitByte(1); - - // data_format - emitByte(0); - - // num_format_all - emitByte(0); - - // format_comp_all - emitByte(0); - - // srf_mode_all - emitByte(0); - - // offset - emitTwoBytes(MI.getOperand(2).getImm()); - - // endian - emitByte(0); + emitByte(INSTR_VTX); + emit(InstWord01); + emit(InstWord2); break; } |