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 "WinSystemGbmEGLContext.h" 12 #include "rendering/gles/RenderSystemGLES.h" 13 #include "utils/EGLUtils.h" 14 15 #include <memory> 16 17 class CVaapiProxy; 18 19 namespace KODI 20 { 21 namespace WINDOWING 22 { 23 namespace GBM 24 { 25 26 class CWinSystemGbmGLESContext : public CWinSystemGbmEGLContext, public CRenderSystemGLES 27 { 28 public: 29 CWinSystemGbmGLESContext(); 30 ~CWinSystemGbmGLESContext() override = default; 31 32 static void Register(); 33 static std::unique_ptr<CWinSystemBase> CreateWinSystem(); 34 35 // Implementation of CWinSystemBase via CWinSystemGbm GetRenderSystem()36 CRenderSystemBase *GetRenderSystem() override { return this; } 37 bool InitWindowSystem() override; 38 bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays) override; 39 void PresentRender(bool rendered, bool videoLayer) override; 40 protected: SetVSyncImpl(bool enable)41 void SetVSyncImpl(bool enable) override {} PresentRenderImpl(bool rendered)42 void PresentRenderImpl(bool rendered) override {}; 43 bool CreateContext() override; 44 }; 45 46 } 47 } 48 } 49