mirror of
https://github.com/libretro/RetroArch
synced 2025-02-21 00:40:09 +00:00
Update libco
This commit is contained in:
parent
33a77bd3a3
commit
56c66376ff
@ -26,7 +26,11 @@ cothread_t co_active(void)
|
|||||||
{
|
{
|
||||||
if(!co_active_)
|
if(!co_active_)
|
||||||
{
|
{
|
||||||
|
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
||||||
|
ConvertThreadToFiberEx(0, FIBER_FLAG_FLOAT_SWITCH);
|
||||||
|
#else
|
||||||
ConvertThreadToFiber(0);
|
ConvertThreadToFiber(0);
|
||||||
|
#endif
|
||||||
co_active_ = GetCurrentFiber();
|
co_active_ = GetCurrentFiber();
|
||||||
}
|
}
|
||||||
return co_active_;
|
return co_active_;
|
||||||
@ -36,10 +40,19 @@ cothread_t co_create(unsigned int heapsize, void (*coentry)(void))
|
|||||||
{
|
{
|
||||||
if(!co_active_)
|
if(!co_active_)
|
||||||
{
|
{
|
||||||
|
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
||||||
|
ConvertThreadToFiberEx(0, FIBER_FLAG_FLOAT_SWITCH);
|
||||||
|
#else
|
||||||
ConvertThreadToFiber(0);
|
ConvertThreadToFiber(0);
|
||||||
|
#endif
|
||||||
co_active_ = GetCurrentFiber();
|
co_active_ = GetCurrentFiber();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
||||||
|
return (cothread_t)CreateFiberEx(heapsize, heapsize, FIBER_FLAG_FLOAT_SWITCH, co_thunk, (void*)coentry);
|
||||||
|
#else
|
||||||
return (cothread_t)CreateFiber(heapsize, co_thunk, (void*)coentry);
|
return (cothread_t)CreateFiber(heapsize, co_thunk, (void*)coentry);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void co_delete(cothread_t cothread)
|
void co_delete(cothread_t cothread)
|
||||||
|
@ -4,20 +4,31 @@
|
|||||||
license: public domain
|
license: public domain
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(__GNUC__) && defined(__i386__) || (defined(_MSC_VER) && defined(_M_IX86))
|
#if defined _MSC_VER
|
||||||
#include "x86.c"
|
#include <Windows.h>
|
||||||
#elif defined(__GNUC__) && defined(__amd64__) || (defined(_MSC_VER) && defined(_M_AMD64))
|
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
||||||
#include "amd64.c"
|
#include "fiber.c"
|
||||||
#elif defined(__GNUC__) && defined(_ARCH_PPC)
|
#elif defined _M_IX86
|
||||||
#include "ppc.c"
|
#include "x86.c"
|
||||||
#elif defined(__GNUC__) && defined(VITA)
|
#elif defined _M_AMD64
|
||||||
#include "scefiber.c"
|
#include "amd64.c"
|
||||||
#elif defined(__GNUC__) && (defined(__ARM_EABI__) || defined(__arm__))
|
#else
|
||||||
#include "armeabi.c"
|
#include "fiber.c"
|
||||||
#elif defined(__GNUC__)
|
#endif
|
||||||
#include "sjlj.c"
|
#elif defined __GNUC__
|
||||||
#elif defined(_MSC_VER)
|
#if defined __i386__
|
||||||
#include "fiber.c"
|
#include "x86.c"
|
||||||
|
#elif defined __amd64__
|
||||||
|
#include "amd64.c"
|
||||||
|
#elif defined _ARCH_PPC
|
||||||
|
#include "ppc.c"
|
||||||
|
#elif defined VITA
|
||||||
|
#include "scefiber.c"
|
||||||
|
#elif defined(__ARM_EABI__) || defined(__arm__)
|
||||||
|
#include "armeabi.c"
|
||||||
|
#else
|
||||||
|
#include "sjlj.c"
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
#error "libco: unsupported processor, compiler or operating system"
|
#error "libco: unsupported processor, compiler or operating system"
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user