mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 23:11:25 +12:00
rsx-capture: unbreak
This commit is contained in:
parent
6c62f42d8d
commit
061c787e56
3 changed files with 9 additions and 9 deletions
|
@ -881,10 +881,10 @@ namespace vm
|
||||||
g_locations =
|
g_locations =
|
||||||
{
|
{
|
||||||
std::make_shared<block_t>(0x00010000, 0x1FFF0000), // main
|
std::make_shared<block_t>(0x00010000, 0x1FFF0000), // main
|
||||||
std::make_shared<block_t>(0xC0000000, 0x10000000), // video
|
|
||||||
std::make_shared<block_t>(0xD0000000, 0x10000000), // stack
|
|
||||||
nullptr, // user 64k pages
|
nullptr, // user 64k pages
|
||||||
nullptr, // user 1m pages
|
nullptr, // user 1m pages
|
||||||
|
std::make_shared<block_t>(0xC0000000, 0x10000000), // video
|
||||||
|
std::make_shared<block_t>(0xD0000000, 0x10000000), // stack
|
||||||
std::make_shared<block_t>(0xE0000000, 0x20000000), // SPU reserved
|
std::make_shared<block_t>(0xE0000000, 0x20000000), // SPU reserved
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,10 +21,10 @@ namespace vm
|
||||||
enum memory_location_t : uint
|
enum memory_location_t : uint
|
||||||
{
|
{
|
||||||
main,
|
main,
|
||||||
video,
|
|
||||||
stack,
|
|
||||||
user64k,
|
user64k,
|
||||||
user1m,
|
user1m,
|
||||||
|
video,
|
||||||
|
stack,
|
||||||
|
|
||||||
memory_location_max,
|
memory_location_max,
|
||||||
any = 0xffffffff,
|
any = 0xffffffff,
|
||||||
|
|
|
@ -12,6 +12,11 @@ namespace rsx
|
||||||
{
|
{
|
||||||
be_t<u32> rsx_replay_thread::allocate_context()
|
be_t<u32> rsx_replay_thread::allocate_context()
|
||||||
{
|
{
|
||||||
|
// 'fake' initialize usermemory
|
||||||
|
// todo: seriously, need to probly watch the replay memory map and just make sure its mapped before we copy rather than do this
|
||||||
|
const auto user_mem = vm::get(vm::user64k);
|
||||||
|
vm::falloc(user_mem->addr, 0x10000000);
|
||||||
|
|
||||||
const u32 contextAddr = vm::alloc(sizeof(rsx_context), vm::main);
|
const u32 contextAddr = vm::alloc(sizeof(rsx_context), vm::main);
|
||||||
if (contextAddr == 0)
|
if (contextAddr == 0)
|
||||||
fmt::throw_exception("Capture Replay: context alloc failed");
|
fmt::throw_exception("Capture Replay: context alloc failed");
|
||||||
|
@ -26,11 +31,6 @@ namespace rsx
|
||||||
if (sys_rsx_context_allocate(vm::get_addr(&contextInfo.context_id), vm::get_addr(&contextInfo.dma_addr), vm::get_addr(&contextInfo.driver_info), vm::get_addr(&contextInfo.reports_addr), contextInfo.mem_handle, 0) != CELL_OK)
|
if (sys_rsx_context_allocate(vm::get_addr(&contextInfo.context_id), vm::get_addr(&contextInfo.dma_addr), vm::get_addr(&contextInfo.driver_info), vm::get_addr(&contextInfo.reports_addr), contextInfo.mem_handle, 0) != CELL_OK)
|
||||||
fmt::throw_exception("Capture Replay: sys_rsx_context_allocate failed!");
|
fmt::throw_exception("Capture Replay: sys_rsx_context_allocate failed!");
|
||||||
|
|
||||||
// 'fake' initialize usermemory
|
|
||||||
// todo: seriously, need to probly watch the replay memory map and just make sure its mapped before we copy rather than do this
|
|
||||||
const auto user_mem = vm::get(vm::user64k);
|
|
||||||
vm::falloc(user_mem->addr, 0x10000000);
|
|
||||||
|
|
||||||
return contextInfo.context_id;
|
return contextInfo.context_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue