misc updates

This commit is contained in:
Brian Paul 2004-11-22 17:49:15 +00:00
parent f76be3d6f2
commit 65b79057b9
2 changed files with 90 additions and 53 deletions

View File

@ -39,7 +39,7 @@ To add a new GL extension to Mesa you have to do at least the following.
extension is rather large, try to implement it in a new source file.
</li>
<li>
If hew extension adds new GL state, the functions in get.c, enable.c
If the new extension adds new GL state, the functions in get.c, enable.c
and attrib.c will most likely require new code.
</li>
</ul>
@ -94,7 +94,7 @@ Constants and macros are ALL_UPPERCASE, with _ between words
</p>
<p>
Global vars not allowed.
Global variables are not allowed.
</p>
<p>
@ -109,31 +109,22 @@ Function name examples:
</pre>
<H2>Writing a Device Driver</H2>
<p>
XXX to do
</p>
<H2>Making a New Mesa Release</H2>
<p>
These are the instructions for making a new Mesa release.
</p>
<H3>Get latest source files</H3>
<p>
Be sure to do a "cvs update -d ." in the Mesa directory to
get all the latest files.
Use "cvs update -dAP " to get the latest Mesa files from CVS.
</p>
<p>
Update the version definitions in src/mesa/main/version.h
</p>
<H3>Verify and update version info</H3>
<p>
Create/edit the docs/RELNOTES-X.Y file to document what's new in the release.
Add the new RELNOTES-X.Y file to <a href="relnotes.html">relnotes.html</a>.
Update the docs/VERSIONS file too.
</p>
@ -142,15 +133,33 @@ Edit configs/default and change the MESA_MAJOR, MESA_MINOR and MESA_TINY
version numbers.
</p>
<p>
Make sure the values in src/mesa/main/version.h is correct.
</p>
<p>
Edit the top-level Makefile and verify that DIRECTORY, LIB_NAME and
DEMO_NAME are correct.
</p>
<p>
Update the docs/news.html file and docs/contents.html files.
</p>
<p>
Check in all updates to CVS.
</p>
<p>
Tag the CVS files with the release name (in the form <b>mesa_X_Y</b>).
</p>
<H3>Make the tarballs</H3>
<p>
Make a symbolic link from $(DIRECTORY) to 'Mesa'. For example,
ln -s Mesa Mesa-6.3 This is needed in order to make a correct
tar file in the next step.
ln -s Mesa Mesa-6.3
This is needed in order to make a correct tar file in the next step.
</p>
<p>
@ -159,17 +168,26 @@ Make the distribution files. From inside the Mesa directory:
make tarballs
</pre>
<p>
After the tarballs are created, the md5 checksums for the files will
be computed.
Add them to the docs/news.html file.
</p>
<p>
Copy the distribution files to a temporary directory, unpack them,
compile everything, and run some demos to be sure everything works.
</p>
<H3>Update the website and announce the release</H3>
<p>
Upload the *.tar.gz and *.zip files to ftp.mesa3d.org
Follow the directions on SourceForge for creating a new "release" and
uploading the tarballs.
</p>
<p>
Update the web site.
Update the web site by copying the docs/ directory's files to
/home/users/b/br/brianp/mesa-www/htdocs/
</p>
<p>

View File

