<h1>Development Notes</h1>
-<h2>Adding Extentions</h2>
+<h2>Adding Extensions</h2>
<p>
To add a new GL extension to Mesa you have to do at least the following.
</pre>
</li>
<li>
- In the src/mesa/glapi/ directory, add the new extension functions and
+ In the src/mapi/glapi/gen/ directory, add the new extension functions and
enums to the gl_API.xml file.
Then, a bunch of source files must be regenerated by executing the
corresponding Python scripts.
src/mesa/state_tracker/st_glsl_to_tgsi.cpp can serve as examples.
</p>
+<h2>Submitting patches</h2>
+
+<p>
+You should always run the Mesa Testsuite before submitting patches.
+The Testsuite can be run using the 'make check' command. All tests
+must pass before patches will be accepted, this may mean you have
+to update the tests themselves.
+</p>
+
+<p>
+Patches should be sent to the Mesa mailing list for review.
+When submitting a patch make sure to use git send-email rather than attaching
+patches to emails. Sending patches as attachments prevents people from being
+able to provide in-line review comments.
+</p>
+
+<p>
+When submitting follow-up patches you can use --in-reply-to to make v2, v3,
+etc patches show up as replies to the originals. This usually works well
+when you're sending out updates to individual patches (as opposed to
+re-sending the whole series). Using --in-reply-to makes
+it harder for reviewers to accidentally review old patches.
+</p>
<h2>Marking a commit as a candidate for a stable branch</h2>
Here are some examples of such a note:
</p>
<ul>
- <li>NOTE: This is a candidate for the 9.0 branch.</li>
- <li>NOTE: This is a candidate for the 8.0 and 9.0 branches.</li>
- <li>NOTE: This is a candidate for the stable branches.</li>
+ <li>CC: <mesa-stable@lists.freedesktop.org></li>
+ <li>CC: "9.2 10.0" <mesa-stable@lists.freedesktop.org></li>
+ <li>CC: "10.0" <mesa-stable@lists.freedesktop.org></li>
</ul>
+Simply adding the CC to the mesa-stable list address is adequate to nominate
+the commit for the most-recently-created stable branch. It is only necessary
+to specify a specific branch name, (such as "9.2 10.0" or "10.0" in the
+examples above), if you want to nominate the commit for an older stable
+branch. And, as in these examples, you can nominate the commit for the older
+branch in addition to the more recent branch, or nominate the commit
+exclusively for the older branch.
+
+This "CC" syntax for patch nomination will cause patches to automatically be
+copied to the mesa-stable@ mailing list when you use "git send-email" to send
+patches to the mesa-dev@ mailing list. Also, if you realize that a commit
+should be nominated for the stable branch after it has already been committed,
+you can send a note directly to the mesa-stable@lists.freedesktop.org where
+the Mesa stable-branch maintainers will receive it. Be sure to mention the
+commit ID of the commit of interest (as it appears in the mesa master branch).
<h2>Cherry-picking candidates for a stable branch</h2>
</p>
-<h3>Verify and update version info</h3>
-
-<dl>
- <dt>Makefile.am</dt>
- <dt>SConstruct</dt>
- <dt>Android.common.mk</dt>
- <dd>PACKAGE_VERSION</dd>
- <dt>configure.ac</dt>
- <dd>AC_INIT</dd>
-</dl>
+<h3>Verify and update version info in VERSION</h3>
<p>
Create a docs/relnotes/x.y.z.html file.
-The bin/shortlog_mesa.sh script can be used to create a HTML-formatted list
-of changes to include in the file.
+The bin/bugzilla_mesa.sh and bin/shortlog_mesa.sh scripts can be used to
+create the HTML-formatted lists of bugfixes and changes to include in the file.
Link the new docs/relnotes/x.y.z.html file into the main <a href="relnotes.html">relnotes.html</a> file.
</p>
<p>
Make an announcement on the mailing lists:
-<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>d</em><em>e</em><em>v</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>,
-<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>u</em><em>s</em><em>e</em><em>r</em><em>s</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>
+<em>mesa-dev@lists.freedesktop.org</em>,
+<em>mesa-users@lists.freedesktop.org</em>
and
-<em>m</em><em>e</em><em>s</em><em>a</em><em>-</em><em>a</em><em>n</em><em>n</em><em>o</em><em>u</em><em>n</em><em>c</em><em>e</em><em>@</em><em>l</em><em>i</em><em>s</em><em>t</em><em>s</em><em>.</em><em>f</em><em>r</em><em>e</em><em>e</em><em>d</em><em>e</em><em>s</em><em>k</em><em>t</em><em>o</em><em>p</em><em>.</em><em>o</em><em>r</em><em>g</em>
+<em>mesa-announce@lists.freedesktop.org</em>
</p>
</div>