i965 Xv: fix chroma pitch

In my recent fix for the chroma pitch for i915 xvmc I've forgotten about
i965 class hw. For videos with a non-even sized stride (measured in dwords)
the chroma pitch was internally incosistent and one dword off.

Fix this by using pitch2 for the chroma pitch in i965 textured video like
everywhere else.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27417
Tested-by: Nick Bowler <nbowler@draconx.ca>
Tested-by: Sven Arvidsson <sa@whiz.se>
This commit is contained in:
Daniel Vetter 2010-04-08 13:29:04 +02:00
parent f6cb28e909
commit bdf0ee509c
3 changed files with 5 additions and 4 deletions

View File

@ -1525,7 +1525,7 @@ I830PutImageTextured(ScrnInfoPtr scrn,
if (IS_I965G(intel)) {
I965DisplayVideoTextured(scrn, adaptor_priv, id, clipBoxes,
width, height, dstPitch,
width, height, dstPitch, dstPitch2,
src_w, src_h,
drw_w, drw_h, pixmap);
} else {

View File

@ -76,7 +76,7 @@ void I915DisplayVideoTextured(ScrnInfoPtr scrn,
void I965DisplayVideoTextured(ScrnInfoPtr scrn,
intel_adaptor_private *adaptor_priv,
int id, RegionPtr dstRegion, short width,
short height, int video_pitch,
short height, int video_pitch, int video_pitch2,
short src_w, short src_h,
short drw_w, short drw_h, PixmapPtr pixmap);

View File

@ -980,7 +980,8 @@ void
I965DisplayVideoTextured(ScrnInfoPtr scrn,
intel_adaptor_private *adaptor_priv, int id,
RegionPtr dstRegion,
short width, short height, int video_pitch,
short width, short height,
int video_pitch, int video_pitch2,
short src_w, short src_h,
short drw_w, short drw_h, PixmapPtr pixmap)
{
@ -1023,7 +1024,7 @@ I965DisplayVideoTextured(ScrnInfoPtr scrn,
src_surf_format = BRW_SURFACEFORMAT_R8_UNORM;
src_width[1] = src_width[0] = width;
src_height[1] = src_height[0] = height;
src_pitch[1] = src_pitch[0] = video_pitch * 2;
src_pitch[1] = src_pitch[0] = video_pitch2;
src_width[4] = src_width[5] = src_width[2] = src_width[3] =
width / 2;
src_height[4] = src_height[5] = src_height[2] = src_height[3] =