namespace
{
-
-#if defined(DEBUG_ENABLED)
-Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_VSYNC_MONITOR");
-#endif
+// constants to keep code readability with unsigned int has to be used as boolean (due to multithreading)
+const unsigned int TRUE = 1u;
+const unsigned int FALSE = 0u;
const int FD_NONE( -1 );
VSyncMonitor::VSyncMonitor()
: mFileDescriptor( FD_NONE ),
- mUseHardware( false )
+ mUseHardwareVSync( FALSE ),
+ mHardwareVSyncAvailable( FALSE )
{
}
Terminate();
}
-void VSyncMonitor::SetUseHardware( bool useHardware )
+void VSyncMonitor::SetUseHardwareVSync( bool useHardware )
+{
+ mUseHardwareVSync = useHardware;
+}
+
+void VSyncMonitor::SetHardwareVSyncAvailable( bool hardwareVSyncAvailable )
{
- mUseHardware = useHardware;
+ mHardwareVSyncAvailable = hardwareVSyncAvailable;
}
void VSyncMonitor::Initialize()
void VSyncMonitor::Terminate()
{
- if( mFileDescriptor != FD_NONE )
- {
- close( mFileDescriptor );
- mFileDescriptor = FD_NONE;
- }
}
bool VSyncMonitor::UseHardware()
{
- return mUseHardware && (FD_NONE != mFileDescriptor );
+ return mUseHardwareVSync && mHardwareVSyncAvailable && (FD_NONE != mFileDescriptor );
}