Example #1
0
//173
int sys_spu_thread_group_start(u32 id)
{
	sc_spu.Warning("sys_spu_thread_group_start(id=%d)", id);

	SpuGroupInfo* group_info;
	if(!Emu.GetIdManager().GetIDData(id, group_info))
	{
		return CELL_ESRCH;
	}

	for (u32 i = 0; i < group_info->list.GetCount(); i++)
	{
		CPUThread* t;
		if (t = Emu.GetCPU().GetThread(group_info->list[i]))
		{
			t->Exec();
		}
	}

	return CELL_OK;
}
Example #2
0
//173
s32 sys_spu_thread_group_start(u32 id)
{
	sc_spu.Warning("sys_spu_thread_group_start(id=%d)", id);

	SpuGroupInfo* group_info;
	if(!Emu.GetIdManager().GetIDData(id, group_info))
	{
		return CELL_ESRCH;
	}

	// TODO: check group state

	for (u32 i = 0; i < group_info->list.size(); i++)
	{
		CPUThread* t = Emu.GetCPU().GetThread(group_info->list[i]);
		if (t)
		{
			t->Exec();
		}
	}

	return CELL_OK;
}