Преглед на файлове

Fix lib ConvexDecomp to compile on WIN64.

LuisAntonRebollo преди 11 години
родител
ревизия
a93f179138
променени са 1 файла, в които са добавени 5 реда и са изтрити 3 реда
  1. 5 3
      Engine/lib/convexDecomp/NvThreadConfig.cpp

+ 5 - 3
Engine/lib/convexDecomp/NvThreadConfig.cpp

@@ -133,6 +133,8 @@ void tc_spinloop()
       asm ( "pause" );
    #elif defined( _XBOX )
       // Pause would do nothing on the Xbox. Threads are not scheduled.
+   #elif defined( _WIN64 )
+      YieldProcessor( );
    #else
       __asm { pause };
    #endif
@@ -144,7 +146,7 @@ void tc_interlockedExchange(void *dest, const int64_t exchange)
 	  // not working
 	  assert(false);
 	  //__sync_lock_test_and_set((int64_t*)dest, exchange);
-   #elif defined( _XBOX )
+#elif defined( _XBOX ) || defined( _WIN64 )
    InterlockedExchange((volatile LONG *)dest, exchange);
    #else
       __asm
@@ -172,7 +174,7 @@ NxI32 tc_interlockedCompareExchange(void *dest, NxI32 exchange, NxI32 compare)
 	  return 0;
 	  //return __sync_val_compare_and_swap((uintptr_t*)dest, exchange, compare);
 	  //return __sync_bool_compare_and_swap((uintptr_t*)dest, exchange, compare);
-   #elif defined( _XBOX )
+   #elif defined( _XBOX ) || defined( _WIN64 )
      return InterlockedCompareExchange((volatile LONG *)dest, exchange, compare);
    #else
       char _ret;
@@ -202,7 +204,7 @@ NxI32 tc_interlockedCompareExchange(void *dest, const NxI32 exchange1, const NxI
 	  //uint64_t exchange = ((uint64_t)exchange1 << 32) | (uint64_t)exchange2;
 	  //uint64_t compare = ((uint64_t)compare1 << 32) | (uint64_t)compare2;
 	  //return __sync_bool_compare_and_swap((int64_t*)dest, exchange, compare);
-   #elif defined( _XBOX )
+   #elif defined( _XBOX ) || defined( _WIN64 )
      assert(false);
      return 0;
    #else