mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-21 03:55:32 +00:00
Improve sys_spu_thread_initialize
This commit is contained in:
parent
78dce19118
commit
23537e3666
1 changed files with 6 additions and 6 deletions
|
@ -562,6 +562,11 @@ error_code sys_spu_thread_initialize(ppu_thread& ppu, vm::ptr<u32> thread, u32 g
|
|||
|
||||
sys_spu.warning("sys_spu_thread_initialize(thread=*0x%x, group=0x%x, spu_num=%d, img=*0x%x, attr=*0x%x, arg=*0x%x)", thread, group_id, spu_num, img, attr, arg);
|
||||
|
||||
if (spu_num >= std::size(decltype(lv2_spu_group::threads_map){}))
|
||||
{
|
||||
return CELL_EINVAL;
|
||||
}
|
||||
|
||||
if (!attr)
|
||||
{
|
||||
return CELL_EFAULT;
|
||||
|
@ -598,7 +603,7 @@ error_code sys_spu_thread_initialize(ppu_thread& ppu, vm::ptr<u32> thread, u32 g
|
|||
{
|
||||
case SYS_SPU_IMAGE_TYPE_KERNEL:
|
||||
{
|
||||
const auto handle = idm::get<lv2_obj, lv2_spu_image>(img->entry_point);
|
||||
const auto handle = idm::get<lv2_obj, lv2_spu_image>(image.entry_point);
|
||||
|
||||
if (!handle)
|
||||
{
|
||||
|
@ -703,11 +708,6 @@ error_code sys_spu_thread_initialize(ppu_thread& ppu, vm::ptr<u32> thread, u32 g
|
|||
return CELL_ESRCH;
|
||||
}
|
||||
|
||||
if (spu_num >= group->threads_map.size())
|
||||
{
|
||||
return CELL_EINVAL;
|
||||
}
|
||||
|
||||
std::unique_lock lock(group->mutex);
|
||||
|
||||
if (auto state = +group->run_state; state != SPU_THREAD_GROUP_STATUS_NOT_INITIALIZED)
|
||||
|
|
Loading…
Add table
Reference in a new issue