[Mesa-dev] [PATCH 05/10] gbm: handle queryImage() failure through rest of gbm_dri_bo_import()
Jakob Bornecrantz
jakob.bornecrantz at collabora.com
Mon Oct 16 20:12:12 UTC 2017
On Mon, Oct 16, 2017 at 5:04 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> Fixes: 6a7dea93fa7 ("dri: Rework planar image interface")
> Cc: Jakob Bornecrantz <jakob.bornecrantz at collabora.co.uk>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Jakob Bornecrantz <jakob.bornecrantz at collabora.com>
Cheers, Jakob.
> ---
> src/gbm/backends/dri/gbm_dri.c | 23 +++++++++++++++--------
> 1 file changed, 15 insertions(+), 8 deletions(-)
>
> diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
> index 9c9066e6661..a6c80cf1ec7 100644
> --- a/src/gbm/backends/dri/gbm_dri.c
> +++ b/src/gbm/backends/dri/gbm_dri.c
> @@ -1048,14 +1048,21 @@ gbm_dri_bo_import(struct gbm_device *gbm,
> bo->base.gbm = gbm;
> bo->base.format = gbm_format;
>
> - dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_WIDTH,
> - (int*)&bo->base.width);
> - dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HEIGHT,
> - (int*)&bo->base.height);
> - dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_STRIDE,
> - (int*)&bo->base.stride);
> - dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
> - &bo->base.handle.s32);
> + query = dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_WIDTH,
> + (int*)&bo->base.width);
> + query &= dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HEIGHT,
> + (int*)&bo->base.height);
> + query &= dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_STRIDE,
> + (int*)&bo->base.stride);
> + query &= dri->image->queryImage(bo->image, __DRI_IMAGE_ATTRIB_HANDLE,
> + &bo->base.handle.s32);
> +
> + if (!query) {
> + errno = EINVAL;
> + dri->image->destroyImage(bo->image);
> + free(bo);
> + return NULL;
> + }
>
> return &bo->base;
> }
> --
> 2.14.1
>
> _______________________________________________
> 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