[Mesa-dev] [PATCH 07/32] gbm: Export a per plane getter for stride
Daniel Stone
daniel at fooishbar.org
Thu Jan 12 18:58:50 UTC 2017
Hi,
On 3 January 2017 at 02:36, Ben Widawsky <ben at bwidawsk.net> wrote:
> static uint32_t
> gbm_dri_bo_get_stride(struct gbm_bo *_bo, int plane)
> {
> - return _bo->stride;
> + struct gbm_dri_device *dri = gbm_dri_device(_bo->gbm);
> + struct gbm_dri_bo *bo = gbm_dri_bo(_bo);
> + __DRIimage *image;
> + int stride = 0;
> +
> + if (!dri->image || dri->image->base.version < 11 || !dri->image->fromPlanar) {
> + errno = ENOSYS;
> + return 0;
> + }
> +
> + if (bo->image == NULL)
> + return _bo->stride;
> +
> + if (plane >= get_number_planes(dri, bo->image))
> + return 0;
Move the if (!bo->image) check below get_number_planes, otherwise you
can pass silly plane indices and it'll always succeed.
Cheers,
Daniel
More information about the mesa-dev
mailing list