On Mon, 10 Jan 2005 23:41:55 -0500, Michel Dänzer <[EMAIL PROTECTED]> wrote:
On Wed, 2005-01-05 at 09:27 -0500, Alex Deucher wrote:
Ok, so last night I think I figured out why pageflipping was borked with mergedfb. Unfortunately the fix requires changes to the drm and sarea. I'm wondering what the best way to do this is and maintain compatability. When crtc1 is at offset 0 pageflipping should work with a simple patch to radeon_driver.c::RadeonDoAdjustframe(). the backbuffer offset was being added to the base address after the crtc2_base info was updated in the sarea. That's an easy fix.
For what? radeon_cp_dispatch_flip() adds the offset before writing the CRTC(2)_OFFSET registers?
you're right.
For situations where crtc2 is at offset 0 and crtc1 is at a higher offset, changes to the drm and sarea are required. I think the easiest solution would be to add a crtc1_base to the sarea and update that in RadeonDoAdjustframe() just like crtc2_base. The problem is that in the drm in radeon_state.c::radeon_cp_dispatch_flip() the offset of crtc1 is calculated from the sarea frame info which could be crtc1 or crtc2 depending on their orientation. It should really be calcluated in RadeonDoAdjustframe() just like crtc2 base.
Why don't you make sure the frame info is set the way the DRM expects it instead?
That's a good idea. The code in the drm should work fine with a small modification to the DDX, the problem is values in the in the sarea that get set in the DDX never make it to the drm. I did some testing of this solution last night and the values I set in the DDX never make it to the drm. I'm not sure why; I'm not yet that familiar with the drm. Everything works fine if I hard code the offsets in the dispatch pageflip function in the drm. Does any one have any ideas?
Alex
Are you trying to fix up the frame.y and frame.x values in the sarea in ddx? This will probably not work, since _DRIAdjustFrame (in dri.c) will overwrite them right after that. Though I don't know if this is actually always called, or only if a 3d client is running.
Roland
------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel