Browse Source

Implement EGL API for MESA_query_driver

Signed-off-by: Veluri Mithun <velurimithun38@gmail.com>

Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>

Acked-by: Eric Engestrom <eric.engestrom@intel.com>
tags/19.0-branchpoint
Veluri Mithun 6 years ago
parent
commit
ff621a5055
4 changed files with 38 additions and 0 deletions
  1. 33
    0
      src/egl/main/eglapi.c
  2. 2
    0
      src/egl/main/eglapi.h
  3. 1
    0
      src/egl/main/egldisplay.h
  4. 2
    0
      src/egl/main/eglentrypoint.h

+ 33
- 0
src/egl/main/eglapi.c View File

_eglAppendExtension(&exts, "EGL_MESA_configless_context"); _eglAppendExtension(&exts, "EGL_MESA_configless_context");
_EGL_CHECK_EXTENSION(MESA_drm_image); _EGL_CHECK_EXTENSION(MESA_drm_image);
_EGL_CHECK_EXTENSION(MESA_image_dma_buf_export); _EGL_CHECK_EXTENSION(MESA_image_dma_buf_export);
_EGL_CHECK_EXTENSION(MESA_query_driver);


_EGL_CHECK_EXTENSION(NOK_swap_region); _EGL_CHECK_EXTENSION(NOK_swap_region);
_EGL_CHECK_EXTENSION(NOK_texture_from_pixmap); _EGL_CHECK_EXTENSION(NOK_texture_from_pixmap);
RETURN_EGL_SUCCESS(disp, EGL_TRUE); RETURN_EGL_SUCCESS(disp, EGL_TRUE);
} }


char * EGLAPIENTRY
eglGetDisplayDriverConfig(EGLDisplay dpy)
{
_EGLDisplay *disp = _eglLockDisplay(dpy);
_EGLDriver *drv;
char *ret;

_EGL_FUNC_START(disp, EGL_NONE, NULL, NULL);
_EGL_CHECK_DISPLAY(disp, NULL, drv);

assert(disp->Extensions.MESA_query_driver);

ret = drv->API.QueryDriverConfig(disp);
RETURN_EGL_EVAL(disp, ret);
}

const char * EGLAPIENTRY
eglGetDisplayDriverName(EGLDisplay dpy)
{
_EGLDisplay *disp = _eglLockDisplay(dpy);
_EGLDriver *drv;
const char *ret;

_EGL_FUNC_START(disp, EGL_NONE, NULL, NULL);
_EGL_CHECK_DISPLAY(disp, NULL, drv);

assert(disp->Extensions.MESA_query_driver);

ret = drv->API.QueryDriverName(disp);
RETURN_EGL_EVAL(disp, ret);
}

__eglMustCastToProperFunctionPointerType EGLAPIENTRY __eglMustCastToProperFunctionPointerType EGLAPIENTRY
eglGetProcAddress(const char *procname) eglGetProcAddress(const char *procname)
{ {

+ 2
- 0
src/egl/main/eglapi.h View File

/* driver funcs */ /* driver funcs */
EGLBoolean (*Initialize)(_EGLDriver *, _EGLDisplay *dpy); EGLBoolean (*Initialize)(_EGLDriver *, _EGLDisplay *dpy);
EGLBoolean (*Terminate)(_EGLDriver *, _EGLDisplay *dpy); EGLBoolean (*Terminate)(_EGLDriver *, _EGLDisplay *dpy);
const char *(*QueryDriverName)(_EGLDisplay *dpy);
char *(*QueryDriverConfig)(_EGLDisplay *dpy);


/* config funcs */ /* config funcs */
EGLBoolean (*GetConfigs)(_EGLDriver *drv, _EGLDisplay *dpy, EGLBoolean (*GetConfigs)(_EGLDriver *drv, _EGLDisplay *dpy,

+ 1
- 0
src/egl/main/egldisplay.h View File



EGLBoolean MESA_drm_image; EGLBoolean MESA_drm_image;
EGLBoolean MESA_image_dma_buf_export; EGLBoolean MESA_image_dma_buf_export;
EGLBoolean MESA_query_driver;


EGLBoolean NOK_swap_region; EGLBoolean NOK_swap_region;
EGLBoolean NOK_texture_from_pixmap; EGLBoolean NOK_texture_from_pixmap;

+ 2
- 0
src/egl/main/eglentrypoint.h View File

EGL_ENTRYPOINT(eglGetCurrentDisplay) EGL_ENTRYPOINT(eglGetCurrentDisplay)
EGL_ENTRYPOINT(eglGetCurrentSurface) EGL_ENTRYPOINT(eglGetCurrentSurface)
EGL_ENTRYPOINT(eglGetDisplay) EGL_ENTRYPOINT(eglGetDisplay)
EGL_ENTRYPOINT(eglGetDisplayDriverConfig)
EGL_ENTRYPOINT(eglGetDisplayDriverName)
EGL_ENTRYPOINT(eglGetError) EGL_ENTRYPOINT(eglGetError)
EGL_ENTRYPOINT(eglGetPlatformDisplay) EGL_ENTRYPOINT(eglGetPlatformDisplay)
EGL_ENTRYPOINT(eglGetPlatformDisplayEXT) EGL_ENTRYPOINT(eglGetPlatformDisplayEXT)

Loading…
Cancel
Save