misc updates
This commit is contained in:
parent
f76be3d6f2
commit
65b79057b9
|
@ -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>
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue