您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetCurrentPPUThread函数代码示例

51自学网 2021-06-01 21:06:02
  C++
这篇教程C++ GetCurrentPPUThread函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetCurrentPPUThread函数的典型用法代码示例。如果您正苦于以下问题:C++ GetCurrentPPUThread函数的具体用法?C++ GetCurrentPPUThread怎么用?C++ GetCurrentPPUThread使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetCurrentPPUThread函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: cellSpursJobGuardInitialize

s64 cellSpursJobGuardInitialize(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0x1807C, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例2: cellSpursGetWorkloadData

s64 cellSpursGetWorkloadData(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0xA78C, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例3: cellSpursRequestIdleSpu

s64 cellSpursRequestIdleSpu(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0xAD88, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例4: _cellSpursWorkloadAttributeInitialize

s64 _cellSpursWorkloadAttributeInitialize(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0x9F08, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例5: cellSpursAddWorkloadWithAttribute

s64 cellSpursAddWorkloadWithAttribute(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0x9E14, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例6: _cellSpursWorkloadFlagReceiver

s64 _cellSpursWorkloadFlagReceiver(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0xF158, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例7: cellSpursJobChainGetError

s64 cellSpursJobChainGetError(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0x190AC, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例8: cellSpursWorkloadAttributeSetShutdownCompletionEventHook

s64 cellSpursWorkloadAttributeSetShutdownCompletionEventHook(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0x96A4, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例9: cellSpursAttributeEnableSpuPrintfIfAvailable

s64 cellSpursAttributeEnableSpuPrintfIfAvailable(vm::ptr<CellSpursAttribute> attr){#ifdef PRX_DEBUG	cellSpurs->Warning("cellSpursAttributeEnableSpuPrintfIfAvailable(attr_addr=0x%x)", attr.addr());	return GetCurrentPPUThread().FastCall2(libsre + 0x7150, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例10: cellSpursJobChainAttributeSetJobTypeMemoryCheck

s64 cellSpursJobChainAttributeSetJobTypeMemoryCheck(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0x186A4, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例11: cellSpursUnsetExceptionEventHandler

s64 cellSpursUnsetExceptionEventHandler(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0xD77C, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例12: cellSpursReadyCountCompareAndSwap

s64 cellSpursReadyCountCompareAndSwap(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0xA9CC, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例13: cellSpursTasksetGetSpursAddress

s64 cellSpursTasksetGetSpursAddress(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0x14408, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例14: cellSpursCreateTask2WithBinInfo

s64 cellSpursCreateTask2WithBinInfo(){#ifdef PRX_DEBUG	cellSpurs->Warning("%s()", __FUNCTION__);	return GetCurrentPPUThread().FastCall2(libsre + 0x120E0, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:10,


示例15: sys_ppu_thread_once

void sys_ppu_thread_once(vm::ptr<std::atomic<be_t<u32>>> once_ctrl, u32 entry){	sys_ppu_thread.Warning("sys_ppu_thread_once(once_ctrl_addr=0x%x, entry=0x%x)", once_ctrl.addr(), entry);	be_t<u32> old = be_t<u32>::MakeFromBE(se32(SYS_PPU_THREAD_ONCE_INIT));	if (once_ctrl->compare_exchange_weak(old, be_t<u32>::MakeFromBE(se32(SYS_PPU_THREAD_DONE_INIT))))	{		GetCurrentPPUThread().FastCall2(Memory.Read32(entry), Memory.Read32(entry + 4));	}}
开发者ID:hminth,项目名称:rpcs3,代码行数:10,


示例16: sys_rwlock_wunlock

int sys_rwlock_wunlock(u32 rw_lock_id){	sys_rwlock.Log("sys_rwlock_wunlock(rw_lock_id=%d)", rw_lock_id);	RWLock* rw;	if (!sys_rwlock.CheckId(rw_lock_id, rw)) return CELL_ESRCH;	if (!rw->wlock_unlock(GetCurrentPPUThread().GetId())) return CELL_EPERM;	return CELL_OK;}
开发者ID:BlastarIndia,项目名称:rpcs3,代码行数:11,


示例17: cellFontSetEffectSlant

int cellFontSetEffectSlant(mem_ptr_t<CellFont> font, float slantParam){	slantParam = GetCurrentPPUThread().FPR[1]; // TODO: Something is wrong with the float arguments	cellFont->Log("cellFontSetEffectSlant(font_addr=0x%x, slantParam=%f)", font.GetAddr(), slantParam);	if (!font.IsGood() || slantParam < -1.0 || slantParam > 1.0)		return CELL_FONT_ERROR_INVALID_PARAMETER;	font->slant = slantParam;	return CELL_FONT_OK;}
开发者ID:0179cool,项目名称:rpcs3,代码行数:11,


示例18: sys_rwlock_tryrlock

s32 sys_rwlock_tryrlock(u32 rw_lock_id){	sys_rwlock.Log("sys_rwlock_tryrlock(rw_lock_id=%d)", rw_lock_id);	RWLock* rw;	if (!sys_rwlock.CheckId(rw_lock_id, rw)) return CELL_ESRCH;	if (!rw->rlock_trylock(GetCurrentPPUThread().GetId())) return CELL_EBUSY;	return CELL_OK;}
开发者ID:Subv,项目名称:rpcs3,代码行数:11,


示例19: _sys_spu_printf_detach_thread

s64 _sys_spu_printf_detach_thread(u32 arg){	sysPrxForUser->Warning("_sys_spu_printf_detach_thread(arg=0x%x)", arg);	if (!spu_printf_dtcb)	{		return CELL_ESTAT;	}	return GetCurrentPPUThread().FastCall(vm::read32(spu_printf_dtcb), vm::read32(spu_printf_dtcb + 4), arg);}
开发者ID:fluddokt,项目名称:rpcs3,代码行数:11,


示例20: sys_lwmutex_unlock

int sys_lwmutex_unlock(mem_ptr_t<sys_lwmutex_t> lwmutex){	sc_lwmutex.Log("sys_lwmutex_unlock(lwmutex_addr=0x%x)", lwmutex.GetAddr());	if (!lwmutex.IsGood()) return CELL_EFAULT;	//ConLog.Write("*** unlocking mutex (addr=0x%x, attr=0x%x, Nrec=%d, owner=%d, waiter=%d)",		//lwmutex.GetAddr(), (u32)lwmutex->attribute, (u32)lwmutex->recursive_count, (u32)lwmutex->vars.parts.owner.GetOwner(), (u32)lwmutex->waiter);	return lwmutex->unlock(GetCurrentPPUThread().GetId());}
开发者ID:0179cool,项目名称:rpcs3,代码行数:11,


示例21: sys_cond_wait

int sys_cond_wait(u32 cond_id, u64 timeout){	sys_cond.Log("sys_cond_wait(cond_id=%d, timeout=%lld)", cond_id, timeout);	Cond* cond;	if (!Emu.GetIdManager().GetIDData(cond_id, cond))	{		return CELL_ESRCH;	}	Mutex* mutex = cond->mutex;	u32 tid = GetCurrentPPUThread().GetId();	if (mutex->m_mutex.GetOwner() != tid)	{		return CELL_EPERM;	}	cond->m_queue.push(tid);	mutex->recursive = 0;	mutex->m_mutex.unlock(tid);	u32 counter = 0;	const u32 max_counter = timeout ? (timeout / 1000) : ~0;	while (true)	{		/* switch (mutex->m_mutex.trylock(tid))		{		case SMR_OK: mutex->m_mutex.unlock(tid); break;		case SMR_SIGNAL: mutex->recursive = 1; return CELL_OK;		} */		if (mutex->m_mutex.GetOwner() == tid)		{			_mm_mfence();			mutex->recursive = 1;			return CELL_OK;		}		Sleep(1);		if (counter++ > max_counter)		{			cond->m_queue.invalidate(tid);			return CELL_ETIMEDOUT;		}		if (Emu.IsStopped())		{			ConLog.Warning("sys_cond_wait(id=%d) aborted", cond_id);			return CELL_OK;		}	}}
开发者ID:MissValeska,项目名称:rpcs3,代码行数:54,


示例22: _cellSpursEventFlagInitialize

s64 _cellSpursEventFlagInitialize(vm::ptr<CellSpurs> spurs, vm::ptr<CellSpursTaskset> taskset, vm::ptr<CellSpursEventFlag> eventFlag, u32 flagClearMode, u32 flagDirection){#ifdef PRX_DEBUG	cellSpurs->Warning("_cellSpursEventFlagInitialize(spurs_addr=0x%x, taskset_addr=0x%x, eventFlag_addr=0x%x, flagClearMode=%d, flagDirection=%d)",		spurs.addr(), taskset.addr(), eventFlag.addr(), flagClearMode, flagDirection);	return GetCurrentPPUThread().FastCall2(libsre + 0x1564C, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:11,


示例23: sys_lwmutex_lock

int sys_lwmutex_lock(mem_ptr_t<sys_lwmutex_t> lwmutex, u64 timeout){	sc_lwmutex.Log("sys_lwmutex_lock(lwmutex_addr=0x%x, timeout=%lld)", lwmutex.GetAddr(), timeout);	if (!lwmutex.IsGood()) return CELL_EFAULT;	//ConLog.Write("*** lock mutex (addr=0x%x, attr=0x%x, Nrec=%d, owner=%d, waiter=%d)",		//lwmutex.GetAddr(), (u32)lwmutex->attribute, (u32)lwmutex->recursive_count, lwmutex->vars.parts.owner.GetOwner(), (u32)lwmutex->waiter);	return lwmutex->lock(GetCurrentPPUThread().GetId(), timeout ? ((timeout < 1000) ? 1 : (timeout / 1000)) : 0);}
开发者ID:0179cool,项目名称:rpcs3,代码行数:11,


示例24: cellSpursSetGlobalExceptionEventHandler

s64 cellSpursSetGlobalExceptionEventHandler(vm::ptr<CellSpurs> spurs, u32 eaHandler_addr, u32 arg_addr){#ifdef PRX_DEBUG	cellSpurs->Warning("cellSpursSetGlobalExceptionEventHandler(spurs_addr=0x%x, eaHandler_addr=0x%x, arg_addr=0x%x)",		spurs.addr(), eaHandler_addr, arg_addr);	return GetCurrentPPUThread().FastCall2(libsre + 0xD6D0, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:11,


示例25: cellSpursAttachLv2EventQueue

s64 cellSpursAttachLv2EventQueue(vm::ptr<CellSpurs> spurs, u32 queue, vm::ptr<u8> port, s32 isDynamic){#ifdef PRX_DEBUG	cellSpurs->Warning("cellSpursAttachLv2EventQueue(spurs_addr=0x%x, queue=%d, port_addr=0x%x, isDynamic=%d)",		spurs.addr(), queue, port.addr(), isDynamic);	return GetCurrentPPUThread().FastCall2(libsre + 0xAFE0, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:11,


示例26: cellFontRenderCharGlyphImage

int cellFontRenderCharGlyphImage(mem_ptr_t<CellFont> font, u32 code, mem_ptr_t<CellFontRenderSurface> surface, float x, float y, mem_ptr_t<CellFontGlyphMetrics> metrics, mem_ptr_t<CellFontImageTransInfo> transInfo){	x = GetCurrentPPUThread().FPR[1]; // TODO: Something is wrong with the float arguments	y = GetCurrentPPUThread().FPR[2]; // TODO: Something is wrong with the float arguments	cellFont->Log("cellFontRenderCharGlyphImage(font_addr=0x%x, code=0x%x, surface_addr=0x%x, x=%f, y=%f, metrics_addr=0x%x, trans_addr=0x%x)",		font.GetAddr(), code, surface.GetAddr(), x, y, metrics.GetAddr(), transInfo.GetAddr());	if (!font.IsGood() || !surface.IsGood() || !metrics.IsGood() || !transInfo.IsGood())		return CELL_FONT_ERROR_INVALID_PARAMETER;	if (!font->renderer_addr)		return CELL_FONT_ERROR_RENDERER_UNBIND;	// Render the character	int width, height, xoff, yoff;	float scale = stbtt_ScaleForPixelHeight(&(font->stbfont), font->scale_y);	unsigned char* box = stbtt_GetCodepointBitmap(&(font->stbfont), scale, scale, code, &width, &height, &xoff, &yoff);	if (!box) return CELL_OK;	// Get the baseLineY value	int baseLineY;	int ascent, descent, lineGap;	stbtt_GetFontVMetrics(&(font->stbfont), &ascent, &descent, &lineGap);	baseLineY = ascent * scale;	// Move the rendered character to the surface	unsigned char* buffer = (unsigned char*)Memory.VirtualToRealAddr(surface->buffer_addr);	for (u32 ypos = 0; ypos < (u32)height; ypos++){		if ((u32)y + ypos + yoff + baseLineY >= surface->height)			break;		for (u32 xpos = 0; xpos < (u32)width; xpos++){			if ((u32)x + xpos >= surface->width)				break;			// TODO: There are some oddities in the position of the character in the final buffer			buffer[((int)y + ypos + yoff + baseLineY)*surface->width + (int)x+xpos] = box[ypos*width + xpos];		}	}	stbtt_FreeBitmap(box, 0);	return CELL_FONT_OK;}
开发者ID:0179cool,项目名称:rpcs3,代码行数:41,


示例27: cellSpursAttributeSetMemoryContainerForSpuThread

s64 cellSpursAttributeSetMemoryContainerForSpuThread(vm::ptr<CellSpursAttribute> attr, u32 container){	cellSpurs->Warning("cellSpursAttributeSetMemoryContainerForSpuThread(attr_addr=0x%x, container=0x%x)", attr.addr(), container);#ifdef PRX_DEBUG	return GetCurrentPPUThread().FastCall2(libsre + 0x6FF8, libsre_rtoc);#else	attr->attr->_setMemoryContainerForSpuThread(container);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:12,


示例28: cellSpursCreateTask

s64 cellSpursCreateTask(vm::ptr<CellSpursTaskset> taskset, vm::ptr<be_t<u32>> taskID, u32 elf_addr, u32 context_addr, u32 context_size, vm::ptr<CellSpursTaskLsPattern> lsPattern,	vm::ptr<CellSpursTaskArgument> argument){#ifdef PRX_DEBUG	cellSpurs->Warning("cellSpursCreateTask(taskset_addr=0x%x, taskID_addr=0x%x, elf_addr_addr=0x%x, context_addr_addr=0x%x, context_size=%d, lsPattern_addr=0x%x, argument_addr=0x%x)",		taskset.addr(), taskID.addr(), elf_addr, context_addr, context_size, lsPattern.addr(), argument.addr());	return GetCurrentPPUThread().FastCall2(libsre + 0x12414, libsre_rtoc);#else	UNIMPLEMENTED_FUNC(cellSpurs);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:12,


示例29: cellSpursInitializeWithAttribute2

s64 cellSpursInitializeWithAttribute2(vm::ptr<CellSpurs2> spurs, vm::ptr<const CellSpursAttribute> attr){	cellSpurs->Warning("cellSpursInitializeWithAttribute2(spurs_addr=0x%x, spurs_addr=0x%x)", spurs.addr(), attr.addr());#ifdef PRX_DEBUG	return GetCurrentPPUThread().FastCall2(libsre + 0x82B4, libsre_rtoc);#else	spurs->spurs = new SPURSManager(attr->attr);	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:12,


示例30: cellSpursFinalize

s64 cellSpursFinalize(vm::ptr<CellSpurs> spurs){	cellSpurs->Warning("cellSpursFinalize(spurs_addr=0x%x)", spurs.addr());#ifdef PRX_DEBUG	return GetCurrentPPUThread().FastCall2(libsre + 0x8568, libsre_rtoc);#else	spurs->spurs->Finalize();	return CELL_OK;#endif}
开发者ID:ChuckRozhon,项目名称:rpcs3,代码行数:12,



注:本文中的GetCurrentPPUThread函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetCurrentPage函数代码示例
C++ GetCurrentNode函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。