From 7012d01d888d482f2c6ad1180231a482026d213a Mon Sep 17 00:00:00 2001 From: Jon Smirl Date: Fri, 13 May 2005 18:31:35 +0000 Subject: First attempt at getting egl support up on dumb framebuffer. Seems to be mostly working. Not all of egl API is implemented. --- src/egl/main/eglapi.c | 62 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 10 deletions(-) (limited to 'src/egl/main/eglapi.c') diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index b0bd1eed6c..0be901c125 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -346,8 +346,18 @@ void (* APIENTRY eglGetProcAddress(const char *procname))() { "eglWaitGL", (_EGLProc) eglWaitGL }, { "eglWaitNative", (_EGLProc) eglWaitNative }, /* Extensions */ - { "eglShowSurfaceMESA", (_EGLProc) NULL }, - { "eglGetModesMESA", (_EGLProc) NULL }, + { "eglChooseModeMESA", (_EGLProc) eglChooseModeMESA }, + { "eglGetModesMESA", (_EGLProc) eglGetModesMESA }, + { "eglGetModeAttribMESA", (_EGLProc) eglGetModeAttribMESA }, + { "eglGetScreensMESA", (_EGLProc) eglGetScreensMESA }, + { "eglCreateScreenSurfaceMESA", (_EGLProc) eglCreateScreenSurfaceMESA }, + { "eglShowSurfaceMESA", (_EGLProc) eglShowSurfaceMESA }, + { "eglScreenPositionMESA", (_EGLProc) eglScreenPositionMESA }, + { "eglQueryDisplayMESA", (_EGLProc) eglQueryDisplayMESA }, + { "eglQueryScreenMESA", (_EGLProc) eglQueryScreenMESA }, + { "eglQueryScreenSurfaceMESA", (_EGLProc) eglQueryScreenSurfaceMESA }, + { "eglQueryScreenModeMESA", (_EGLProc) eglQueryScreenModeMESA }, + { "eglQueryModeStringMESA", (_EGLProc) eglQueryModeStringMESA }, { NULL, NULL } }; EGLint i; @@ -418,35 +428,67 @@ eglGetScreensMESA(EGLDisplay dpy, EGLScreenMESA *screens, EGLint max_screens, EG EGLSurface eglCreateScreenSurfaceMESA(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list) { - return EGL_FALSE; + _EGLDriver *drv = _eglLookupDriver(dpy); + return drv->CreateScreenSurfaceMESA(drv, dpy, config, attrib_list); } EGLBoolean -eglShowSurfaceMESA(EGLDisplay dpy, EGLint screen, EGLSurface surface) +eglShowSurfaceMESA(EGLDisplay dpy, EGLint screen, EGLSurface surface, EGLModeMESA mode) { - return EGL_FALSE; + _EGLDriver *drv = _eglLookupDriver(dpy); + return drv->ShowSurfaceMESA(drv, dpy, screen, surface, mode); } EGLBoolean -eglScreenModeMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA mode) +eglScreenPositionMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLint x, EGLint y) { - return EGL_FALSE; + _EGLDriver *drv = _eglLookupDriver(dpy); + return drv->ScreenPositionMESA(drv, dpy, screen, x, y); +} + + +EGLBoolean +eglQueryDisplayMESA(EGLDisplay dpy, EGLint attrib, EGLint *value) +{ + _EGLDriver *drv = _eglLookupDriver(dpy); + return drv->QueryDisplayMESA(drv, dpy, attrib, value); +} + + +EGLBoolean +eglQueryScreenMESA( EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value) +{ + _EGLDriver *drv = _eglLookupDriver(dpy); + return drv->QueryScreenMESA(drv, dpy, screen, attribute, value); } EGLBoolean eglQueryScreenSurfaceMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLSurface *surface) { - return EGL_FALSE; + _EGLDriver *drv = _eglLookupDriver(dpy); + return drv->QueryScreenSurfaceMESA(drv, dpy, screen, surface); } EGLBoolean -eglQueryScreenMESA( EGLDisplay dpy, EGLScreenMESA screen, EGLint attribute, EGLint *value) +eglQueryScreenModeMESA(EGLDisplay dpy, EGLScreenMESA screen, EGLModeMESA *mode) { - return EGL_FALSE; + _EGLDriver *drv = _eglLookupDriver(dpy); + return drv->QueryScreenModeMESA(drv, dpy, screen, mode); } +const char * +eglQueryModeStringMESA(EGLDisplay dpy, EGLModeMESA mode) +{ + _EGLDriver *drv = _eglLookupDriver(dpy); + return drv->QueryModeStringMESA(drv, dpy, mode); +} + + + + + -- cgit v1.2.3