kodi
VideoSyncD3D.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "guilib/DispResource.h"
12 #include "threads/Event.h"
13 #include "windowing/VideoSync.h"
14 
15 #include <dxgi1_5.h>
16 
18 {
19 public:
21  : CVideoSync(clock), m_displayLost(false), m_displayReset(false)
22  {
23  }
24  bool Setup() override;
25  void Run(CEvent& stopEvent) override;
26  void Cleanup() override;
27  float GetFps() override;
28  void RefreshChanged() override;
29  // IDispResource overrides
30  void OnLostDisplay() override;
31  void OnResetDisplay() override;
32 
33 private:
34  volatile bool m_displayLost;
35  volatile bool m_displayReset;
36  CEvent m_lostEvent;
37  DXGI_OUTPUT_DESC m_outputDesc{};
38  Microsoft::WRL::ComPtr<IDXGIFactory2> m_factory;
39 };
40 
This is an Event class built from a ConditionVariable.
Definition: Event.h:35
Definition: VideoSyncD3D.h:17
Definition: DispResource.h:14
Definition: VideoReferenceClock.h:19
Definition: VideoSync.h:15