On 09/09/2018 05:00 PM, Timothy Arceri wrote:
> Ian made it pretty clear he didn't want a debate and had already made up
> his mind.
> 
> "We decided years ago that we were not going to support this horrible,
> underspecified steaming pile of an extension in Mesa.  I am not
> interested in going back on that decision now or, frankly, ever."
> 
> All I'm saying is I'm willing to write tests but I get the feeling
> nothing will be good enough when I'm greeted with statements like the
> one above.

That's fair.  I have pretty well made up my mind about EXT_dsa.  I also
had my mind pretty well made up about compatibility profile and
EXT_gpu_shader4.  While I may have my own entrenched opinion, I'm not
the only decision maker.

That said, quality of implementation and quality of testing cannot be
debatable points.

When we started seriously working on getting modern OpenGL support for
Mesa back in 2009-2010, we made a key decision really early on.  When I
say "we" here, I mean the team of open-source junkies who happened to
work at Intel.  The only way we were going to be better than certain
closed-source drivers was to be slow and methodical.  In the intervening
8 years, we implemented dozens of extensions that eventually helped get
Mesa to OpenGL 4.5.  We also helped make Mesa one of the first
implementations of OpenGL ES 3.0.  I think we even beat Qualcomm.  All
the while we wrote literally tens of thousands of piglit tests and
submitted dozens of spec bugs.

It's tempting to say, "You have such a big team, you can afford that
luxury."  We made the decision to take this path when the OpenGL team at
Intel was 3 people: Eric, Ken, and myself.  I don't think I need to
quote any software engineering books about the cost of finding defects
early, but it's all true.  The only way we could keep from drowning in
bug reports was to get things right the first time.

It wasn't just the team at Intel who went this way.  We "compelled"
various contractors that we worked with to do the same, and I thought
the drive for quality rubbed off on other people in the community.  I
think the commit statistics in piglit and Mesa support that, too.
Although, part of me does miss the days when a full piglit run took less
than 10 minutes on a slow machine.

Along the way, we caught a lot of flak inside the company for things
taking so long and for being so far behind the rest of the industry.
The payoff came when I would go to GDC or SIGGRAPH, and game developers
would thank me because things just worked, the first time, on Mesa.  We
caught up with the rest of the industry as quickly as we did because we
went as slowly as we did.

It's also tempting to say, "If a feature isn't implemented with high
enough quality, you don't have to enable it."  That is technically true,
but it's also disingenuous.  The only reason these particular features
are being implemented at all is market forces.  If any driver in the
code base supports a particular feature, the ability for other drivers
to resist market forces diminishes to near zero.  Allowing an
inadequately tested feature into core Mesa just pushes the
responsibility for writing tests on to the next person that wants to (or
is compelled to) support the feature.  I hope we can agree that's not okay.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to