Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
No Matches
KODI::WINDOWING::GBM::CWinSystemGbm Class Reference

#include <WinSystemGbm.h>

Inheritance diagram for KODI::WINDOWING::GBM::CWinSystemGbm:
CWinSystemBase KODI::WINDOWING::GBM::CWinSystemGbmEGLContext KODI::WINDOWING::GBM::CWinSystemGbmGLContext KODI::WINDOWING::GBM::CWinSystemGbmGLESContext

Public Member Functions

 CWinSystemGbm ()
 ~CWinSystemGbm () override
const std::string GetName () override
bool InitWindowSystem () override
bool DestroyWindowSystem () override
bool ResizeWindow (int newWidth, int newHeight, int newLeft, int newTop) override
bool SetFullScreen (bool fullScreen, RESOLUTION_INFO &res, bool blankOtherDisplays) override
bool DisplayHardwareScalingEnabled () override
void UpdateDisplayHardwareScaling (const RESOLUTION_INFO &resInfo) override
void FlipPage (bool rendered, bool videoLayer, bool async)
bool CanDoWindowed () override
void UpdateResolutions () override
bool UseLimitedColor () override
bool Hide () override
bool Show (bool raise=true) override
void Register (IDispResource *resource) override
void Unregister (IDispResource *resource) override
bool SetHDR (const VideoPicture *videoPicture) override
 Set the HDR metadata. Passing nullptr as the parameter should disable HDR.
bool IsHDRDisplay () override
CHDRCapabilities GetDisplayHDRCapabilities () const override
std::shared_ptr< CVideoLayerBridgeGetVideoLayerBridge () const
void RegisterVideoLayerBridge (std::shared_ptr< CVideoLayerBridge > bridge)
CGBMUtils::CGBMDeviceGetGBMDevice () const
std::shared_ptr< CDRMUtilsGetDrm () const
std::vector< std::string > GetConnectedOutputs () override
- Public Member Functions inherited from CWinSystemBase
 CWinSystemBase ()
virtual ~CWinSystemBase ()
virtual CRenderSystemBaseGetRenderSystem ()
virtual bool CreateNewWindow (const std::string &name, bool fullScreen, RESOLUTION_INFO &res)=0
virtual bool DestroyWindow ()
virtual bool MoveWindow (int topLeft, int topRight)
virtual void FinishModeChange (RESOLUTION res)
virtual void FinishWindowResize (int newWidth, int newHeight)
virtual bool CenterWindow ()
virtual bool IsCreated ()
virtual void NotifyAppFocusChange (bool bGaining)
virtual void NotifyAppActiveChange (bool bActivated)
virtual void ShowOSMouse (bool show)
virtual bool HasCursor ()
virtual bool HasInertialGestures ()
virtual int NoOfBuffers ()
virtual void ForceFullScreen (const RESOLUTION_INFO &resInfo)
 Forces the window to fullscreen provided the window resolution.
virtual float GetDisplayLatency ()
 Get average display latency.
virtual float GetFrameLatencyAdjustment ()
 Get time that should be subtracted from the display latency for this frame in milliseconds.
virtual bool Minimize ()
virtual bool Restore ()
virtual void OnMove (int x, int y)
virtual unsigned int GetScreenId (const std::string &screen)
 Get the screen ID provided the screen name.
virtual void MoveToScreen (unsigned int screenIdx)
 Window was requested to move to the given screen.
virtual void OnChangeScreen (unsigned int screenIdx)
 Used to signal the windowing system about the change of the current screen.
KODI::WINDOWING::COSScreenSaverManagerGetOSScreenSaver ()
 Get OS screen saver inhibit implementation if available.
unsigned int GetWidth ()
unsigned int GetHeight ()
bool IsFullScreen ()
virtual bool SupportsScreenMove ()
 Check if the windowing system supports moving windows across screens.
void SetWindowResolution (int width, int height)
std::vector< RESOLUTION_WHRScreenResolutions (float refreshrate)
std::vector< REFRESHRATERefreshRates (int width, int height, uint32_t dwFlags)
REFRESHRATE DefaultRefreshRate (const std::vector< REFRESHRATE > &rates)
virtual bool HasCalibration (const RESOLUTION_INFO &resInfo)
virtual std::string GetClipboardText (void)
void RegisterRenderLoop (IRenderLoop *client)
void UnregisterRenderLoop (IRenderLoop *client)
void DriveRenderLoop ()
virtual bool MessagePump ()
virtual CGraphicContextGetGfxContext () const
virtual voidGetHWContext ()
 Get OS specific hardware context.
