egl/dri: fix error value with unknown drm format
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 13 Nov 2018 14:10:45 +0000 (14:10 +0000)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 16 Nov 2018 10:28:06 +0000 (10:28 +0000)
According to the EGL_EXT_image_dma_buf_import spec, creating an EGL
image with a DRM format not supported should yield the BAD_MATCH
error :

"
       * If <target> is EGL_LINUX_DMA_BUF_EXT, and the EGL_LINUX_DRM_FOURCC_EXT
         attribute is set to a format not supported by the EGL, EGL_BAD_MATCH
         is generated.
"

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 20de7f9f226401 ("egl/dri2: support for creating images out of dma buffers")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
src/egl/drivers/dri2/egl_dri2.c

index 3b63aebbf9a223c75171c990340086687afd2b4e..198ba73247f5b94a96df5a7f8c79039797304ef9 100644 (file)
@@ -2310,7 +2310,7 @@ dri2_check_dma_buf_format(const _EGLImageAttribs *attrs)
 {
    unsigned plane_n = dri2_num_fourcc_format_planes(attrs->DMABufFourCC.Value);
    if (plane_n == 0) {
-      _eglError(EGL_BAD_ATTRIBUTE, "invalid format");
+      _eglError(EGL_BAD_MATCH, "unknown drm fourcc format");
       return 0;
    }