@ -7,7 +7,7 @@
<center>
<h1>Mesa Frequently Asked Questions</h1>
Last updated: 27 April 2004
Last updated: 17 November 2004
</center>
<br>
@ -53,7 +53,7 @@ the 3Dfx Glide/Voodoo driver, an old S3 driver, etc) but the DRI drivers
are the modern ones.
</p>
<h2>1.3 What purpose does Mesa (software-based rendering) serve today?</h2>
<h2>1.3 What purpose does Mesa serve today?</h2>
<p>
Hardware-accelerated OpenGL implementations are available for most popular
operating systems today.
@ -80,7 +80,39 @@ Still, Mesa serves at least these purposes:
</li>
</ul>
<h2>1.4 How do I upgrade my DRI installation to use a new Mesa release?</h2>
<h2>1.4 What's the difference between"Stand-Alone" Mesa and the DRI drivers?</h2>
<p>
<em>Stand-alone Mesa</em> is the original incarnation of Mesa.
On systems running the X Window System, it does all its rendering through
the Xlib API.
<ul>
<li>The GLX API is supported, but it's really just an emulation of the
real thing.
<li>The GLX wire protocol is not supported and there's no OpenGL extension
loaded by the X server.
<li>There is no hardware acceleration.
<li>The OpenGL library, libGL.so, contains everything (the programming API,
the GLX functions and all the rendering code).
</ul>
</p>
<p>
Alternately, Mesa acts as the core for a number of OpenGL hardware drivers
within the DRI (Direct Rendering Infrastructure):
<ul>
<li>The libGL.so library provides the GL and GLX API functions, a GLX
protocol encoder, and a device driver loader.
<li>The device driver modules (such as r200_dri.so) contain a built-in
copy of the core Mesa code.
<li>The X server loads the GLX module.
The GLX module decodes incoming GLX protocol and dispatches the commands
to a rendering module.
For the DRI, this module is basically a software Mesa renderer.
</ul>
<h2>1.5 How do I upgrade my DRI installation to use a new Mesa release?</h2>
<p>
You don't! A copy of the Mesa source code lives inside the XFree86/DRI source
tree and gets compiled into the individual DRI driver modules.
@ -100,7 +132,7 @@ if there's newer drivers.
</p>
<h2>1.5 Are there other open-source implementations of OpenGL?</h2>
<h2>1.6 Are there other open-source implementations of OpenGL?</h2>
<p>
Yes, SGI's <a href="http://oss.sgi.com/projects/ogl-sample/index.html"
target="_parent">
@ -135,12 +167,13 @@ but it does export the OpenGL API. It allows tiled rendering, sort-last
rendering, etc.
</p>
<p>
There may be other open OpenGL implementations, but Mesa is the most
popular and feature-complete.
</p>
<br>
<br>
@ -156,38 +189,24 @@ has Mesa packages (like RPM or DEB) which you can easily install.
</a></p>
<h2><a name="part2">2.2 Running <code>configure; make</code> Doesn't Work</a></h2>
<h2><a name="part2">2.2 Running <code>configure; make</code> doesn't Work</a></h2>
<p>
<a name="part2">Unfortunately, the GNU autoconf/automake/libtool system doesn't seem to work
too well on non GNU/Linux systems, even after installing gmake, gcc, etc.
For that reason, Mesa's <b>old-style</b> makefile system is still included.
The old-style system uses good old traditional Makefiles. Try the following:
</a></p><pre><a name="part2"> cd Mesa-x.y.z
cp Makefile.X11 Makefile
make
</a></pre>
<a name="part2">You'll see a list of system configurations from which to choose.
For example:
</a><pre><a name="part2"> make linux-x86
</a></pre>
<p>
<a name="part2">If you're experienced with GNU autoconf/automake/libtool and think you can help
with maintence, contact the Mesa developers.
FYI, the Mesa developers generally don't use the autoconf/automake system.
We're especially annoyed with the fact that a +5000-line script (libtool)
is needed to make shared libraries (ugh).
</a></p>
Mesa no longer supports GNU autoconf/automake. Why?
<ul>
<li>It seemed to seldom work on anything but Linux
<li>The config files were hard to maintain and hard to understand
<li>libtool caused a lot of grief
</ul>
<h2><a name="part2">2.3 Mesa still doesn't compile</a></h2>
<p>
<a name="part2">If the old-style Makefile system doesn't work either, make sure you have
the most recent version of Mesa.
Otherwise, file a bug report or post to the Mesa3d-users mailing list.
Give as much info as possible when describing your problem.
</a></p>
Now, Mesa again uses a conventional Makefile system (as it did originally).
Basically, each Makefile in the tree includes one of the configuration
files from the config/ directory.
The config files specify all the variables for a variety of popular systems.
</p>
<h2><a name="part2">2.4 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
<h2><a name="part2">2.3 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
<p>
<a name="part2">You're application is written in IRIS GL, not OpenGL.
IRIS GL was the predecessor to OpenGL and is a different thing (almost)
@ -196,7 +215,7 @@ Mesa's not the solution.
</a></p>
<h2><a name="part2">2.5 Where is the GLUT library?</a></h2>
<h2><a name="part2">2.4 Where is the GLUT library?</a></h2>
<p>
<a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaDemos-x.y.z.tar.gz file.
If you don't already have GLUT installed, you should grab the MesaDemos
@ -205,7 +224,7 @@ package and unpack it before compiling Mesa.
<h2><a name="part2">2.6 What's the proper place for the libraries and headers?</a></h2>
<h2><a name="part2">2.5 What's the proper place for the libraries and headers?</a></h2>
<p>
<a name="part2">On Linux-based systems you'll want to follow the
</a><a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html"