10#ifndef __GFXENV_EGL_H__
11#define __GFXENV_EGL_H__
16#include <EGL/eglext.h>
23#include <xf86drmMode.h>
31#ifdef GUILIANI_EGL13_COMPATIBILITY_WORKAROUND
32#undef EGL_DEFAULT_DISPLAY
33#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
34typedef EGLNativeWindowType NativeWindowType;
35typedef EGLNativeDisplayType NativeDisplayType;
49 struct gbm_device *dev;
50 struct gbm_surface *surface;
57 drmModeModeInfo *mode;
59 uint32_t connector_id;
78 const eC_UInt& uiVersion,
79 const eC_UInt& uiWidth,
80 const eC_UInt& uiHeight,
81 const NativeWindowType& hWindowType = 0,
82 const NativeDisplayType& hDisplayType = EGL_DEFAULT_DISPLAY);
92 const eC_UInt& uiVersion,
93 const eC_UInt& uiWidth,
94 const eC_UInt& uiHeight,
95 const NativeWindowType& hWindowType,
96 const NativeDisplayType& hDisplayType);
122 inline const EGLDisplay
GetDisplay()
const {
return m_pkEGLDisplay;}
142 drmModeConnector *connector;
143 drmModeEncoder *encoder;
144 drmModeModeInfo mode;
154 bool SetupKMS(
struct _kms *kms);
173 eC_Bool FindScreenConfig();
176 eC_Bool FindOffScreenConfig();
181 static EGLint ms_uiEGLScreenBufferSize;
185 static EGLint ms_uiEGLOffScreenBufferSize;
203 static EGLint* m_aiScreenConfig;
208 static EGLint* m_aiOffScreenConfig;
211 EGLDisplay m_pkEGLDisplay;
214 EGLSurface m_pkEGLWindowSurface;
217 EGLContext m_pkEGLScreenContext;
220 EGLContext m_pkEGLOffScreenContext;
223 EGLConfig m_pkScreenConfig;
226 EGLConfig m_pkOffScreenConfig;
229 EGLint m_iEGLMajorVersion;
232 EGLint m_iEGLMinorVersion;
238 EGLint m_iRenderableType;
241 NativeDisplayType m_hDisplayType;
244 NativeWindowType m_hWindowType;
Wrapper class for the EGL interface.
Definition: GfxEnvEGL.h:67
const EGLConfig GetScreenConfig() const
Definition: GfxEnvEGL.h:127
const EGLSurface GetWindowSurface() const
Definition: GfxEnvEGL.h:137
virtual eC_Bool SwapBuffers()
const EGLContext GetOffScreenContext() const
Definition: GfxEnvEGL.h:117
const EGLDisplay GetDisplay() const
Definition: GfxEnvEGL.h:122
const EGLContext GetScreenContext() const
Definition: GfxEnvEGL.h:112
CGfxEnvEGL(const eC_UInt &uiVersion, const eC_UInt &uiWidth, const eC_UInt &uiHeight, const NativeWindowType &hWindowType, const NativeDisplayType &hDisplayType)
static eC_Bool CheckEGLError(const eC_String &kCallingMethod)
const EGLConfig GetOffScreenConfig() const
Definition: GfxEnvEGL.h:132
static eC_Bool CreateInstance(const eC_UInt &uiVersion, const eC_UInt &uiWidth, const eC_UInt &uiHeight, const NativeWindowType &hWindowType=0, const NativeDisplayType &hDisplayType=EGL_DEFAULT_DISPLAY)