While the automated stuff is really outstanding in its ability to find very elemental problems with getting a basic desktop booted and working with compiz, it doesn't do very much for spotting regressions in more sophisticated applications, such as video decode/encode, GLSL compiler, etc.
For instance, I have been trying to track down a r600g regression where the kernel hard-locks while running the application Imprudence (or Second Life, or any other viewer derived from the Linden Lab code). The problem isn't evident in other advanced 3d applications, but it must be the particular interleaving of the calls, or the particular calls used in this application that causes the bug to be exposed.
Unfortunately, that too is a regression -- the application worked extremely well back in January and early February. It's such an obvious regression because the mesa 7.10 stable branch results in correct functionality, but 7.11-dev exposes the problem. I've already reported it on the FDO bugzilla, attempted to bisect it, and provided the results of my attempt, but none of the developers have taken it any further in a week. The most embarrassing part of all of this is that the application in question is Free Software, so there's no reason why someone experienced in OpenGL wouldn't be able to write a piglit test case to make sure that this app will continue to work. (NB: I am not an OpenGL programmer (yet)).
I haven't seen such widespread regressions cropping up since the 2007-2008 era, where the whole stack experienced massive growing pains from integrating gallium3d, KMS, DRI2 and GEM, all around the same time frame. 2009 and 2010 were, relatively speaking, uneventful in the way of regressions. But here come the regressions in 2011, and this time without there being an overhaul in the architecture, and it seems that developers are getting sloppy.
The only solution I've found for my problem so far is to continue using Mesa 7.10.x, which has its own set of problems with other apps I use. So I have to basically choose between 7.10.x, which runs Imprudence just fine, or 7.11-dev, which breaks Imprudence but runs other applications faster / with fewer bugs (example: Unigine engine titles).
My points?
1. I've seen the graphics developer community put out much more quality releases with fewer bugs in past years, and suddenly things are starting to fall apart. Why? Can this be improved upon, to get the regression rate back to where it used to be? 2010 was a high point for Mesa and the graphics stack, I think, but we're back into unstable waters again in 2011.
2. There are some applications which, while quite popular and open source, simply don't get tested. This may be due in part to the fact that the overwhelming majority of these apps' user base take for granted that Mesa will not work with their app, and they instead install a proprietary driver. But we need to change that perception and increase the number of users who can run without a proprietary driver. To do that, we first have to stop causing regressions like this. To do that, the easiest thing would be to write a piglit test case that captures something unique and potentially breakable that the application does.
Intel users: don't worry, you aren't the only ones feeling the burn of regressions.![]()


Reply With Quote

