diff --git a/Core/MIPS/x86/Jit.cpp b/Core/MIPS/x86/Jit.cpp index 84d270e00d..e381efc04e 100644 --- a/Core/MIPS/x86/Jit.cpp +++ b/Core/MIPS/x86/Jit.cpp @@ -290,7 +290,13 @@ void Jit::UpdateRoundingMode(XEmitter *emitter) // This is the most common situation. emitter->TEST(32, M(&mips_->fcr31), Imm32(0x01000003)); FixupBranch skip = emitter->J_CC(CC_Z); +#ifdef _M_X64 + // TODO: Move the hasSetRounding flag somewhere we can reach it through the context pointer, or something. + emitter->MOV(64, R(RAX), Imm64((uintptr_t)&js.hasSetRounding)); + emitter->MOV(8, MatR(RAX), Imm8(1)); +#else emitter->MOV(8, M(&js.hasSetRounding), Imm8(1)); +#endif emitter->SetJumpTarget(skip); } } diff --git a/Windows/GEDebugger/SimpleGLWindow.cpp b/Windows/GEDebugger/SimpleGLWindow.cpp index 74a4da56cd..8f24b65179 100644 --- a/Windows/GEDebugger/SimpleGLWindow.cpp +++ b/Windows/GEDebugger/SimpleGLWindow.cpp @@ -69,7 +69,7 @@ static const char basic_vs[] = SimpleGLWindow::SimpleGLWindow(HWND wnd) : hWnd_(wnd), valid_(false), drawProgram_(nullptr), tex_(0), flags_(0), zoom_(false), dragging_(false), offsetX_(0), offsetY_(0), reformatBuf_(nullptr) { - SetWindowLongPtr(wnd, GWLP_USERDATA, (LONG) this); + SetWindowLongPtr(wnd, GWLP_USERDATA, (LONG_PTR) this); } SimpleGLWindow::~SimpleGLWindow() { diff --git a/Windows/W32Util/PropertySheet.cpp b/Windows/W32Util/PropertySheet.cpp index 1254b64b0b..0ca68dcedd 100644 --- a/Windows/W32Util/PropertySheet.cpp +++ b/Windows/W32Util/PropertySheet.cpp @@ -150,7 +150,7 @@ namespace W32Util } LPARAM l = ((LPPROPSHEETPAGE)lParam)->lParam; tab = (Tab *)l; - SetWindowLongPtr(hDlg, GWLP_USERDATA, (DWORD_PTR)l); + SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)l); tab->Init(hDlg); } break;