mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 14:08:37 +00:00
Fixed conflicts
This commit is contained in:
commit
8bd0ee875c
84 changed files with 864 additions and 1211 deletions
|
|
@ -50,10 +50,10 @@ class be_t
|
|||
|
||||
public:
|
||||
typedef T type;
|
||||
|
||||
be_t()
|
||||
{
|
||||
}
|
||||
#ifdef __GNUG__
|
||||
be_t() noexcept = default
|
||||
#endif
|
||||
be_t(){}
|
||||
|
||||
be_t(const T& value)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
#if defined(__GNUG__)
|
||||
#include <math.h>
|
||||
#define _fpclass(x) fpclassify(x)
|
||||
#include <cmath>
|
||||
#define _fpclass(x) std::fpclassify(x)
|
||||
#define __forceinline __attribute__((always_inline))
|
||||
#define _byteswap_ushort(x) __builtin_bswap16(x)
|
||||
#define _byteswap_ulong(x) __builtin_bswap32(x)
|
||||
|
|
@ -10,4 +10,10 @@
|
|||
#define Sleep(x) usleep(x * 1000)
|
||||
#define mkdir(x) mkdir(x, 0777)
|
||||
#define INFINITE 0xFFFFFFFF
|
||||
#define _CRT_ALIGN(x) __attribute__((aligned(x)))
|
||||
#define InterlockedCompareExchange(ptr,new_val,old_val) __sync_val_compare_and_swap(ptr,old_val,new_val)
|
||||
#define InterlockedCompareExchange64(ptr,new_val,old_val) __sync_val_compare_and_swap(ptr,old_val,new_val)
|
||||
#define _aligned_malloc(size,alignment) aligned_alloc(alignment,size)
|
||||
#define _aligned_free(pointer) free(pointer)
|
||||
#define DWORD int64_t
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -96,7 +96,11 @@ public:
|
|||
m_cur_id = s_first_id;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
template<typename T
|
||||
#ifdef __GNUG__
|
||||
= char
|
||||
#endif
|
||||
>
|
||||
ID_TYPE GetNewID(const std::string& name = "", T* data = nullptr, const u32 attr = 0)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(m_mtx_main);
|
||||
|
|
@ -155,4 +159,4 @@ public:
|
|||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -95,4 +95,4 @@ public:
|
|||
|
||||
wxDialog::Close(force);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ __forceinline void SM_Sleep()
|
|||
Sleep(1);
|
||||
}
|
||||
|
||||
__forceinline DWORD SM_GetCurrentThreadId()
|
||||
__forceinline size_t SM_GetCurrentThreadId()
|
||||
{
|
||||
return GetCurrentThreadId();
|
||||
return std::this_thread::get_id().hash();
|
||||
}
|
||||
|
||||
__forceinline u32 SM_GetCurrentCPUThreadId()
|
||||
|
|
@ -23,4 +23,4 @@ __forceinline u32 SM_GetCurrentCPUThreadId()
|
|||
__forceinline be_t<u32> SM_GetCurrentCPUThreadIdBE()
|
||||
{
|
||||
return SM_GetCurrentCPUThreadId();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
extern void SM_Sleep();
|
||||
extern DWORD SM_GetCurrentThreadId();
|
||||
extern size_t SM_GetCurrentThreadId();
|
||||
extern u32 SM_GetCurrentCPUThreadId();
|
||||
extern be_t<u32> SM_GetCurrentCPUThreadIdBE();
|
||||
|
||||
|
|
@ -20,13 +20,12 @@ enum SMutexResult
|
|||
template
|
||||
<
|
||||
typename T,
|
||||
u32 free_value = 0,
|
||||
u32 dead_value = ~0,
|
||||
void (wait)() = SM_Sleep
|
||||
u64 free_value = 0,
|
||||
u64 dead_value = ~0,
|
||||
void (*wait)() = SM_Sleep
|
||||
>
|
||||
class SMutexBase
|
||||
{
|
||||
static_assert(sizeof(T) == 4, "Invalid SMutexBase typename");
|
||||
std::atomic<T> owner;
|
||||
|
||||
public:
|
||||
|
|
@ -157,16 +156,16 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
typedef SMutexBase<DWORD>
|
||||
typedef SMutexBase<size_t>
|
||||
SMutexGeneral;
|
||||
typedef SMutexBase<u32>
|
||||
SMutex;
|
||||
typedef SMutexBase<be_t<u32>>
|
||||
SMutexBE;
|
||||
|
||||
typedef SMutexLockerBase<DWORD, SM_GetCurrentThreadId>
|
||||
typedef SMutexLockerBase<size_t, SM_GetCurrentThreadId>
|
||||
SMutexGeneralLocker;
|
||||
typedef SMutexLockerBase<u32, SM_GetCurrentCPUThreadId>
|
||||
SMutexLocker;
|
||||
typedef SMutexLockerBase<be_t<u32>, SM_GetCurrentCPUThreadIdBE>
|
||||
SMutexBELocker;
|
||||
SMutexBELocker;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,12 @@
|
|||
#include "stdafx.h"
|
||||
#include "Thread.h"
|
||||
|
||||
__declspec(thread) NamedThreadBase* g_tls_this_thread = nullptr;
|
||||
#ifdef _WIN32
|
||||
__declspec(thread)
|
||||
#else
|
||||
thread_local
|
||||
#endif
|
||||
NamedThreadBase* g_tls_this_thread = nullptr;
|
||||
|
||||
NamedThreadBase* GetCurrentNamedThread()
|
||||
{
|
||||
|
|
@ -125,7 +130,7 @@ void thread::start(std::function<void()> func)
|
|||
catch(...)
|
||||
{
|
||||
ConLog.Error("Crash :(");
|
||||
terminate();
|
||||
std::terminate();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -143,4 +148,4 @@ void thread::join()
|
|||
bool thread::joinable() const
|
||||
{
|
||||
return m_thr.joinable();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ class StepThread : public ThreadBase
|
|||
volatile bool m_exit;
|
||||
|
||||
protected:
|
||||
StepThread(const wxString& name = "Unknown StepThread")
|
||||
StepThread(const std::string& name = "Unknown StepThread")
|
||||
: ThreadBase(true, name)
|
||||
, m_exit(false)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue