|
|
@ -104,7 +104,7 @@ QVariant GraphicsVertexShaderModel::data(const QModelIndex& index, int role) con |
|
|
case 2: |
|
|
case 2: |
|
|
{ |
|
|
{ |
|
|
std::ostringstream output; |
|
|
std::ostringstream output; |
|
|
output.flags(std::ios::hex | std::ios::uppercase); |
|
|
|
|
|
|
|
|
output.flags(std::ios::uppercase); |
|
|
|
|
|
|
|
|
// To make the code aligning columns of assembly easier to keep track of, this function
|
|
|
// To make the code aligning columns of assembly easier to keep track of, this function
|
|
|
// keeps track of the start of the start of the previous column, allowing alignment
|
|
|
// keeps track of the start of the start of the previous column, allowing alignment
|
|
|
@ -264,16 +264,16 @@ QVariant GraphicsVertexShaderModel::data(const QModelIndex& index, int role) con |
|
|
u32 target_addr_else = instr.flow_control.dest_offset; |
|
|
u32 target_addr_else = instr.flow_control.dest_offset; |
|
|
|
|
|
|
|
|
if (opcode_info.subtype & OpCode::Info::HasAlternative) { |
|
|
if (opcode_info.subtype & OpCode::Info::HasAlternative) { |
|
|
output << "else jump to 0x" << std::setw(4) << std::right << std::setfill('0') << (4 * instr.flow_control.dest_offset); |
|
|
|
|
|
|
|
|
output << "else jump to 0x" << std::setw(4) << std::right << std::setfill('0') << std::hex << (4 * instr.flow_control.dest_offset); |
|
|
} else if (opcode_info.subtype & OpCode::Info::HasExplicitDest) { |
|
|
} else if (opcode_info.subtype & OpCode::Info::HasExplicitDest) { |
|
|
output << "jump to 0x" << std::setw(4) << std::right << std::setfill('0') << (4 * instr.flow_control.dest_offset); |
|
|
|
|
|
|
|
|
output << "jump to 0x" << std::setw(4) << std::right << std::setfill('0') << std::hex << (4 * instr.flow_control.dest_offset); |
|
|
} else { |
|
|
} else { |
|
|
// TODO: Handle other cases
|
|
|
// TODO: Handle other cases
|
|
|
output << "(unknown destination)"; |
|
|
output << "(unknown destination)"; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (opcode_info.subtype & OpCode::Info::HasFinishPoint) { |
|
|
if (opcode_info.subtype & OpCode::Info::HasFinishPoint) { |
|
|
output << " (return on " << std::setw(4) << std::right << std::setfill('0') |
|
|
|
|
|
|
|
|
output << " (return on 0x" << std::setw(4) << std::right << std::setfill('0') << std::hex |
|
|
<< (4 * instr.flow_control.dest_offset + 4 * instr.flow_control.num_instructions) << ')'; |
|
|
<< (4 * instr.flow_control.dest_offset + 4 * instr.flow_control.num_instructions) << ')'; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|