std::shared_ptr< CDPMSSupportGetDPMSManager ()
virtual HDR_STATUS ToggleHDR ()
virtual HDR_STATUS GetOSHDRStatus ()
virtual float GetGuiSdrPeakLuminance () const
virtual bool HasSystemSdrPeakLuminance ()
virtual bool SupportsVideoSuperResolution ()
 System supports Video Super Resolution HW upscaler i.e.: "NVIDIA RTX Video Super Resolution" or "Intel Video Super Resolution".
virtual DEBUG_INFO_RENDER GetDebugInfo ()
 Gets debug info from video renderer for use in "Debug Info OSD" (Alt + O)
bool IsHDRDisplaySettingEnabled ()
 Return true when HDR display is available and enabled in settings.
bool IsVideoSuperResolutionSettingEnabled ()
 Return true when "Video Super Resolution" is supported and enabled in settings.
bool IsHighPrecisionProcessingSettingEnabled ()
 Return true when setting "High Precision Processing" is enabled.
std::pair< bool, intGetDitherSettings ()
 Get dither settings.
virtual bool BindTextureUploadContext ()
 Binds a shared context to the current thread, in order to upload textures asynchronously.
virtual bool UnbindTextureUploadContext ()
 Unbinds the shared context.
virtual bool HasContext ()
 Checks if a graphics context is already bound to the current thread.

Protected Member Functions

void OnLostDevice ()
std::unique_ptr< CVideoSyncGetVideoSync (CVideoReferenceClock *clock) override
- Protected Member Functions inherited from CWinSystemBase
void UpdateDesktopResolution (RESOLUTION_INFO &newRes, const std::string &output, int width, int height, float refreshRate, uint32_t dwFlags)
void UpdateDesktopResolution (RESOLUTION_INFO &newRes, const std::string &output, int width, int height, int screenWidth, int screenHeight, float refreshRate, uint32_t dwFlags)
virtual std::unique_ptr< KODI::WINDOWING::IOSScreenSaverGetOSScreenSaverImpl ()

Protected Attributes

std::shared_ptr< CDRMUtilsm_DRM
std::unique_ptr< CGBMUtilsm_GBM
std::shared_ptr< CVideoLayerBridgem_videoLayerBridge
CCriticalSection m_resourceSection
std::vector< IDispResource * > m_resources
bool m_dispReset = false
XbmcThreads::EndTime m_dispResetTimer
std::unique_ptr< CLibInputHandlerm_libinput
- Protected Attributes inherited from CWinSystemBase
int m_nWidth = 0
int m_nHeight = 0
int m_nTop = 0
int m_nLeft = 0
bool m_bWindowCreated = false
bool m_bFullScreen = false
bool m_bBlankOtherDisplay = false
float m_fRefreshRate = 0.0f
std::unique_ptr< KODI::WINDOWING::COSScreenSaverManagerm_screenSaverManager
CCriticalSection m_renderLoopSection
std::vector< IRenderLoop * > m_renderLoopClients
std::unique_ptr< IWinEventsm_winEvents
std::unique_ptr< CGraphicContextm_gfxContext
std::shared_ptr< CDPMSSupportm_dpms

Additional Inherited Members

- Static Public Member Functions inherited from CWinSystemBase
static std::unique_ptr< CWinSystemBaseCreateWinSystem ()
- Static Public Attributes inherited from CWinSystemBase
static const char * SETTING_WINSYSTEM_IS_HDR_DISPLAY = "winsystem.ishdrdisplay"

Constructor & Destructor Documentation

◆ CWinSystemGbm()

CWinSystemGbm::CWinSystemGbm ( )

◆ ~CWinSystemGbm()

CWinSystemGbm::~CWinSystemGbm ( )

Member Function Documentation

◆ CanDoWindowed()

bool KODI::WINDOWING::GBM::CWinSystemGbm::CanDoWindowed ( )

Reimplemented from CWinSystemBase.

◆ DestroyWindowSystem()

bool CWinSystemGbm::DestroyWindowSystem ( )

Reimplemented from CWinSystemBase.

Reimplemented in KODI::WINDOWING::GBM::CWinSystemGbmEGLContext.

◆ DisplayHardwareScalingEnabled()

bool CWinSystemGbm::DisplayHardwareScalingEnabled ( )

Reimplemented from CWinSystemBase.

◆ FlipPage()

void CWinSystemGbm::FlipPage ( bool rendered,
bool videoLayer,
bool async )

