Branimir Karadžić пре 9 година
родитељ
комит
97a3167c63
8 измењених фајлова са 27 додато и 30 уклоњено
  1. 1 13
      include/bx/config.h
  2. 2 2
      include/bx/mutex.h
  3. 9 2
      include/bx/os.h
  4. 1 1
      include/bx/platform.h
  5. 7 5
      include/bx/sem.h
  6. 3 3
      include/bx/thread.h
  7. 3 3
      include/bx/timer.h
  8. 1 1
      include/bx/uint32_t.h

+ 1 - 13
include/bx/config.h

@@ -21,19 +21,7 @@
 #endif // BX_CONFIG_SPSCQUEUE_USE_MUTEX
 #endif // BX_CONFIG_SPSCQUEUE_USE_MUTEX
 
 
 #ifndef BX_CONFIG_CRT_FILE_READER_WRITER
 #ifndef BX_CONFIG_CRT_FILE_READER_WRITER
-#	define BX_CONFIG_CRT_FILE_READER_WRITER (0 \
-				|| BX_PLATFORM_ANDROID \
-				|| BX_PLATFORM_BSD \
-				|| BX_PLATFORM_EMSCRIPTEN \
-				|| BX_PLATFORM_IOS \
-				|| BX_PLATFORM_LINUX \
-				|| BX_PLATFORM_OSX \
-				|| BX_PLATFORM_QNX \
-				|| BX_PLATFORM_RPI \
-				|| BX_PLATFORM_STEAMLINK \
-				|| BX_PLATFORM_WINDOWS \
-				|| BX_PLATFORM_WINRT \
-				? 1 : 0)
+#	define BX_CONFIG_CRT_FILE_READER_WRITER !(BX_PLATFORM_NACL)
 #endif // BX_CONFIG_CRT_FILE_READER_WRITER
 #endif // BX_CONFIG_CRT_FILE_READER_WRITER
 
 
 #ifndef BX_CONFIG_SEMAPHORE_PTHREAD
 #ifndef BX_CONFIG_SEMAPHORE_PTHREAD

+ 2 - 2
include/bx/mutex.h

