On Sat, Jan 18, 2014 at 5:40 AM, Christian König <deathsim...@vodafone.de> wrote: > Am 18.01.2014 11:34, schrieb Ilia Mirkin: > >> On Sat, Jan 18, 2014 at 5:27 AM, Christian König >> <deathsim...@vodafone.de> wrote: >>> >>> 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 <imir...@alum.mit.edu> >>>> Cc: 10.0 <mesa-sta...@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. >> >> There isn't a single reference to NPOT in VDPAU that I could find. Are >> you thinking of the XvMC state tracker? That one does appear to have >> support for the NPOT stuff. However the e.g. output surfaces being >> created aren't video surfaces, they're regular surfaces, so I think >> I'm checking the right PIPE_CAP. (I guess I should check both, but >> that's really overkill.) > > > Ah, got it. You don't support NPOT textures at all and not only for the > video buffers. Yeah, then it would be a bit complicated to get VDPAU > working.
Actually for video buffers, we do support them :) Lot of good that does us though, since we can't actually display them. NV3x has a HW overlay though, I think the idea was to use that for displaying videos. NV4x lost the HW overlay, but gained NPOT texture support. > > Then the patch is: Reviewed-by: Christian König <christian.koe...@amd.com> > > >>> 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; >>> >>> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev