From: Dave A. <ai...@li...> - 2009-02-12 05:29:33
|
Hi, So I have a goal to get a radeon driver that works on a bufmgr and that then can be used on non-mm/mm, and also where I can make DRI2 and FBOs work. So with that in mind and not wanting to write this 3 times, I've done a major refactoring of the radeon/r200/r300 drivers. I've refactored all the: buffer management, buffer swap + copy, texture and mipmap management, command submission handling, state + atom emission dma buffers, lock code, into common files for all 3 drivers, and re-used the same code in nearly the same ways across all 3. So far I've been working on getting the legacy buffer/command code into shape so I can merge this in place of the current drivers without suffering any major regressions. Then start adding the code necessary for DRI2/GEM/FBOs on top of it. I think this code is pretty close to read to merge, I'd like people to bash on it, and report any major regressions above the current r100/r200/r300 codebases with these drivers. In order to get the mm/dri2 stuff working, I mainly need to 1. get libdrm_radeon into a happy place. You don't require libdrm_radeon for this stuff at all I've made wrappers that I just need to use some magic to hook up. 2. add userspace clear paths for r100/r200. 3. fix lockups from DRI2 lockless :) 4. make it go fast. Most of the code was written by Nicolai and Jerome, I've just spent 2-3 weeks moving it around the place until it works!! I've done a series of piglit regressions and I have one or two to fix, but it seems to be only a couple left. Also any suggestions for things I should use to test this? I've mainly been doing piglit + gears + ipers + openarena when I can. Dave. |