◆ GetConnectedOutputs()

std::vector< std::string > CWinSystemGbm::GetConnectedOutputs ( )

Reimplemented from CWinSystemBase.

◆ GetDisplayHDRCapabilities()

CHDRCapabilities CWinSystemGbm::GetDisplayHDRCapabilities ( ) const

Reimplemented from CWinSystemBase.

◆ GetDrm()

std::shared_ptr< CDRMUtils > KODI::WINDOWING::GBM::CWinSystemGbm::GetDrm ( ) const

◆ GetGBMDevice()

CGBMUtils::CGBMDevice & KODI::WINDOWING::GBM::CWinSystemGbm::GetGBMDevice ( ) const

◆ GetName()

const std::string KODI::WINDOWING::GBM::CWinSystemGbm::GetName ( )

Reimplemented from CWinSystemBase.

◆ GetVideoLayerBridge()

std::shared_ptr< CVideoLayerBridge > KODI::WINDOWING::GBM::CWinSystemGbm::GetVideoLayerBridge ( ) const

◆ GetVideoSync()

std::unique_ptr< CVideoSync > CWinSystemGbm::GetVideoSync ( CVideoReferenceClock * clock)

Reimplemented from CWinSystemBase.

◆ Hide()

bool CWinSystemGbm::Hide ( )

Reimplemented from CWinSystemBase.

◆ InitWindowSystem()

bool CWinSystemGbm::InitWindowSystem ( )

◆ IsHDRDisplay()

bool CWinSystemGbm::IsHDRDisplay ( )

Reimplemented from CWinSystemBase.

◆ OnLostDevice()

void CWinSystemGbm::OnLostDevice ( )

◆ Register()

void CWinSystemGbm::Register ( IDispResource * resource)

Implements CWinSystemBase.

◆ RegisterVideoLayerBridge()

void KODI::WINDOWING::GBM::CWinSystemGbm::RegisterVideoLayerBridge ( std::shared_ptr< CVideoLayerBridge > bridge)

◆ ResizeWindow()

bool CWinSystemGbm::ResizeWindow ( int newWidth,
int newHeight,
int newLeft,
int newTop )

Implements CWinSystemBase.

◆ SetFullScreen()

bool CWinSystemGbm::SetFullScreen ( bool fullScreen,
bool blankOtherDisplays )

◆ SetHDR()

bool CWinSystemGbm::SetHDR ( const VideoPicture * videoPicture)

Set the HDR metadata. Passing nullptr as the parameter should disable HDR.

Reimplemented from CWinSystemBase.

◆ Show()

bool CWinSystemGbm::Show ( bool raise = true)

Reimplemented from CWinSystemBase.

◆ Unregister()

void CWinSystemGbm::Unregister ( IDispResource * resource)

Implements CWinSystemBase.

◆ UpdateDisplayHardwareScaling()

void CWinSystemGbm::UpdateDisplayHardwareScaling ( const RESOLUTION_INFO & resInfo)
The PR that made the res struct constant was abandoned due to drama.

Reimplemented from CWinSystemBase.

◆ UpdateResolutions()

void CWinSystemGbm::UpdateResolutions ( )

Reimplemented from CWinSystemBase.

◆ UseLimitedColor()

bool CWinSystemGbm::UseLimitedColor ( )

Reimplemented from CWinSystemBase.

Member Data Documentation

◆ m_dispReset

bool KODI::WINDOWING::GBM::CWinSystemGbm::m_dispReset = false

◆ m_dispResetTimer

XbmcThreads::EndTime KODI::WINDOWING::GBM::CWinSystemGbm::m_dispResetTimer

◆ m_DRM

std::shared_ptr<CDRMUtils> KODI::WINDOWING::GBM::CWinSystemGbm::m_DRM

◆ m_GBM

std::unique_ptr<CGBMUtils> KODI::WINDOWING::GBM::CWinSystemGbm::m_GBM

◆ m_libinput

std::unique_ptr<CLibInputHandler> KODI::WINDOWING::GBM::CWinSystemGbm::m_libinput

◆ m_resources

std::vector<IDispResource*> KODI::WINDOWING::GBM::CWinSystemGbm::m_resources

◆ m_resourceSection

CCriticalSection KODI::WINDOWING::GBM::CWinSystemGbm::m_resourceSection

◆ m_videoLayerBridge

std::shared_ptr<CVideoLayerBridge> KODI::WINDOWING::GBM::CWinSystemGbm::m_videoLayerBridge

The documentation for this class was generated from the following files: