[Bug 28341] Flickering screen in Neverball on drm-radeon-testing

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Jul 25 08:26:41 PDT 2010


https://bugs.freedesktop.org/show_bug.cgi?id=28341

--- Comment #20 from Mario Kleiner <mario.kleiner at tuebingen.mpg.de> 2010-07-25 08:26:41 PDT ---
Created an attachment (id=37368)
 View: https://bugs.freedesktop.org/attachment.cgi?id=37368
 Review: https://bugs.freedesktop.org/review?bug=28341&attachment=37368

Proof of concept "fix" for R600/R700. Act on dri2InvalidateDrawable(). 

This patch together with the previous patch applied to current mesa git master
eliminates the flicker problem on my tested apps with a R600 card.

A new function radeon_prepare_render() checks the timestamps that get updated
by dri2InvalidateDrawable() to find out if a swap is in progress / buffers are
invalidated.
If so, it uses radeon_update_buffers() to get "new" buffers. That function will
also throttle
the client if a swap is still in progress. We'd need to add a call to
radeon_prepare_render() to
various places in the driver. This is what the intel driver does with
intel_prepare_render() to
avoid artifacts.

I've only added a check to r700DrawPrims() to see if it works at all. I don't
know at which other
locations such calls would be needed (and i'm a bloody beginner), so this is a
pretty sketchy start. 

-mario

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


More information about the dri-devel mailing list