author | Jacek Caban <jacek@codeweavers.com> |
Mon, 23 Feb 2015 12:14:49 +0100 (2015-02-23) | |
changeset 230326 | e37165f9b5fe445d982aca359266d41b0d9c323b |
parent 230325 | 50752f206a9b34be3557cf411d61739b0ca35cf3 |
child 230327 | 0adcaee7f3bb6aeb75c1a71d4f3a6d5462e05ea6 |
push id | 28322 |
push user | kwierso@gmail.com |
push date | Tue, 24 Feb 2015 00:05:31 +0000 (2015-02-24) |
treeherder | mozilla-central@368c62292249 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jmuizelaar |
bugs | 1133689 |
milestone | 38.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/gfx/thebes/gfxWindowsPlatform.cpp +++ b/gfx/thebes/gfxWindowsPlatform.cpp @@ -1968,23 +1968,16 @@ public: : mVsyncEnabledLock("D3DVsyncEnabledLock") , mVsyncEnabled(false) { mVsyncThread = new base::Thread("WindowsVsyncThread"); const double rate = 1000 / 60.0; mSoftwareVsyncRate = TimeDuration::FromMilliseconds(rate); } - virtual ~D3DVsyncDisplay() - { - MOZ_ASSERT(NS_IsMainThread()); - DisableVsync(); - delete mVsyncThread; - } - virtual void EnableVsync() MOZ_OVERRIDE { MOZ_ASSERT(NS_IsMainThread()); { // scope lock MonitorAutoLock lock(mVsyncEnabledLock); if (mVsyncEnabled) { return; } @@ -2077,16 +2070,23 @@ public: MOZ_ASSERT(adjust > 0); uint64_t usAdjust = (adjust * microseconds) / frequency.QuadPart; vsync -= TimeDuration::FromMicroseconds((double) usAdjust); } } // end for } private: + virtual ~D3DVsyncDisplay() + { + MOZ_ASSERT(NS_IsMainThread()); + DisableVsync(); + delete mVsyncThread; + } + bool IsInVsyncThread() { return mVsyncThread->thread_id() == PlatformThread::CurrentId(); } TimeDuration mSoftwareVsyncRate; Monitor mVsyncEnabledLock; base::Thread* mVsyncThread;