kodi
Public Member Functions | List of all members
CEGLContextUtils Class Referencefinal

Public Member Functions

 CEGLContextUtils (EGLenum platform, std::string const &platformExtension)
 
bool CreateDisplay (EGLNativeDisplayType nativeDisplay)
 
bool CreatePlatformDisplay (void *nativeDisplay, EGLNativeDisplayType nativeDisplayLegacy)
 Create EGLDisplay with EGL_EXT_platform_base. More...
 
void SurfaceAttrib (EGLint attribute, EGLint value)
 
bool CreateSurface (EGLNativeWindowType nativeWindow, EGLint HDRcolorSpace=EGL_NONE)
 
bool CreatePlatformSurface (void *nativeWindow, EGLNativeWindowType nativeWindowLegacy)
 
bool InitializeDisplay (EGLint renderingApi)
 
bool ChooseConfig (EGLint renderableType, EGLint visualId=0, bool hdr=false)
 
bool CreateContext (CEGLAttributesVec contextAttribs)
 
bool BindContext ()
 
void Destroy ()
 
void DestroySurface ()
 
void DestroyContext ()
 
bool SetVSync (bool enable)
 
bool TrySwapBuffers ()
 
bool IsPlatformSupported () const
 
EGLint GetConfigAttrib (EGLint attribute) const
 
EGLDisplay GetEGLDisplay () const
 
EGLSurface GetEGLSurface () const
 
EGLContext GetEGLContext () const
 
EGLConfig GetEGLConfig () const
 

Constructor & Destructor Documentation

◆ CEGLContextUtils()

CEGLContextUtils::CEGLContextUtils ( EGLenum  platform,
std::string const &  platformExtension 
)
Parameters
platformplatform as constant from an extension building on EGL_EXT_platform_base

Member Function Documentation

◆ CreatePlatformDisplay()

bool CEGLContextUtils::CreatePlatformDisplay ( void *  nativeDisplay,
EGLNativeDisplayType  nativeDisplayLegacy 
)

Create EGLDisplay with EGL_EXT_platform_base.

Falls back to CreateDisplay (with nativeDisplayLegacy) on failure. The native displays to use with the platform-based and the legacy approach may be defined to have different types and/or semantics, so this function takes both as separate parameters.

Parameters
nativeDisplaynative display to use with eglGetPlatformDisplayEXT
nativeDisplayLegacynative display to use with eglGetDisplay

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