mirror of https://github.com/RPCS3/rpcs3.git
fixup for rsx debugging tools segfaults
This commit is contained in:
parent
5ee351234c
commit
dfacdd8a40
|
@ -76,7 +76,7 @@ void debugger_list::ShowAddress(u32 addr)
|
||||||
const u32 cpu_offset = is_spu ? static_cast<spu_thread&>(*cpu).offset : 0;
|
const u32 cpu_offset = is_spu ? static_cast<spu_thread&>(*cpu).offset : 0;
|
||||||
const u32 address_limits = is_spu ? 0x3ffff : ~0;
|
const u32 address_limits = is_spu ? 0x3ffff : ~0;
|
||||||
m_pc &= address_limits;
|
m_pc &= address_limits;
|
||||||
m_disasm->offset = (u8*)vm::base(cpu_offset);
|
m_disasm->offset = vm::get_super_ptr(cpu_offset);
|
||||||
for (uint i = 0, count = 4; i<m_item_count; ++i, m_pc = (m_pc + count) & address_limits)
|
for (uint i = 0, count = 4; i<m_item_count; ++i, m_pc = (m_pc + count) & address_limits)
|
||||||
{
|
{
|
||||||
if (!vm::check_addr(cpu_offset + m_pc, 4))
|
if (!vm::check_addr(cpu_offset + m_pc, 4))
|
||||||
|
|
|
@ -633,7 +633,7 @@ void rsx_debugger::GetMemory()
|
||||||
|
|
||||||
if (vm::check_addr(RSXIOMem.RealAddr(addr)))
|
if (vm::check_addr(RSXIOMem.RealAddr(addr)))
|
||||||
{
|
{
|
||||||
u32 cmd = vm::read32(RSXIOMem.RealAddr(addr));
|
u32 cmd = *vm::get_super_ptr<u32>(RSXIOMem.RealAddr(addr));
|
||||||
u32 count = (cmd >> 18) & 0x7ff;
|
u32 count = (cmd >> 18) & 0x7ff;
|
||||||
m_list_commands->setItem(i, 1, new QTableWidgetItem(qstr(fmt::format("%08x", cmd))));
|
m_list_commands->setItem(i, 1, new QTableWidgetItem(qstr(fmt::format("%08x", cmd))));
|
||||||
m_list_commands->setItem(i, 2, new QTableWidgetItem(DisAsmCommand(cmd, count, addr)));
|
m_list_commands->setItem(i, 2, new QTableWidgetItem(DisAsmCommand(cmd, count, addr)));
|
||||||
|
@ -690,7 +690,7 @@ void rsx_debugger::GetBuffers()
|
||||||
if(!vm::check_addr(RSXbuffer_addr))
|
if(!vm::check_addr(RSXbuffer_addr))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
auto RSXbuffer = vm::_ptr<u8>(RSXbuffer_addr);
|
auto RSXbuffer = vm::get_super_ptr<u8>(RSXbuffer_addr);
|
||||||
|
|
||||||
u32 width = buffers[bufferId].width;
|
u32 width = buffers[bufferId].width;
|
||||||
u32 height = buffers[bufferId].height;
|
u32 height = buffers[bufferId].height;
|
||||||
|
@ -739,7 +739,7 @@ void rsx_debugger::GetBuffers()
|
||||||
if(!vm::check_addr(TexBuffer_addr))
|
if(!vm::check_addr(TexBuffer_addr))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
unsigned char* TexBuffer = vm::_ptr<u8>(TexBuffer_addr);
|
unsigned char* TexBuffer = vm::get_super_ptr<u8>(TexBuffer_addr);
|
||||||
|
|
||||||
u32 width = render->textures[m_cur_texture].width();
|
u32 width = render->textures[m_cur_texture].width();
|
||||||
u32 height = render->textures[m_cur_texture].height();
|
u32 height = render->textures[m_cur_texture].height();
|
||||||
|
|
Loading…
Reference in New Issue