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