mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 11:38:05 +02:00
egl/gbm: Emit EGL_BAD_PARAMETER for eglCreatePlatformPixmapSurface
From the EGL_MESA_platform_gbm spec, version 5: It is not valid to call eglCreatePlatformPixmapSurfaceEXT with a <dpy> that belongs to the GBM platform. Any such call fails and generates EGL_BAD_PARAMETER. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
parent
6d1f83ec09
commit
1787f5632f
1 changed files with 16 additions and 1 deletions
|
|
@ -149,6 +149,21 @@ dri2_drm_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
|||
native_window, attrib_list);
|
||||
}
|
||||
|
||||
static _EGLSurface *
|
||||
dri2_drm_create_pixmap_surface(_EGLDriver *drv, _EGLDisplay *disp,
|
||||
_EGLConfig *conf, void *native_window,
|
||||
const EGLint *attrib_list)
|
||||
{
|
||||
/* From the EGL_MESA_platform_gbm spec, version 5:
|
||||
*
|
||||
* It is not valid to call eglCreatePlatformPixmapSurfaceEXT with a <dpy>
|
||||
* that belongs to the GBM platform. Any such call fails and generates
|
||||
* EGL_BAD_PARAMETER.
|
||||
*/
|
||||
_eglError(EGL_BAD_PARAMETER, "cannot create EGL pixmap surfaces on GBM");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static EGLBoolean
|
||||
dri2_drm_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf)
|
||||
{
|
||||
|
|
@ -445,7 +460,7 @@ dri2_drm_authenticate(_EGLDisplay *disp, uint32_t id)
|
|||
static struct dri2_egl_display_vtbl dri2_drm_display_vtbl = {
|
||||
.authenticate = dri2_drm_authenticate,
|
||||
.create_window_surface = dri2_drm_create_window_surface,
|
||||
.create_pixmap_surface = dri2_fallback_create_pixmap_surface,
|
||||
.create_pixmap_surface = dri2_drm_create_pixmap_surface,
|
||||
.create_pbuffer_surface = dri2_fallback_create_pbuffer_surface,
|
||||
.destroy_surface = dri2_drm_destroy_surface,
|
||||
.create_image = dri2_drm_create_image_khr,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue