[PATCH 08/11] etnaviv: fold etna_screen_bo_get_handle into etna_resource_get_handle

Wladimir J. van der Laan laanwj at gmail.com
Wed Jun 28 17:15:01 UTC 2017


On Fri, Jun 23, 2017 at 05:50:25PM +0200, Lucas Stach wrote:
> There is no point in keeping this indirection. Makes the code easier to
> follow.
> 
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>

Seems to make sense - etna_screen_bo_get_handle doesn't actually do anything
screen specific.

Reviewed-by: Wladimir J. van der Laan <laanwj at gmail.com>

> ---
>  src/gallium/drivers/etnaviv/etnaviv_resource.c | 14 ++++++++++++--
>  src/gallium/drivers/etnaviv/etnaviv_screen.c   | 19 -------------------
>  src/gallium/drivers/etnaviv/etnaviv_screen.h   |  4 ----
>  3 files changed, 12 insertions(+), 25 deletions(-)
> 
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_resource.c b/src/gallium/drivers/etnaviv/etnaviv_resource.c
> index f006d24a1bba..66d96aacbbe7 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_resource.c
> +++ b/src/gallium/drivers/etnaviv/etnaviv_resource.c
> @@ -471,13 +471,23 @@ etna_resource_get_handle(struct pipe_screen *pscreen,
>                           struct winsys_handle *handle, unsigned usage)
>  {
>     struct etna_resource *rsc = etna_resource(prsc);
> +   handle->stride = rsc->levels[0].stride;
>  
>     if (handle->type == DRM_API_HANDLE_TYPE_KMS &&
>         renderonly_get_handle(rsc->scanout, handle))
>        return TRUE;
>  
> -   return etna_screen_bo_get_handle(pscreen, rsc->bo, rsc->levels[0].stride,
> -                                    handle);
> +   if (handle->type == DRM_API_HANDLE_TYPE_SHARED) {
> +      return etna_bo_get_name(rsc->bo, &handle->handle) == 0;
> +   } else if (handle->type == DRM_API_HANDLE_TYPE_KMS) {
> +      handle->handle = etna_bo_handle(rsc->bo);
> +      return TRUE;
> +   } else if (handle->type == DRM_API_HANDLE_TYPE_FD) {
> +      handle->handle = etna_bo_dmabuf(rsc->bo);
> +      return TRUE;
> +   } else {
> +      return FALSE;
> +   }
>  }
>  
>  void
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c
> index 6c0735e0fbf2..b70897b6e41f 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
> +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
> @@ -696,25 +696,6 @@ fail:
>     return false;
>  }
>  
> -boolean
> -etna_screen_bo_get_handle(struct pipe_screen *pscreen, struct etna_bo *bo,
> -                          unsigned stride, struct winsys_handle *whandle)
> -{
> -   whandle->stride = stride;
> -
> -   if (whandle->type == DRM_API_HANDLE_TYPE_SHARED) {
> -      return etna_bo_get_name(bo, &whandle->handle) == 0;
> -   } else if (whandle->type == DRM_API_HANDLE_TYPE_KMS) {
> -      whandle->handle = etna_bo_handle(bo);
> -      return TRUE;
> -   } else if (whandle->type == DRM_API_HANDLE_TYPE_FD) {
> -      whandle->handle = etna_bo_dmabuf(bo);
> -      return TRUE;
> -   } else {
> -      return FALSE;
> -   }
> -}
> -
>  struct etna_bo *
>  etna_screen_bo_from_handle(struct pipe_screen *pscreen,
>                             struct winsys_handle *whandle, unsigned *out_stride)
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.h b/src/gallium/drivers/etnaviv/etnaviv_screen.h
> index bec740b0a000..dc57a38dbb80 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_screen.h
> +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.h
> @@ -84,10 +84,6 @@ etna_screen(struct pipe_screen *pscreen)
>     return (struct etna_screen *)pscreen;
>  }
>  
> -boolean
> -etna_screen_bo_get_handle(struct pipe_screen *pscreen, struct etna_bo *bo,
> -                          unsigned stride, struct winsys_handle *whandle);
> -
>  struct etna_bo *
>  etna_screen_bo_from_handle(struct pipe_screen *pscreen,
>                             struct winsys_handle *whandle, unsigned *out_stride);
> -- 
> 2.11.0
> 
> _______________________________________________
> etnaviv mailing list
> etnaviv at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/etnaviv


More information about the etnaviv mailing list