@@ -21,7 +21,7 @@
 
 
 namespace bx
 namespace bx
 {
 {
-#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT
+#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 	typedef CRITICAL_SECTION pthread_mutex_t;
 	typedef CRITICAL_SECTION pthread_mutex_t;
 	typedef unsigned pthread_mutexattr_t;
 	typedef unsigned pthread_mutexattr_t;
 
 
@@ -70,7 +70,7 @@ namespace bx
 		Mutex()
 		Mutex()
 		{
 		{
 			pthread_mutexattr_t attr;
 			pthread_mutexattr_t attr;
-#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT
+#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 #else
 #else
 			pthread_mutexattr_init(&attr);
 			pthread_mutexattr_init(&attr);
 			pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
 			pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);

+ 9 - 2
include/bx/os.h

@@ -75,7 +75,7 @@ namespace bx
 	{
 	{
 #if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360
 #if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360
 		::Sleep(_ms);
 		::Sleep(_ms);
-#elif BX_PLATFORM_WINRT
+#elif BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 		BX_UNUSED(_ms);
 		BX_UNUSED(_ms);
 		debugOutput("sleep is not implemented"); debugBreak();
 		debugOutput("sleep is not implemented"); debugBreak();
 #else
 #else
@@ -91,7 +91,7 @@ namespace bx
 		::SwitchToThread();
 		::SwitchToThread();
 #elif BX_PLATFORM_XBOX360
 #elif BX_PLATFORM_XBOX360
 		::Sleep(0);
 		::Sleep(0);
-#elif BX_PLATFORM_WINRT
+#elif BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 		debugOutput("yield is not implemented"); debugBreak();
 		debugOutput("yield is not implemented"); debugBreak();
 #else
 #else
 		::sched_yield();
 		::sched_yield();
@@ -180,6 +180,7 @@ namespace bx
 #elif  BX_PLATFORM_EMSCRIPTEN \
 #elif  BX_PLATFORM_EMSCRIPTEN \
 	|| BX_PLATFORM_NACL \
 	|| BX_PLATFORM_NACL \
 	|| BX_PLATFORM_PS4 \
 	|| BX_PLATFORM_PS4 \
+	|| BX_PLATFORM_XBOXONE \
 	|| BX_PLATFORM_WINRT
 	|| BX_PLATFORM_WINRT
 		BX_UNUSED(_filePath);
 		BX_UNUSED(_filePath);
 		return NULL;
 		return NULL;
@@ -195,6 +196,7 @@ namespace bx
 #elif  BX_PLATFORM_EMSCRIPTEN \
 #elif  BX_PLATFORM_EMSCRIPTEN \
 	|| BX_PLATFORM_NACL \
 	|| BX_PLATFORM_NACL \
 	|| BX_PLATFORM_PS4 \
 	|| BX_PLATFORM_PS4 \
+	|| BX_PLATFORM_XBOXONE \
 	|| BX_PLATFORM_WINRT
 	|| BX_PLATFORM_WINRT
 		BX_UNUSED(_handle);
 		BX_UNUSED(_handle);
 #else
 #else
@@ -209,6 +211,7 @@ namespace bx
 #elif  BX_PLATFORM_EMSCRIPTEN \
 #elif  BX_PLATFORM_EMSCRIPTEN \
 	|| BX_PLATFORM_NACL \
 	|| BX_PLATFORM_NACL \
 	|| BX_PLATFORM_PS4 \
 	|| BX_PLATFORM_PS4 \
+	|| BX_PLATFORM_XBOXONE \
 	|| BX_PLATFORM_WINRT
 	|| BX_PLATFORM_WINRT
 		BX_UNUSED(_handle, _symbol);
 		BX_UNUSED(_handle, _symbol);
 		return NULL;
 		return NULL;
@@ -222,6 +225,7 @@ namespace bx
 #if BX_PLATFORM_WINDOWS
 #if BX_PLATFORM_WINDOWS
 		::SetEnvironmentVariableA(_name, _value);
 		::SetEnvironmentVariableA(_name, _value);
 #elif  BX_PLATFORM_PS4 \
 #elif  BX_PLATFORM_PS4 \
+	|| BX_PLATFORM_XBOXONE \
 	|| BX_PLATFORM_WINRT
 	|| BX_PLATFORM_WINRT
 		BX_UNUSED(_name, _value);
 		BX_UNUSED(_name, _value);
 #else
 #else
@@ -234,6 +238,7 @@ namespace bx
 #if BX_PLATFORM_WINDOWS
 #if BX_PLATFORM_WINDOWS
 		::SetEnvironmentVariableA(_name, NULL);
 		::SetEnvironmentVariableA(_name, NULL);
 #elif  BX_PLATFORM_PS4 \
 #elif  BX_PLATFORM_PS4 \
+	|| BX_PLATFORM_XBOXONE \
 	|| BX_PLATFORM_WINRT
 	|| BX_PLATFORM_WINRT
 		BX_UNUSED(_name);
 		BX_UNUSED(_name);
 #else
 #else
@@ -244,6 +249,7 @@ namespace bx
 	inline int chdir(const char* _path)
 	inline int chdir(const char* _path)
 	{
 	{
 #if BX_PLATFORM_PS4 \
 #if BX_PLATFORM_PS4 \
+ || BX_PLATFORM_XBOXONE \
  || BX_PLATFORM_WINRT
  || BX_PLATFORM_WINRT
 		BX_UNUSED(_path);
 		BX_UNUSED(_path);
 		return -1;
 		return -1;
@@ -257,6 +263,7 @@ namespace bx
 	inline char* pwd(char* _buffer, uint32_t _size)
 	inline char* pwd(char* _buffer, uint32_t _size)
 	{
 	{
 #if BX_PLATFORM_PS4 \
 #if BX_PLATFORM_PS4 \
+ || BX_PLATFORM_XBOXONE \
  || BX_PLATFORM_WINRT
  || BX_PLATFORM_WINRT
 		BX_UNUSED(_buffer, _size);
 		BX_UNUSED(_buffer, _size);
 		return NULL;
 		return NULL;

+ 1 - 1
include/bx/platform.h

@@ -123,7 +123,7 @@
 #if defined(_XBOX_VER)
 #if defined(_XBOX_VER)
 #	undef  BX_PLATFORM_XBOX360
 #	undef  BX_PLATFORM_XBOX360
 #	define BX_PLATFORM_XBOX360 1
 #	define BX_PLATFORM_XBOX360 1
-#elif defined (_DURANGO)
+#elif defined(_DURANGO) || defined(_XBOX_ONE)
 #	undef  BX_PLATFORM_XBOXONE
 #	undef  BX_PLATFORM_XBOXONE
 #	define BX_PLATFORM_XBOXONE 1
 #	define BX_PLATFORM_XBOXONE 1
 #elif defined(_WIN32) || defined(_WIN64)
 #elif defined(_WIN32) || defined(_WIN64)

+ 7 - 5
include/bx/sem.h

@@ -16,7 +16,9 @@
 #	include <semaphore.h>
 #	include <semaphore.h>
 #	include <time.h>
 #	include <time.h>
 #	include <pthread.h>
 #	include <pthread.h>
-#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT
+#elif BX_PLATFORM_XBOXONE
+#	include <synchapi.h>
+#elif BX_PLATFORM_XBOX360 || BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
 #	include <windows.h>
 #	include <windows.h>
 #	include <limits.h>
 #	include <limits.h>
 #endif // BX_PLATFORM_
 #endif // BX_PLATFORM_
@@ -211,7 +213,7 @@ namespace bx
 	};
 	};
 #	endif // BX_CONFIG_SEMAPHORE_PTHREAD
 #	endif // BX_CONFIG_SEMAPHORE_PTHREAD
 
 
-#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT
+#elif BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
 
 
 	class Semaphore
 	class Semaphore
 	{
 	{
@@ -223,10 +225,10 @@ namespace bx
 	public:
 	public:
 		Semaphore()
 		Semaphore()
 		{
 		{
-#if BX_PLATFORM_WINRT
+#if BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 			m_handle = CreateSemaphoreEx(NULL, 0, LONG_MAX, NULL, 0, SEMAPHORE_ALL_ACCESS);
 			m_handle = CreateSemaphoreEx(NULL, 0, LONG_MAX, NULL, 0, SEMAPHORE_ALL_ACCESS);
 #else
 #else
-			m_handle = CreateSemaphore(NULL, 0, LONG_MAX, NULL);
+			m_handle = CreateSemaphoreA(NULL, 0, LONG_MAX, NULL);
 #endif
 #endif
 			BX_CHECK(NULL != m_handle, "Failed to create Semaphore!");
 			BX_CHECK(NULL != m_handle, "Failed to create Semaphore!");
 		}
 		}
@@ -244,7 +246,7 @@ namespace bx
 		bool wait(int32_t _msecs = -1) const
 		bool wait(int32_t _msecs = -1) const
 		{
 		{
 			DWORD milliseconds = (0 > _msecs) ? INFINITE : _msecs;
 			DWORD milliseconds = (0 > _msecs) ? INFINITE : _msecs;
-#if BX_PLATFORM_WINRT
+#if BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 			return WAIT_OBJECT_0 == WaitForSingleObjectEx(m_handle, milliseconds, FALSE);
 			return WAIT_OBJECT_0 == WaitForSingleObjectEx(m_handle, milliseconds, FALSE);
 #else
 #else
 			return WAIT_OBJECT_0 == WaitForSingleObject(m_handle, milliseconds);
 			return WAIT_OBJECT_0 == WaitForSingleObject(m_handle, milliseconds);

+ 3 - 3
include/bx/thread.h

@@ -34,7 +34,7 @@ namespace bx
 
 
 	public:
 	public:
 		Thread()
 		Thread()
-#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT
+#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 			: m_handle(INVALID_HANDLE_VALUE)
 			: m_handle(INVALID_HANDLE_VALUE)
 			, m_threadId(UINT32_MAX)
 			, m_threadId(UINT32_MAX)
 #elif BX_PLATFORM_POSIX
 #elif BX_PLATFORM_POSIX
@@ -224,7 +224,7 @@ namespace bx
 		}
 		}
 #endif // BX_PLATFORM_
 #endif // BX_PLATFORM_
 
 
-#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT
+#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 		HANDLE m_handle;
 		HANDLE m_handle;
 		DWORD  m_threadId;
 		DWORD  m_threadId;
 #elif BX_PLATFORM_POSIX
 #elif BX_PLATFORM_POSIX
@@ -269,7 +269,7 @@ namespace bx
 		uint32_t m_id;
 		uint32_t m_id;
 	};
 	};
 
 
-#elif !BX_PLATFORM_WINRT
+#elif !(BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT)
 
 
 	class TlsData
 	class TlsData
 	{
 	{

+ 3 - 3
include/bx/timer.h

@@ -12,7 +12,7 @@
 #	include <time.h> // clock, clock_gettime
 #	include <time.h> // clock, clock_gettime
 #elif BX_PLATFORM_EMSCRIPTEN
 #elif BX_PLATFORM_EMSCRIPTEN
 #	include <emscripten.h>
 #	include <emscripten.h>
-#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
+#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 #	include <windows.h>
 #	include <windows.h>
 #else
 #else
 #	include <sys/time.h> // gettimeofday
 #	include <sys/time.h> // gettimeofday
@@ -22,7 +22,7 @@ namespace bx
 {
 {
 	inline int64_t getHPCounter()
 	inline int64_t getHPCounter()
 	{
 	{
-#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT
+#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 		LARGE_INTEGER li;
 		LARGE_INTEGER li;
 		// Performance counter value may unexpectedly leap forward
 		// Performance counter value may unexpectedly leap forward
 		// http://support.microsoft.com/kb/274323
 		// http://support.microsoft.com/kb/274323
@@ -44,7 +44,7 @@ namespace bx
 
 
 	inline int64_t getHPFrequency()
 	inline int64_t getHPFrequency()
 	{
 	{
-#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT
+#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 		LARGE_INTEGER li;
 		LARGE_INTEGER li;
 		QueryPerformanceFrequency(&li);
 		QueryPerformanceFrequency(&li);
 		return li.QuadPart;
 		return li.QuadPart;

+ 1 - 1
include/bx/uint32_t.h

@@ -29,7 +29,7 @@
 #include "bx.h"
 #include "bx.h"
 
 
 #if BX_COMPILER_MSVC
 #if BX_COMPILER_MSVC
-#	if BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT
+#	if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT
 #		include <math.h> // math.h is included because VS bitches:
 #		include <math.h> // math.h is included because VS bitches:
 						 // warning C4985: 'ceil': attributes not present on previous declaration.
 						 // warning C4985: 'ceil': attributes not present on previous declaration.
 						 // must be included before intrin.h.
 						 // must be included before intrin.h.