[Mesa-dev] Mesa/Gallium overall design
Bridgman, John
John.Bridgman at amd.com
Tue Apr 13 19:40:31 PDT 2010
John Bridgman wrote :
> OK, file this under "be careful what you wish for"...
>
> It turns out that while the programming model of Evergreen is
> very similar to 7xx, the register offsets are totally
> different, which has been causing a bunch of header file pain
> trying to merge Evergreen support into the existing r600 driver.
>
> As a result of this discussion, we're thinking about changing
> plans a bit - making a copy of the r600 driver and hacking it
> up to be Evergreen only, then seeing if we can use that code
> to jump-start an Evergreen Gallium3D driver sooner rather
> than later. I guess we got our architectural break after all,
> just not the way I expected.
>
> We'll need to figure out how this would co-exist with the
> work that Jerome and Corbin are doing - I'm thinking of it as
> a "quick and dirty" proof of concept driver that might live
> alongside the 600g code and eventually be replaced by it -
> whatever works. Part of the rationale here is that we have
> the same register-shuffling problem with the ddx driver so we
> might end up with a new copy of the accel code anyways - if
> so it might be a good time to play with using Gallium3D calls
> for EXA and Xv.
>
> We're obviously not very far into this and I wouldn't
> normally mention anything this soon if I hadn't just posted
> something *different* an hour ago ;)
>
> Regarding the "Gallium vs Classic" interfaces for Mesa, it
> seems to me that the medium term plan should be to fork off a
> copy of Mesa for pre-Gallium3D drivers and limit it to GL2 or
> lower (the non-shaderful chips can't do GL2 anyways, can they
> ?) and then let Mesa evolve as a Gallium3D-only state
> tracker. This would *have* to be done on a schedule that
> allowed all of the existing "shader-based GPU on classic
> mesa" drivers (Intel, AMD, probably others) to comfortably
> migrate to Gallium3D-based drivers, which might not be fast,
> but at least there would be a plan. I wouldn't want to see
> support for our "classic" 3D drivers go away too quickly either.
>
> I'm a bit out of touch on the GL3 support going in now, so
> it's not clear whether this is Gallium3D only or whether GL3
> on the classic driver is practical. If GL3 is going to be
> Gallium3D only then I assume it's just a matter of time
> before all the active drivers move over, and the key is
> finding the right point to start cutting over ? I know our
> decision to go with "classic" Mesa drivers for 6xx/7xx was
> not easy and it's probably not going to be any easier for the
> Intel folks to make a decision to start moving to Gallium3D.
>
> Anyways, does this all make sense ? I think things will work
> best if we all ooze across to Gallium3D at more or less the
> same time (say within 6 months at most) and I don't mind
> trying to push our plans ahead or holding them back a bit to
> make sure that we end up with a Gallium3D abstraction that
> works for everyone.
>
> BTW I received an out-of-office bounce from our OpenGL
> architect, so probably won't hear back about deprecating
> older GL functionality until next Monday. I'll ask some other
> folks but I would rather get the definitive word from Pierre.
>
> JB
Realized afterwards that my post about "oozing to Gallium3D
together" was kind of ambiguous - I meant "moving within 6
months of each other" not "moving within 6 months of today".
Also fixed up line spacing, sorry about that.
More information about the mesa-dev
mailing list