Go to the documentation of this file.
19 #define LOC QString("VRR: ")
47 : m_controllable(Controllable),
50 m_range(std::move(Range))
63 #if defined (USING_X11) || defined (USING_DRM)
95 LOG(VB_GENERAL, LOG_INFO,
LOC +
"No variable refresh rate support detected");
99 LOG(VB_GENERAL, LOG_INFO,
LOC + QString(
"VRR type '%1': Enabled: %2 Controllable: %3 %4")
100 .arg(result->TypeToString()).arg(result->Enabled()).arg(result->IsControllable())
101 .arg(result->RangeDescription()));
125 case FreeSync:
return QObject::tr(
"FreeSync");
126 case GSync:
return QObject::tr(
"GSync");
127 case GSyncCompat:
return QObject::tr(
"GSync Compatible");
130 return QObject::tr(
"None");
137 return QObject::tr(
"Range: %1-%2%3")
139 .arg(std::get<2>(
m_range) ?
"" :
" (Estimated)");
static MythVRRPtr CreateFreeSync(const MythDRMPtr &Device, MythVRRRange Range)
MythVRR(bool Controllable, VRRType Type, bool Enabled, MythVRRRange Range)
bool IsControllable() const
static MythDRMPtr Create(QScreen *qScreen, const QString &Device=QString(), bool NeedPlanes=true)
Create a MythDRMDevice instance.
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
QScreen * GetCurrentScreen()
Return a pointer to the screen to use.
MythVRRRange GetRange() const
MythVRRRange GetVRRRange() const
Return the range of supported refresh rates.
static MythVRRPtr CreateGSync(const NVControl &Device, MythVRRRange Range)
static MythVRRPtr Create(class MythDisplay *MDisplay)
Create a concrete implementation of MythVRR suitable for the given Display.
QString TypeToString() const
std::tuple< int, int, bool > MythVRRRange
static constexpr const char * DRM_QUIET
static NVControl Create()
Create a valid instance of MythNVControl.
QString RangeDescription() const
std::shared_ptr< class MythVRR > MythVRRPtr