mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Use atomic operations on Android + warning fixes.
This commit is contained in:
parent
24203b1a5d
commit
49ab98c7fd
5 changed files with 15 additions and 6 deletions
|
@ -141,7 +141,7 @@ namespace MIPSAnalyst
|
|||
int rd = MIPS_GET_RD(op);
|
||||
|
||||
if (
|
||||
((info & IN_RS) && !(info & IN_RS_ADDR) && (rs == reg)) ||
|
||||
((info & IN_RS) && (info & IN_RS_ADDR) == IN_RS && (rs == reg)) ||
|
||||
((info & IN_RT) && (rt == reg)))
|
||||
{
|
||||
if (regAnal[reg].firstRead == -1)
|
||||
|
|
|
@ -114,6 +114,9 @@ namespace MIPSCodeUtils
|
|||
sure = _RS == 0;
|
||||
takeBranch = false;
|
||||
break;
|
||||
|
||||
default:
|
||||
sure = false;
|
||||
}
|
||||
|
||||
if (sure && takeBranch)
|
||||
|
|
|
@ -558,7 +558,7 @@ void GPUCommon::ProcessEvent(GPUEvent ev) {
|
|||
break;
|
||||
|
||||
default:
|
||||
ERROR_LOG(G3D, "Unexpected GPU event type: %d", ev);
|
||||
ERROR_LOG(G3D, "Unexpected GPU event type: %d", (int)ev);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
#include "Core/ThreadEventQueue.h"
|
||||
#include "GPU/GPUInterface.h"
|
||||
|
||||
#ifdef _M_SSE
|
||||
#if defined(ANDROID)
|
||||
#include <atomic>
|
||||
#elif defined(_M_SSE)
|
||||
#include <xmmintrin.h>
|
||||
#pragma warning(disable:4799)
|
||||
#endif
|
||||
|
@ -43,7 +45,7 @@ public:
|
|||
virtual void ReapplyGfxState();
|
||||
|
||||
virtual u64 GetTickEstimate() {
|
||||
#if defined(_M_X64)
|
||||
#if defined(_M_X64) || defined(ANDROID)
|
||||
return curTickEst_;
|
||||
#elif defined(_M_SSE)
|
||||
__m64 result = *(__m64 *)&curTickEst_;
|
||||
|
@ -105,11 +107,15 @@ protected:
|
|||
bool interruptsEnabled_;
|
||||
|
||||
// For CPU/GPU sync.
|
||||
#ifdef ANDROID
|
||||
std::atomic<u64> curTickEst_;
|
||||
#else
|
||||
volatile MEMORY_ALIGNED16(u64) curTickEst_;
|
||||
recursive_mutex curTickEstLock_;
|
||||
#endif
|
||||
|
||||
virtual void UpdateTickEstimate(u64 value) {
|
||||
#if defined(_M_X64)
|
||||
#if defined(_M_X64) || defined(ANDROID)
|
||||
curTickEst_ = value;
|
||||
#elif defined(_M_SSE)
|
||||
__m64 result = *(__m64 *)&value;
|
||||
|
|
|
@ -142,7 +142,7 @@ bool DisasmVFP(uint32_t op, char *text) {
|
|||
if ((op & 0xFFF) != 0xA10)
|
||||
break;
|
||||
if (op == 0xEEF1FA10) {
|
||||
sprintf(text, "VMRS APSR", cond);
|
||||
sprintf(text, "VMRS%s APSR", cond);
|
||||
} else {
|
||||
sprintf(text, "VMRS%s r%i", cond, (op >> 12) & 0xF);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue