mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-20 22:05:12 +00:00
Migration to named_thread<>
Add atomic_t<>::try_dec instead of fetch_dec_sat Add atomic_t<>::try_inc GDBDebugServer is broken (needs rewrite) Removed old_thread class (former named_thread) Removed storing/rethrowing exceptions from thread Emu.Stop doesn't inject an exception anymore task_stack helper class removed thread_base simplified (no shared_from_this) thread_ctrl::spawn simplified (creates detached thread) Implemented overrideable thread detaching logic Disabled cellAdec, cellDmux, cellFsAio SPUThread renamed to spu_thread RawSPUThread removed, spu_thread used instead Disabled deriving from ppu_thread Partial support for thread renaming lv2_timer... simplified, screw it idm/fxm: butchered support for on_stop/on_init vm: improved allocation structure (added size)
This commit is contained in:
parent
8ca6c9fff0
commit
1b37e775be
82 changed files with 1820 additions and 2023 deletions
|
|
@ -194,7 +194,7 @@ public:
|
|||
atomic_t<bool> is_working;
|
||||
|
||||
Demuxer(u32 addr, u32 size, vm::ptr<CellDmuxCbMsg> func, u32 arg)
|
||||
: ppu_thread("HLE Demuxer")
|
||||
: ppu_thread({}, "", 0)
|
||||
, is_finished(false)
|
||||
, is_closed(false)
|
||||
, is_running(false)
|
||||
|
|
@ -206,7 +206,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual void cpu_task() override
|
||||
void non_task()
|
||||
{
|
||||
DemuxerTask task;
|
||||
DemuxerStream stream = {};
|
||||
|
|
@ -987,13 +987,7 @@ s32 cellDmuxOpen(vm::cptr<CellDmuxType> type, vm::cptr<CellDmuxResource> res, vm
|
|||
}
|
||||
|
||||
// TODO: check demuxerResource and demuxerCb arguments
|
||||
auto&& dmux = idm::make_ptr<ppu_thread, Demuxer>(res->memAddr, res->memSize, cb->cbMsgFunc, cb->cbArg);
|
||||
|
||||
*handle = dmux->id;
|
||||
|
||||
dmux->run();
|
||||
|
||||
return CELL_OK;
|
||||
fmt::throw_exception("cellDmux disabled, use LLE.");
|
||||
}
|
||||
|
||||
s32 cellDmuxOpenEx(vm::cptr<CellDmuxType> type, vm::cptr<CellDmuxResourceEx> resEx, vm::cptr<CellDmuxCb> cb, vm::ptr<u32> handle)
|
||||
|
|
@ -1006,13 +1000,7 @@ s32 cellDmuxOpenEx(vm::cptr<CellDmuxType> type, vm::cptr<CellDmuxResourceEx> res
|
|||
}
|
||||
|
||||
// TODO: check demuxerResourceEx and demuxerCb arguments
|
||||
auto&& dmux = idm::make_ptr<ppu_thread, Demuxer>(resEx->memAddr, resEx->memSize, cb->cbMsgFunc, cb->cbArg);
|
||||
|
||||
*handle = dmux->id;
|
||||
|
||||
dmux->run();
|
||||
|
||||
return CELL_OK;
|
||||
fmt::throw_exception("cellDmux disabled, use LLE.");
|
||||
}
|
||||
|
||||
s32 cellDmuxOpenExt(vm::cptr<CellDmuxType> type, vm::cptr<CellDmuxResourceEx> resEx, vm::cptr<CellDmuxCb> cb, vm::ptr<u32> handle)
|
||||
|
|
@ -1032,13 +1020,7 @@ s32 cellDmuxOpen2(vm::cptr<CellDmuxType2> type2, vm::cptr<CellDmuxResource2> res
|
|||
}
|
||||
|
||||
// TODO: check demuxerType2, demuxerResource2 and demuxerCb arguments
|
||||
auto&& dmux = idm::make_ptr<ppu_thread, Demuxer>(res2->memAddr, res2->memSize, cb->cbMsgFunc, cb->cbArg);
|
||||
|
||||
*handle = dmux->id;
|
||||
|
||||
dmux->run();
|
||||
|
||||
return CELL_OK;
|
||||
fmt::throw_exception("cellDmux disabled, use LLE.");
|
||||
}
|
||||
|
||||
s32 cellDmuxClose(u32 handle)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue