kodi
DRMPRIMEEGL.h
1 /*
2  * Copyright (C) 2007-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 "cores/VideoPlayer/Buffers/VideoBufferDRMPRIME.h"
12 #include "utils/EGLImage.h"
13 #include "utils/Geometry.h"
14 
15 #include "system_gl.h"
16 
18 {
19 public:
20  CDRMPRIMETexture() = default;
22 
23  bool Map(CVideoBufferDRMPRIME* buffer);
24  void Unmap();
25  void Init(EGLDisplay eglDisplay);
26 
27  GLuint GetTexture() { return m_texture; }
28  CSizeInt GetTextureSize() { return {m_texWidth, m_texHeight}; }
29 
30 protected:
31  CVideoBufferDRMPRIME* m_primebuffer{nullptr};
32  std::unique_ptr<CEGLImage> m_eglImage;
33 
34  const GLenum m_textureTarget{GL_TEXTURE_EXTERNAL_OES};
35  GLuint m_texture{0};
36  int m_texWidth{0};
37  int m_texHeight{0};
38 };
Definition: DRMPRIMEEGL.h:17
Definition: VideoBufferDRMPRIME.h:47