/contrib/sdk/sources/Mesa/src/egl/drivers/dri2/platform_drm.c |
---|
107,9 → 107,6 |
struct dri2_egl_config *dri2_conf = dri2_egl_config(conf); |
struct dri2_egl_surface *dri2_surf; |
struct gbm_dri_surface *surf; |
struct gbm_bo *bo; |
_EGLImage *img; |
EGLint attr[10]; |
(void) drv; |
136,41 → 133,6 |
goto cleanup_surf; |
} |
attr[0] = EGL_WIDTH; |
attr[1] = surf->base.width; |
attr[2] = EGL_HEIGHT; |
attr[3] = surf->base.height; |
attr[4] = EGL_DRM_BUFFER_FORMAT_MESA; |
attr[5] = EGL_DRM_BUFFER_FORMAT_ARGB32_MESA; |
attr[6] = EGL_DRM_BUFFER_USE_MESA; |
attr[7] = EGL_DRM_BUFFER_USE_SHARE_MESA; |
attr[8] = EGL_NONE; |
img = drv->API.CreateDRMImageMESA(drv, disp, attr); |
dri2_surf->egl_front = img; |
dri2_surf->khr_front = (img) ? _eglLinkImage(img) : EGL_NO_IMAGE_KHR; |
bo = gbm_bo_import(&dri2_dpy->gbm_dri->base.base, |
GBM_BO_IMPORT_EGL_IMAGE, dri2_surf->khr_front, 0); |
if( bo == NULL){ |
_eglError(EGL_BAD_ALLOC, "gbm_bo_create front buffer"); |
goto cleanup_surf; |
} |
dri2_surf->color_buffers[1].bo = bo; |
img = drv->API.CreateDRMImageMESA(drv, disp, attr); |
dri2_surf->egl_back = img; |
dri2_surf->khr_back = (img) ? _eglLinkImage(img) : EGL_NO_IMAGE_KHR; |
bo = gbm_bo_import(&dri2_dpy->gbm_dri->base.base, |
GBM_BO_IMPORT_EGL_IMAGE, dri2_surf->khr_back, 0); |
if( bo == NULL){ |
_eglError(EGL_BAD_ALLOC, "gbm_bo_create back buffer"); |
goto cleanup_surf; |
} |
dri2_surf->color_buffers[2].bo = bo; |
dri2_surf->dri_drawable = |
(*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen, |
dri2_conf->dri_double_config, |
189,15 → 151,6 |
return NULL; |
} |
static EGLImageKHR |
dri2_get_fb_image(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw, EGLint type) |
{ |
struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw); |
return (type == EGL_DRM_BUFFER_FRONT) ? dri2_surf->khr_front:dri2_surf->khr_back; |
} |
static _EGLSurface * |
dri2_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp, |
_EGLConfig *conf, EGLNativeWindowType window, |
612,7 → 565,6 |
drv->API.SwapBuffers = dri2_swap_buffers; |
drv->API.CreateImageKHR = dri2_drm_create_image_khr; |
drv->API.QueryBufferAge = dri2_query_buffer_age; |
drv->API.GetImageFB = dri2_get_fb_image; |
disp->Extensions.EXT_buffer_age = EGL_TRUE; |
/contrib/sdk/sources/Mesa/src/egl/drivers/dri2/egl_dri2.h |
---|
206,8 → 206,6 |
/* EGL-owned buffers */ |
__DRIbuffer *local_buffers[__DRI_BUFFER_COUNT]; |
#endif |
_EGLImage *egl_front, *egl_back; |
EGLImageKHR khr_front, khr_back; |
}; |
/contrib/sdk/sources/Mesa/src/egl/main/eglapi.c |
---|
1529,22 → 1529,6 |
RETURN_EGL_EVAL(disp, ret); |
} |
EGLImageKHR EGLAPIENTRY |
eglGetBufferImage(EGLDisplay dpy, EGLSurface surface, EGLint type) |
{ |
_EGLDisplay *disp = _eglLockDisplay(dpy); |
_EGLDriver *drv; |
EGLImageKHR ret; |
_EGL_CHECK_DISPLAY(disp, EGL_NO_IMAGE_KHR, drv); |
if (!disp->Extensions.MESA_drm_image) |
RETURN_EGL_EVAL(disp, EGL_NO_IMAGE_KHR); |
ret = drv->API.GetImageFB(drv, disp, surface, type); |
RETURN_EGL_EVAL(disp, ret); |
} |
#endif |
#ifdef EGL_WL_bind_wayland_display |
/contrib/sdk/sources/Mesa/src/egl/main/eglapi.h |
---|
117,7 → 117,6 |
#ifdef EGL_MESA_drm_image |
typedef _EGLImage *(*CreateDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, const EGLint *attr_list); |
typedef EGLBoolean (*ExportDRMImageMESA_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLImage *img, EGLint *name, EGLint *handle, EGLint *stride); |
typedef EGLImageKHR (*GetImageFB_t)(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw, EGLint type); |
#endif |
#ifdef EGL_WL_bind_wayland_display |
189,7 → 188,6 |
CreateImageKHR_t CreateImageKHR; |
DestroyImageKHR_t DestroyImageKHR; |
GetImageFB_t GetImageFB; |
CreateSyncKHR_t CreateSyncKHR; |
DestroySyncKHR_t DestroySyncKHR; |
/contrib/sdk/sources/Mesa/src/glsl/builtin_function.cpp |
---|
File deleted |
/contrib/sdk/sources/Mesa/include/EGL/eglext.h |
---|
275,12 → 275,9 |
#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 |
#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */ |
#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 /* EGL_DRM_BUFFER_USE_MESA bits */ |
#define EGL_DRM_BUFFER_FRONT 0x0000 |
#define EGL_DRM_BUFFER_BACK 0x0001 |
#ifdef EGL_EGLEXT_PROTOTYPES |
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); |
EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); |
EGLAPI EGLImageKHR EGLAPIENTRY eglGetBufferImage(EGLDisplay dpy, EGLSurface surface, EGLint type); |
#endif /* EGL_EGLEXT_PROTOTYPES */ |
typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); |
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); |