xf86-video-intel: unexpected phenomenon on XV texture adapter with no scaling
sroland at tungstengraphics.com
Fri Jun 19 06:43:51 PDT 2009
On 19.06.2009 14:58, Jacques, Hugo wrote:
> Hi all,
> I get a strange phenomenon using the XV texture adapter in YV12
> format on my 945G hardware and a 2.7.0 xf86-video-intel driver.
> I fill a rectangle with many 1 pixel-high horizontal lines. Odd lines
> are black and even lines are white. I send this rectangle using
> XVShmPutImage to a window with the same size so that no scaling
> I would expect to see the black/white horizontal lines pattern. But I
> get a uniformly grey rectangle! Same phenomenon appears on either
> VGA, DVI or CVBS-TV monitors: it doesn't seem to be monitor/video
> encoder issue-related.
> I also saw that on much older drivers. Maybe it has always been this
> Notes: 1) When the output window is one pixel higher(upscaling) or
> one pixel shorter(downscaling) than the source rectangle, I do see
> the expected pattern, but with some scaling distortion (as I
> 2) Opening a bitmap or .jpeg with the same pattern with an image
> viewer (GIMP), everything is fine. The phenomenon seems to be
> 3) With the XV overlay adapter, if the pattern has the same size as
> the window, I do get all lines but with an unexpected scaling
> distortion. If the pattern is one pixel higher than the window
> (downscaling case), I do get the same phenomenon as when the texture
> adapter is used with no scaling. There seems to be a skew of 1 pixel
> on the overlay adapter vs. the texture one.
Not sure here, but as a wild guess (at least for textured xv) I would
guess there's some half-pixel offset somewhere causing the bilinear
texture filter to produce grey out of 2 black, 2 white pixels. Maybe
either coords are set up slightly wrong, or chip somehow set up
incorrectly (for instance d3d and ogl have a half-pixel offset
difference in sampling positions - not sure though if that's actually
changeable on this chip).
> Is this a known issue? Should I enter this into Bugzilla?
Yes, you probably should.
More information about the xorg