[Bug 18542] [PATCH] Textured Video (XV) tearing.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Nov 24 04:30:22 PST 2008


http://bugs.freedesktop.org/show_bug.cgi?id=18542





--- Comment #19 from Michel Dänzer <michel at tungstengraphics.com>  2008-11-24 04:30:22 PST ---
(In reply to comment #17)
> That's strange as I no longer see this. Maybe could even be dependent on the
> hardware?

Yeah, as of R300 the 3D engine no longer seems to provide any primitive that
allows rendering a rectangle top to bottom in one pass. So the 'large triangle
plus scissor' trick would be needed.

As for the VLINE wait, the way it should be done I think is:

* Set up the CRTC_GUI_TRIG_VLINE register to start at the top vertical line
rendered to and end at the bottom line rendered to (these may need to be
converted/clipped to the CRTC active vertical range etc.) and set the
CRTC_GUI_TRIG_VLINE_INV bit. The register reference suggests that the
CRTC_GUI_TRIG_VLINE_STALL bit may also need to be set due to the below.
* Write WAIT_CRTC_VLINE (not *_RE_* or *_FE_*) to WAIT_UNTIL immediately before
emitting the 3D primitive. This write should stall the CP while scanout is
within the specified range.

Note that the waiting should only be done if the window isn't redirected, i.e.
if the destination pixmap is the screen pixmap.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the xorg-driver-ati mailing list