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





--- Comment #19 from Michel Dänzer <[EMAIL PROTECTED]>  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.
_______________________________________________
xorg-driver-ati mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to