egl: remove unneeded _eglGetNativePlatform check
There's little point in calling _eglGetNativePlatform() in eglCopyBuffers. The platform returned should be identical to the one already stored in our _EGLDisplay. In the following corner case, the check is incorrect. The function _eglGetNativePlatform effectively invokes the old-style eglGetDisplay platform selection. Thus if the EGL_PLATFORM platform does not match with the EGL_EXT_platform_* used to create the display we'll error out. Addresses the egl-copy-buffers piglit test. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
parent
b4b277f770
commit
670cd4080b
|
@ -1394,8 +1394,6 @@ eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
|
||||||
native_pixmap_ptr = (void*) target;
|
native_pixmap_ptr = (void*) target;
|
||||||
|
|
||||||
_EGL_CHECK_SURFACE(disp, surf, EGL_FALSE, drv);
|
_EGL_CHECK_SURFACE(disp, surf, EGL_FALSE, drv);
|
||||||
if (disp->Platform != _eglGetNativePlatform(disp->PlatformDisplay))
|
|
||||||
RETURN_EGL_ERROR(disp, EGL_BAD_NATIVE_PIXMAP, EGL_FALSE);
|
|
||||||
ret = drv->API.CopyBuffers(drv, disp, surf, native_pixmap_ptr);
|
ret = drv->API.CopyBuffers(drv, disp, surf, native_pixmap_ptr);
|
||||||
|
|
||||||
RETURN_EGL_EVAL(disp, ret);
|
RETURN_EGL_EVAL(disp, ret);
|
||||||
|
|
Loading…
Reference in New Issue