The Next Mesa Version Is Turning Into A Monstrous Release

Written by Michael Larabel in Mesa on 30 May 2016 at 11:30 AM EDT. 29 Comments
MESA
With the main Mesa drivers (Intel, RadeonSI, NVC0) jumping ahead to OpenGL 4.3 and mostly done with OpenGL 4.4/4.5, plus Intel adding their Vulkan driver, and many other improvements over the past three months, the next stable release of Mesa is going to be massive.

This next version of Mesa is still referred to as Mesa 11.3-dev in Git, with no patches yet proposed for bumping it to Mesa 12.0 considering the new OGL milestones. Anyhow, with the crazy amount of new features I was interested in running some statistics on the code-base to see how its size and evolution compares to earlier Mesa releases. This article provides those numbers.

All numbers are with Mesa Git master as of this morning. When looking at the changes from Mesa 11.2 to the current Git, there's been 1725 files changed, 196686 insertions(+), 44708 deletions(-). In other words, more than 150,000 lines of new code in three months! (151,978 new lines of code for Mesa 11.3 as of this morning.)

For reference, going from Mesa 11.1 to 11.2 was 2269 files changed, 215657 insertions(+), 135942 deletions(-). So for that previous three month cycle, just 79,715 lines of new code, or about half of the amount for this current development cycle. In Mesa 11.0 to 11.1 was 1356 files changed, 111405 insertions(+), 47824 deletions(-) or 63,581 lines of new code.

Pretty much whatever way you want to dice it, Mesa 11.3 is going to be a massive release with around twice as many lines of new code as in the previous few releases. Here's the CLOC output of the current Mesa Git tree, for those curious.
---------------------------------------------------------------------------------------
Language                             files          blank        comment           code
---------------------------------------------------------------------------------------
C                                     1900         137385         139454         699932
C/C++ Header                          1561          55637          82845         270152
C++                                    326          32409          40800         173933
XML                                    108           4114            754          77179
HTML                                   185           6628             32          29092
Python                                  91           5551           6346          22116
Assembly                                24           2417           1453           7441
make                                    98           1133           1458           3989
yacc                                     2            760            420           3962
m4                                       9            374            138           3375
Perl                                     1            334             72           1895
Windows Module Definition                5              1             19           1494
Bourne Shell                            77            341            123            954
lex                                      2            139            201            733
Bourne Again Shell                       8             39             43            660
XSLT                                     1             29             21            146
DOS Batch                                2             17              1            119
YAML                                     2             27             41            109
Lisp                                     7              0              0             76
DTD                                      1              6             63             75
CSS                                      1              9              3             51
JSON                                     1              0              0              7
---------------------------------------------------------------------------------------
SUM:                                  4412         247350         274287        1297490
---------------------------------------------------------------------------------------
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week