[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