[Mesa-dev] Mesa/Gallium overall design

Dave Airlie airlied at gmail.com
Tue Apr 13 04:22:57 PDT 2010


On Tue, Apr 13, 2010 at 9:08 PM, Michel Dänzer <michel at daenzer.net> wrote:
> On Tue, 2010-04-13 at 20:52 +1000, Dave Airlie wrote:
>> On Tue, Apr 13, 2010 at 8:01 PM, José Fonseca <jfonseca at vmware.com> wrote:
>> > On Tue, 2010-04-13 at 00:55 -0700, Dave Airlie wrote:
>>
>> > Also, the closed drivers that you decided not to count were as stable as
>> > they could be in the allocated time. When we were stabilizing the
>> > Windows GL SVGA driver we fixed loads of *Mesa* bugs, because all the
>> > windows-only applications we tested with that were never tested before.
>> > Actually looking back, most of the bugs we had were in the pipe driver
>> > and Mesa. That is, relatively few were in the components that make the
>> > Gallium infrastructure.
>>
>> As I said SVGA doesn't count its not real hw, it relies on much more
>> stable host drivers yes, and is a great test platform for running DX
>> conformance, but you cannot use it as a parallel to real hardware.
>
> Why not? It looks like a GPU. It acts like a GPU. (Maybe it even smells
> like a GPU? :) It must be a GPU.

It is close and its definitely be a great help in fixing up r300g in
parts to know how the gallium authors intended a driver to be written.
Well documented interfaces are a good thing, but knowing the intent of
the interface designers is worth a hell of a lot more. The main reason
I'd like to have a seen a real optimised hw driver from the gallium
interface designers would be to show how they intend the interfaces to
be used in an optimised manner.  i915g and i965g had no buffer
optimisation strategy and that made it harder to work out how pb_buf*
and pipe_buffers interaction was meant to be done. Nouveau for example
still hasn't gotten a useful buffer management strategy and I feel a
lot of the 'I want to copy the blob' stuff comes from them not having
a good example to work from.

> I agree a showcase driver for real hardware would be preferable, but the
> above seems like an unfair dismissal of the svga driver.

Its just not the same thing, I spend a bit of time working on virtual
GPUs and I know how different the model is from real hw, esp in terms
of memory access speeds and buffer processing speeds. Though as I said
svga is at least a better example than anything else that went before
it, and I'm quite thankful for it.


>> The closed drivers were paid for embedded one-offs, no sustained
>> developement dead ends. So again I can't count them.
>
> Actually one of the goals of Gallium was to increase the sustainability
> of the efforts under that model, by making more of the code shared /
> reusable. I think it's worked out pretty well.
>

Its just we don't have any examples of this that have worked out due
to the TG->VMware transition making the model less a focus of Mesa
(which is a good thing for everyone ;-)

Dave.


More information about the mesa-dev mailing list