[Mesa-dev] [PATCH 13/25] st/vdpau: implement BitmapSurfaceGetParameters

Maarten Lankhorst m.b.lankhorst at gmail.com
Mon Feb 27 11:34:10 PST 2012


Op 27-02-12 17:25, Christian König schreef:
> Signed-off-by: Christian König <deathsimple at vodafone.de>
> ---
>  src/gallium/state_trackers/vdpau/bitmap.c |   15 ++++++++++++++-
>  1 files changed, 14 insertions(+), 1 deletions(-)
>
> diff --git a/src/gallium/state_trackers/vdpau/bitmap.c b/src/gallium/state_trackers/vdpau/bitmap.c
> index c2c8a44..0b885c8 100644
> --- a/src/gallium/state_trackers/vdpau/bitmap.c
> +++ b/src/gallium/state_trackers/vdpau/bitmap.c
> @@ -136,10 +136,23 @@ vlVdpBitmapSurfaceGetParameters(VdpBitmapSurface surface,
>                                  uint32_t *width, uint32_t *height,
>                                  VdpBool *frequently_accessed)
>  {
> +   vlVdpBitmapSurface *vlsurface;
> +   struct pipe_resource *res;
> +
> +   vlsurface = vlGetDataHTAB(surface);
> +   if (!vlsurface)
> +      return VDP_STATUS_INVALID_HANDLE;
> +
>     if (!(rgba_format && width && height && frequently_accessed))
>        return VDP_STATUS_INVALID_POINTER;
>  
> -   return VDP_STATUS_NO_IMPLEMENTATION;
> +   res = vlsurface->sampler_view->texture;
> +   *rgba_format = PipeToFormatRGBA(res->format);
> +   *width = res->width0;
> +   *height = res->height0;
> +   *frequently_accessed = res->usage == PIPE_USAGE_DYNAMIC;
> +
> +   return VDP_STATUS_OK;
>  }
>  
>  /**
Looks good to me.


More information about the mesa-dev mailing list