[Mesa-dev] [PATCH 1/3] st/vdpau: don't return a device if the screen doesn't support NPOT

Christian König deathsimple at vodafone.de
Sat Jan 18 02:27:41 PST 2014


Am 18.01.2014 05:58, schrieb Ilia Mirkin:
> NV3x cards don't support NPOT textures. Technically this restriction
> could be worked around, but since it also doesn't expose any video
> decoding hw, just turn it off entirely.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Cc: 10.0 <mesa-stable at lists.freedesktop.org>

Actually we had a similar problem for early r300/r600 cards and because 
of this there is an extra PIPE_VIDEO_CAP_NPOT_TEXTURES.

Wanting to remove that for quite a while, but if you return the correct 
value when this is queried even NPOT cards should work quite fine with 
the presentation part of VDPAU.

Christian.

> ---
>   src/gallium/state_trackers/vdpau/device.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/src/gallium/state_trackers/vdpau/device.c b/src/gallium/state_trackers/vdpau/device.c
> index fb9c68c..36ac11a 100644
> --- a/src/gallium/state_trackers/vdpau/device.c
> +++ b/src/gallium/state_trackers/vdpau/device.c
> @@ -72,6 +72,11 @@ vdp_imp_device_create_x11(Display *display, int screen, VdpDevice *device,
>         goto no_context;
>      }
>   
> +   if (!pscreen->get_param(pscreen, PIPE_CAP_NPOT_TEXTURES)) {
> +      ret = VDP_STATUS_NO_IMPLEMENTATION;
> +      goto no_context;
> +   }
> +
>      *device = vlAddDataHTAB(dev);
>      if (*device == 0) {
>         ret = VDP_STATUS_ERROR;



More information about the mesa-dev mailing list