[Mesa-dev] Documentation plan: request for comments

Chad Versace chad.versace at linux.intel.com
Fri Oct 18 23:31:15 CEST 2013


On 10/18/2013 01:43 PM, Paul Berry wrote:
> On 11 October 2013 14:40, Chad Versace <chad.versace at linux.intel.com <mailto:chad.versace at linux.intel.com>> wrote:
>
>     On 10/10/2013 01:38 AM, Rogovin, Kevin wrote:
>
>         Hello all,
>
>             My current goal is to add documentation to Mesa so that the ramp up time of Mesa goes down a great deal.
>
>
>     I support that goal. When I see other projects that publish good Doxygen documentation,
>     like http://llvm.org/doxygen/__modules.html <http://llvm.org/doxygen/modules.html>, I become jealous and wish Mesa
>     did the same.
>
>
>         In addition I wish to create an index of files and data structures keyed by subjects. The use case of such an
>         index is of the form "How does Mesa does functionality foo? Where are those functions and states?" and then one
>         can quickly find the files and data structures to answer that question. The goal I have is that one can use
>         doxygen output to quickly browse source code to find the implementation details as well.
>
>         There are several approaches that I can think of on how to accomplish this, so far I have come up with 2 options:
>
>
>            Option A: A separate file that lists an organization of files of Mesa by functionality. Each file is placed
>         into a section and/or subsection and a brief description of each file. This I have already done.
>
>             Advantages: easier to organize text, easier to create linking narration between groups. Greater control over
>         text presentation to create a flow, especially between units.
>
>             Disadvantages: Document needs to be maintained as a separate file: as files are added and changed they need
>         to update their entries in the file.
>
>
>
>         OR
>
>
>
>             Option B: A set of doxygen groups and subgroups. The groups and subgroups will have names given by
>         functionality. Each header AND _source_ file would be placed into a group. In addition each source file would
>         have a file tag describing what it does. This requires adding the necessary doxygen tag header "\addtogroup FOO
>         @{" and footer "@}". For those files that provide support to another file, those files should be in a list
>         stating that they support another file.
>
>
>
>             Advantages: Documentation is better localized to a file. Changes to a file will then get their documentation
>         updated too with the file.
>
>
>             Disadvantages: Very difficult to make a good table of contents without resorting to a script to run on the
>         files hunting for tags (AFAIK doxygen does not generate nice TOC's for groups). Massive number of patches for
>         the first commit since it would essentially touch every file. Trickier to create linking narration for different
>         groups.
>
>
>
>         Option A is already done for src/mesa/main and src/mesa/vbo.
>
>
>
>         Thoughts, suggestions, etc are greatly appreciated.
>
>
>     I prefer option B, keep the documentation as close to the source as possible. Mesa developers, according to my
>     observations, do not fastidiously maintain documentation. So I believe you will need to eliminate as much
>     maintenance overhead as possible, and put the docs close to the source, if you intend to succeed at your
>     endeavor.
>
>     To aid everyone in examining the current state of our Doxygen, I've automated it publication every 4 hours
>     to here:
>
>     http://people.freedesktop.org/__~chadversary/mesa/doxygen <http://people.freedesktop.org/~chadversary/mesa/doxygen>
>
>     I'm currently building the Doxygen only for master. If you'd like me to automate publication of one your
>     branches too, just let me know.
>
>
> Any chance we could move this to a non-Chad-specific section of the web site, and put a link to it on the main Mesa page?

Paul, I just CC'd you on a new thread regarding that.



More information about the mesa-dev mailing list