aboutsummaryrefslogtreecommitdiffstats
path: root/LibOVR/Src/Util/Util_LatencyTest2.cpp
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2015-03-21 23:01:12 +0100
committerSven Gothel <[email protected]>2015-03-21 23:01:12 +0100
commit0c5c4be020c2d55540058a49b2a879f46d5a1e13 (patch)
tree00f84c2ca18cc233b826014094b9cad0769a3ea5 /LibOVR/Src/Util/Util_LatencyTest2.cpp
parentcbbd775b6c754927632c333ff01424a0d2048c7c (diff)
parente490c3c7f7bb5461cfa78a214827aa534fb43a3e (diff)
Merge branch 'vanilla_0.4.4' and resolve conflicts
TODO: Validate for removed patches due to relocation Resolved Conflicts: LibOVR/Src/Kernel/OVR_ThreadsWinAPI.cpp LibOVR/Src/OVR_Linux_HMDDevice.cpp LibOVR/Src/OVR_OSX_HMDDevice.cpp LibOVR/Src/OVR_Profile.cpp LibOVR/Src/OVR_Sensor2Impl.cpp LibOVR/Src/OVR_SensorFusion.cpp LibOVR/Src/OVR_SensorImpl.cpp LibOVR/Src/OVR_Win32_DeviceStatus.cpp LibOVR/Src/OVR_Win32_HIDDevice.cpp LibOVR/Src/OVR_Win32_HIDDevice.h LibOVR/Src/OVR_Win32_HMDDevice.cpp
Diffstat (limited to 'LibOVR/Src/Util/Util_LatencyTest2.cpp')
-rw-r--r--LibOVR/Src/Util/Util_LatencyTest2.cpp191
1 files changed, 0 insertions, 191 deletions
diff --git a/LibOVR/Src/Util/Util_LatencyTest2.cpp b/LibOVR/Src/Util/Util_LatencyTest2.cpp
deleted file mode 100644
index 6fc8b1f..0000000
--- a/LibOVR/Src/Util/Util_LatencyTest2.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-/************************************************************************************
-
-Filename : Util_LatencyTest2.cpp
-Content : Wraps the lower level LatencyTester interface for DK2 and adds functionality.
-Created : March 10, 2014
-Authors : Volga Aksoy
-
-Copyright : Copyright 2014 Oculus VR, Inc. All Rights reserved.
-
-Licensed under the Oculus VR Rift SDK License Version 3.1 (the "License");
-you may not use the Oculus VR Rift SDK except in compliance with the License,
-which is provided at the time of installation or download, or which
-otherwise accompanies this software in either electronic or hard copy form.
-
-You may obtain a copy of the License at
-
-http://www.oculusvr.com/licenses/LICENSE-3.1
-
-Unless required by applicable law or agreed to in writing, the Oculus VR SDK
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-*************************************************************************************/
-
-#include "Util_LatencyTest2.h"
-
-#include "../OVR_CAPI.h"
-#include "../Kernel/OVR_Log.h"
-#include "../Kernel/OVR_Timer.h"
-
-
-namespace OVR { namespace Util {
-
-//-------------------------------------------------------------------------------------
-// ***** LatencyTest2
-
-LatencyTest2::LatencyTest2(SensorDevice* device)
- : Handler(getThis())
- , TestActive(false)
- , StartTiming(-1)
- , LatencyMeasuredInSeconds(-1)
- , LastPixelReadMsg(NULL)
- , RenderColorValue(0)
- , NumMsgsBeforeSettle(0)
- , NumTestsSuccessful(0)
-{
- if (device != NULL)
- {
- SetSensorDevice(device);
- }
-}
-
-LatencyTest2::~LatencyTest2()
-{
- HmdDevice = NULL;
- LatencyTesterDev = NULL;
-
- Handler.RemoveHandlerFromDevices();
-}
-
-bool LatencyTest2::SetSensorDevice(SensorDevice* device)
-{
- Lock::Locker devLocker(&TesterLock);
-
- // Enable/Disable pixel read from HMD
- if (device != HmdDevice)
- {
- Handler.RemoveHandlerFromDevices();
-
- HmdDevice = device;
-
- if (HmdDevice != NULL)
- {
- HmdDevice->AddMessageHandler(&Handler);
- }
- }
-
- return true;
-}
-
-bool LatencyTest2::SetDisplayDevice(LatencyTestDevice* device)
-{
- Lock::Locker devLocker(&TesterLock);
-
- if (device != LatencyTesterDev)
- {
- LatencyTesterDev = device;
- if (LatencyTesterDev != NULL)
- {
- // Set display to initial (3 dashes).
- LatencyTestDisplay ltd(2, 0x40400040);
- LatencyTesterDev->SetDisplay(ltd);
- }
- }
-
- return true;
-}
-
-void LatencyTest2::BeginTest(double startTime)
-{
- Lock::Locker devLocker(&TesterLock);
-
- if (!TestActive)
- {
- TestActive = true;
- NumMsgsBeforeSettle = 0;
-
- // Go to next pixel value
- //RenderColorValue = (RenderColorValue == 0) ? 255 : 0;
- RenderColorValue = (RenderColorValue + LT2_ColorIncrement) % 256;
- RawStartTiming = LastPixelReadMsg.RawSensorTime;
-
- if (startTime > 0.0)
- StartTiming = startTime;
- else
- StartTiming = ovr_GetTimeInSeconds();
-
- }
-}
-
-void LatencyTest2::handleMessage(const MessagePixelRead& msg)
-{
- Lock::Locker devLocker(&TesterLock);
-
- // Hold onto the last message as we will use this when we start a new test
- LastPixelReadMsg = msg;
-
- // If color readback index is valid, store it in the lock-less queue.
- int readbackIndex = 0;
- if (FrameTimeRecord::ColorToReadbackIndex(&readbackIndex, msg.PixelReadValue))
- {
- RecentFrameSet.AddValue(readbackIndex, msg.FrameTimeSeconds);
- LockessRecords.SetState(RecentFrameSet);
- }
-
- NumMsgsBeforeSettle++;
-
- if (TestActive)
- {
- int pixelValueDiff = RenderColorValue - LastPixelReadMsg.PixelReadValue;
- int rawTimeDiff = LastPixelReadMsg.RawFrameTime - RawStartTiming;
-
- if (pixelValueDiff < LT2_PixelTestThreshold && pixelValueDiff > -LT2_PixelTestThreshold)
- {
- TestActive = false;
-
- LatencyMeasuredInSeconds = LastPixelReadMsg.FrameTimeSeconds - StartTiming;
- RawLatencyMeasured = rawTimeDiff;
- //LatencyMeasuredInSeconds = RawLatencyMeasured / 1000000.0;
-
- if(LatencyTesterDev && (NumTestsSuccessful % 5) == 0)
- {
- int displayNum = (int)(RawLatencyMeasured / 100.0);
- //int displayNum = NumMsgsBeforeSettle;
- //int displayNum = (int)(LatencyMeasuredInSeconds * 1000.0);
- LatencyTestDisplay ltd(1, displayNum);
- LatencyTesterDev->SetDisplay(ltd);
- }
-
- NumTestsSuccessful++;
- }
- else if (TestActive && (rawTimeDiff / 1000) > LT2_TimeoutWaitingForColorDetected)
- {
- TestActive = false;
- LatencyMeasuredInSeconds = -1;
- }
- }
-}
-
-LatencyTest2::PixelReadHandler::~PixelReadHandler()
-{
- RemoveHandlerFromDevices();
-}
-
-void LatencyTest2::PixelReadHandler::OnMessage(const Message& msg)
-{
- if(msg.Type == Message_PixelRead)
- pLatencyTestUtil->handleMessage(static_cast<const MessagePixelRead&>(msg));
-}
-
-bool LatencyTest2::DisplayScreenColor(Color& colorToDisplay)
-{
- Lock::Locker devLocker(&TesterLock);
- colorToDisplay = Color(RenderColorValue, RenderColorValue, RenderColorValue, 255);
-
- return TestActive;
-}
-
-}} // namespace OVR::Util