[Mesa-dev] [PATCH 2/2] st/dri: Don't require a dri_format for image creation.

Marek Olšák maraeo at gmail.com
Wed Jul 18 19:12:54 UTC 2018


For the series:

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Wed, Jul 18, 2018 at 2:02 PM, Eric Anholt <eric at anholt.net> wrote:
> Nothing in EGL_KHR_gl_image.txt seems to let us deny creation based on
> formats, and doing so causes many failures in
> dEQP-EGL.functional.image.api.*
>
> The NONE value we were protecting from only gets looked at in the
> __DRI_IMAGE_ATTRIB_FORMAT and __DRI_IMAGE_ATTRIB_FOURCC queries, which are
> used from wayland and gbm (which throw an error cleanly on unknown format)
> and DMABUF export.
> ---
>  src/gallium/state_trackers/dri/dri2.c        |  2 +-
>  src/gallium/state_trackers/dri/dri_helpers.c | 12 ------------
>  2 files changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c
> index e980698cfb6f..34205853335c 100644
> --- a/src/gallium/state_trackers/dri/dri2.c
> +++ b/src/gallium/state_trackers/dri/dri2.c
> @@ -1318,7 +1318,7 @@ dri2_query_image(__DRIimage *image, int attrib, int *value)
>        return GL_TRUE;
>     case __DRI_IMAGE_ATTRIB_FOURCC:
>        *value = convert_to_fourcc(image->dri_format);
> -      return GL_TRUE;
> +      return *value != -1;
>     case __DRI_IMAGE_ATTRIB_NUM_PLANES:
>        *value = 1;
>        return GL_TRUE;
> diff --git a/src/gallium/state_trackers/dri/dri_helpers.c b/src/gallium/state_trackers/dri/dri_helpers.c
> index 5d42873a208a..25095bbce890 100644
> --- a/src/gallium/state_trackers/dri/dri_helpers.c
> +++ b/src/gallium/state_trackers/dri/dri_helpers.c
> @@ -296,12 +296,6 @@ dri2_create_image_from_renderbuffer2(__DRIcontext *context,
>     img->dri_format = driGLFormatToImageFormat(rb->Format);
>     img->loader_private = loaderPrivate;
>
> -   if (img->dri_format == __DRI_IMAGE_FORMAT_NONE) {
> -      *error = __DRI_IMAGE_ERROR_BAD_PARAMETER;
> -      free(img);
> -      return NULL;
> -   }
> -
>     pipe_resource_reference(&img->texture, tex);
>
>     *error = __DRI_IMAGE_ERROR_SUCCESS;
> @@ -379,12 +373,6 @@ dri2_create_from_texture(__DRIcontext *context, int target, unsigned texture,
>
>     img->loader_private = loaderPrivate;
>
> -   if (img->dri_format == __DRI_IMAGE_FORMAT_NONE) {
> -      *error = __DRI_IMAGE_ERROR_BAD_PARAMETER;
> -      free(img);
> -      return NULL;
> -   }
> -
>     pipe_resource_reference(&img->texture, tex);
>
>     *error = __DRI_IMAGE_ERROR_SUCCESS;
> --
> 2.18.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list