Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4493 → Rev 4494

/contrib/sdk/sources/Mesa/src/egl/drivers/dri2/egl_dri2.h
206,6 → 206,8
/* 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/drivers/dri2/platform_drm.c
107,6 → 107,9
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;
 
133,6 → 136,41
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,
151,6 → 189,15
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,
565,6 → 612,7
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/main/eglapi.c
1529,6 → 1529,22
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,6 → 117,7
#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
188,6 → 189,7
 
CreateImageKHR_t CreateImageKHR;
DestroyImageKHR_t DestroyImageKHR;
GetImageFB_t GetImageFB;
 
CreateSyncKHR_t CreateSyncKHR;
DestroySyncKHR_t DestroySyncKHR;