Yeah, I think the problem is that nearly every line had to be #ifdef'ed and it started to look like driver code hidden behind a wall of #ifdef statements.
I don't think it will be a problem; this just seemed like a good opportunity to kill two birds with one stone -- I didn't want to invest a lot of time designing a solution for the classic mesa driver if jumping across to Gallium3D also made the problem go away. The thought process basically went :
- merged 6xx/7xx/Evergreen classic driver
- toss the work already done on Evergreen/classic, jump to Gallium3D immediately
- copy r600 and hack up an Evergreen-specific copy quickly, in parallel decide whether to jump onto Gallium3D immediately
It was one of those unplanned replanning moments