1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 18:53:28 +01:00

rsx-capture: unbreak

This commit is contained in:
eladash 2018-10-22 22:48:19 +03:00 committed by Ivan
parent eba2216c4a
commit 5ee351234c
4 changed files with 9 additions and 10 deletions

View File

@ -132,18 +132,15 @@ s32 sys_rsx_context_allocate(vm::ptr<u32> context_id, vm::ptr<u64> lpar_dma_cont
else
rsx::get_current_renderer()->main_mem_size = 0x10000000; //256MB
vm::var<sys_event_queue_attribute_t> attr;
vm::var<sys_event_queue_attribute_t, vm::page_allocator<>> attr;
attr->protocol = SYS_SYNC_PRIORITY;
attr->type = SYS_PPU_QUEUE;
attr->name_u64 = 0;
vm::var<u32> queueId(0);
sys_event_queue_create(queueId, attr, 0, 0x20);
driverInfo.handler_queue = queueId->value();
sys_event_port_create(queueId, SYS_EVENT_PORT_LOCAL, 0);
sys_event_port_connect_local(queueId->value(), driverInfo.handler_queue);
m_sysrsx->rsx_event_port = queueId->value();
sys_event_port_create(vm::get_addr(&driverInfo.handler_queue), SYS_EVENT_PORT_LOCAL, 0);
m_sysrsx->rsx_event_port = driverInfo.handler_queue;
sys_event_queue_create(vm::get_addr(&driverInfo.handler_queue), attr, 0, 0x20);
sys_event_port_connect_local(m_sysrsx->rsx_event_port, driverInfo.handler_queue);
const auto render = rsx::get_current_renderer();
render->display_buffers_count = 0;

View File

@ -23,7 +23,7 @@ namespace rsx
fmt::throw_exception("Capture Replay: context alloc failed");
const auto& contextInfo = vm::_ref<rsx_context>(contextAddr);
if (sys_rsx_device_map(vm::make_var<u64>(0), vm::null, 0x8) != CELL_OK)
if (sys_rsx_device_map(vm::get_addr(&contextInfo.dev_addr), vm::null, 0x8) != CELL_OK)
fmt::throw_exception("Capture Replay: sys_rsx_device_map failed!");
if (sys_rsx_memory_allocate(vm::get_addr(&contextInfo.mem_handle), vm::get_addr(&contextInfo.mem_addr), 0x0F900000, 0, 0, 0, 0) != CELL_OK)

View File

@ -214,6 +214,7 @@ namespace rsx
{
struct rsx_context
{
be_t<u64> dev_addr;
be_t<u32> mem_handle;
be_t<u32> context_id;
be_t<u64> mem_addr;

View File

@ -486,7 +486,8 @@ bool Emulator::BootRsxCapture(const std::string& path)
GetCallbacks().on_run();
m_state = system_state::running;
fxm::make<rsx::rsx_replay_thread>(std::move(frame));
fxm::make<named_thread<rsx::rsx_replay_thread>>("RSX Replay", std::move(frame));
return true;
}