Bug 19046 - RS690 - XVideo corruption playing fullscreen video at 1920x1080
Summary: RS690 - XVideo corruption playing fullscreen video at 1920x1080
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-12 08:28 UTC by George Reid
Modified: 2009-02-18 13:41 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg.conf Configuration File (1.55 KB, application/octet-stream)
2008-12-12 08:28 UTC, George Reid
no flags Details
Photo of the problem (440.46 KB, image/jpeg)
2008-12-12 08:30 UTC, George Reid
no flags Details
clipping fix (1.03 KB, patch)
2008-12-12 16:24 UTC, Alex Deucher
no flags Details | Splinter Review

Description George Reid 2008-12-12 08:28:57 UTC
Created attachment 21094 [details]
xorg.conf Configuration File

I am running the latest code from git.  Playing any full screen video results in approximately the right 1/4 of the screen being filled with junk and a large triangle in the bottom right corner.  The video also appears to be squashed into the remaining 3/4 of the screen.  This is a problem at 1920x1080, 1920x1200 and 1600x1200 but NOT at 1360x768, where everything plays fine.
Comment 1 George Reid 2008-12-12 08:30:11 UTC
Created attachment 21095 [details]
Photo of the problem
Comment 2 Roland Scheidegger 2008-12-12 09:10:34 UTC
(In reply to comment #0)
> Created an attachment (id=21094) [details]
> xorg.conf Configuration File
> 
> I am running the latest code from git.  Playing any full screen video results
> in approximately the right 1/4 of the screen being filled with junk and a large
> triangle in the bottom right corner.
This doesn't look like junk to me, rather appears like what you'd get if you'd do clamp_to_edge texturing with the texture coords supposed to be at the corners somewhere else.

> The video also appears to be squashed into the remaining 3/4 of the screen.
Which fits the previous explanation.

> This is a problem at 1920x1080,
> 1920x1200 and 1600x1200 but NOT at 1360x768, where everything plays fine.
As a guess, I'd blame the big tri rather than quad approach in xv changes to avoid tearing (though I'm still unsure if that's really needed - it didn't seem to be for me and apparently Alex but for others). Not sure what's the problem though, maybe it exceeds some hardware limits somewhere.
Comment 3 George Reid 2008-12-12 10:15:11 UTC
(In reply to comment #2)

> As a guess, I'd blame the big tri rather than quad approach in xv changes to
> avoid tearing (though I'm still unsure if that's really needed - it didn't seem
> to be for me and apparently Alex but for others). Not sure what's the problem
> though, maybe it exceeds some hardware limits somewhere.

Hi Roland,
It does indeed seem to be related to the tearing fixes made recently.  If I roll back the driver to git of 20081003 (f9826a56) then the 1/4-screen problem disappears and I can play the video in 1920x1080 -- but obviously with the tearing those patches are designed to fix!

George
Comment 4 Alex Deucher 2008-12-12 10:22:53 UTC
Are you using a compositing manager?
Comment 5 George Reid 2008-12-12 11:33:57 UTC
(In reply to comment #4)
> Are you using a compositing manager?
> 

I'm running xfce4 / xfwm (with Composite set to Disabled in xorg.conf).
Comment 6 Roland Scheidegger 2008-12-12 15:01:43 UTC
Is it possible clipping somehow is an issue here? I'm not sure what the SC_CLIP regs actually really do, but if they clip geometry current setup wouldn't allow for a 3840 pixel wide tri (which is what is required for 1920 width) - not for r300 at least.
Comment 7 Alex Deucher 2008-12-12 16:24:16 UTC
Created attachment 21110 [details] [review]
clipping fix

With that in mind, does this patch fix it for you?
Comment 8 George Reid 2008-12-13 01:07:26 UTC
(In reply to comment #7)
> Created an attachment (id=21110) [details]
> clipping fix
> 
> With that in mind, does this patch fix it for you?
> 

Hi Alex,
Thanks again for all your efforts on these drivers.  Unfortunately, this patch doesn't fix the problem for me.  I am still seeing the same artifact on the video at 1920x1080 and 1600x1200.

Kind regards,

George
Comment 9 Michel Dänzer 2008-12-14 05:08:41 UTC
To me it looks rather like the vertex coordinates are off (as you can see the triangle edge on the bottom right). Maybe something like an arithmetic rounding/overflow problem somewhere?
Comment 10 Alex Deucher 2008-12-15 12:04:42 UTC
We are hitting guardband limits on r3xx/r4xx, so we can't use a clipped triangle above certain sizes.  Suggestion from hw guys is to use point sprites.
Comment 11 Roland Scheidegger 2008-12-15 15:02:02 UTC
(In reply to comment #10)
> We are hitting guardband limits on r3xx/r4xx, so we can't use a clipped
> triangle above certain sizes.  Suggestion from hw guys is to use point sprites.
Interesting, the docs just say set to 1.0 (which is what the driver does) for no guard band and don't mention a a limit. So what's the limit?
Also, are point sprites actually rasterized differently to quads?


Comment 12 Alex Deucher 2008-12-15 15:10:11 UTC
(In reply to comment #11)
> Interesting, the docs just say set to 1.0 (which is what the driver does) for
> no guard band and don't mention a a limit. So what's the limit?

2880

> Also, are point sprites actually rasterized differently to quads?
> 

So I'm told.  I haven't tried them yet.
Comment 13 Alex Deucher 2009-02-18 13:41:04 UTC
This should be fixed.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.