Go to the documentation of this file.
21 #include "../../SDL_internal.h"
23 #if SDL_VIDEO_DRIVER_MALI
26 #include "../SDL_sysvideo.h"
31 #include "../../events/SDL_events_c.h"
33 #ifdef SDL_INPUT_LINUXEV
34 #include "../../core/linux/SDL_evdev.h"
74 device->free = MALI_Destroy;
90 device->GL_LoadLibrary = MALI_GLES_LoadLibrary;
91 device->GL_GetProcAddress = MALI_GLES_GetProcAddress;
92 device->GL_UnloadLibrary = MALI_GLES_UnloadLibrary;
93 device->GL_CreateContext = MALI_GLES_CreateContext;
94 device->GL_MakeCurrent = MALI_GLES_MakeCurrent;
95 device->GL_SetSwapInterval = MALI_GLES_SetSwapInterval;
96 device->GL_GetSwapInterval = MALI_GLES_GetSwapInterval;
97 device->GL_SwapWindow = MALI_GLES_SwapWindow;
98 device->GL_DeleteContext = MALI_GLES_DeleteContext;
107 "Mali EGL Video Driver",
122 struct fb_var_screeninfo vinfo;
130 fd = open(
"/dev/fb0", O_RDWR, 0);
132 return SDL_SetError(
"mali-fbdev: Could not open framebuffer device");
135 if (ioctl(
fd, FBIOGET_VSCREENINFO, &vinfo) < 0) {
137 return SDL_SetError(
"mali-fbdev: Could not get framebuffer information");
147 system(
"setterm -cursor off");
149 data->native_display.width = vinfo.xres;
150 data->native_display.height = vinfo.yres;
153 current_mode.
w = vinfo.xres;
154 current_mode.
h = vinfo.yres;
170 #ifdef SDL_INPUT_LINUXEV
171 if (SDL_EVDEV_Init() < 0) {
183 int fd = open(
"/dev/tty", O_RDWR);
184 ioctl(
fd, VT_ACTIVATE, 5);
185 ioctl(
fd, VT_ACTIVATE, 1);
187 system(
"setterm -cursor on");
189 #ifdef SDL_INPUT_LINUXEV
218 if (windowdata ==
NULL) {
229 if (!
_this->egl_data) {
238 return SDL_SetError(
"mali-fbdev: Can't create EGL window surface");
242 window->driverdata = windowdata;
260 SDL_EGL_DestroySurface(
_this,
data->egl_surface);
302 SDL_SetError(
"application not compiled with SDL %d.%d\n",
315 #ifdef SDL_INPUT_LINUXEV
int MALI_VideoInit(_THIS)
void MALI_SetWindowTitle(_THIS, SDL_Window *window)
@ SDL_PIXELFORMAT_RGBX8888
void MALI_DestroyWindow(_THIS, SDL_Window *window)
#define SDL_GL_LoadLibrary
void SDL_SetKeyboardFocus(SDL_Window *window)
SDL_DisplayMode desktop_mode
void * SDL_GetDisplayDriverData(int displayIndex)
void SDL_SetMouseFocus(SDL_Window *window)
void MALI_PumpEvents(_THIS)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
The type used to identify a window.
The structure that defines a display mode.
SDL_bool SDL_AddDisplayMode(SDL_VideoDisplay *display, const SDL_DisplayMode *mode)
void MALI_SetWindowSize(_THIS, SDL_Window *window)
int MALI_SetDisplayMode(_THIS, SDL_VideoDisplay *display, SDL_DisplayMode *mode)
void MALI_GetDisplayModes(_THIS, SDL_VideoDisplay *display)
static SDL_VideoDevice * _this
#define SDL_MINOR_VERSION
EGLSurface EGLNativeWindowType * window
void MALI_ShowWindow(_THIS, SDL_Window *window)
struct SDL_DisplayData::@262 native_display
int SDL_AddVideoDisplay(const SDL_VideoDisplay *display)
SDL_bool MALI_GetWindowWMInfo(_THIS, SDL_Window *window, struct SDL_SysWMinfo *info)
#define SDL_OutOfMemory()
void MALI_VideoQuit(_THIS)
int MALI_CreateWindow(_THIS, SDL_Window *window)
void MALI_SetWindowPosition(_THIS, SDL_Window *window)
SDL_DisplayMode current_mode
void MALI_HideWindow(_THIS, SDL_Window *window)
#define SDL_MAJOR_VERSION
static SDL_AudioDeviceID device
VideoBootStrap MALI_bootstrap