2 * Copyright (C) 2007-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
12 #include "cores/VideoPlayer/VideoRenderers/LinuxRendererGL.h"
14 class CRendererVDPAU
: public CLinuxRendererGL
18 ~CRendererVDPAU() override
;
20 static CBaseRenderer
* Create(CVideoBuffer
*buffer
);
21 static bool Register();
23 bool Configure(const VideoPicture
&picture
, float fps
, unsigned int orientation
) override
;
26 void ReleaseBuffer(int idx
) override
;
27 bool ConfigChanged(const VideoPicture
&picture
) override
;
28 bool NeedBuffer(int idx
) override
;
29 bool Flush(bool saveBuffers
) override
;
32 bool Supports(ERENDERFEATURE feature
) const override
;
33 bool Supports(ESCALINGMETHOD method
) const override
;
36 bool LoadShadersHook() override
;
37 bool RenderHook(int idx
) override
;
38 void AfterRenderHook(int idx
) override
;
41 bool UploadTexture(int index
) override
;
42 void DeleteTexture(int index
) override
;
43 bool CreateTexture(int index
) override
;
45 bool CreateVDPAUTexture(int index
);
46 void DeleteVDPAUTexture(int index
);
47 bool UploadVDPAUTexture(int index
);
49 bool CreateVDPAUTexture420(int index
);
50 void DeleteVDPAUTexture420(int index
);
51 bool UploadVDPAUTexture420(int index
);
53 EShaderFormat
GetShaderFormat() override
;
55 bool CanSaveBuffers() override
{ return false; }
59 VDPAU::CInteropState m_interopState
;
60 VDPAU::CVdpauTexture m_vdpauTextures
[NUM_BUFFERS
];
61 GLsync m_fences
[NUM_BUFFERS
];