From 65b79057b96e621de1bbd7b9c81cdbcee6bfa5b1 Mon Sep 17 00:00:00 2001
From: Brian Paul
Date: Mon, 22 Nov 2004 17:49:15 +0000
Subject: misc updates
---
docs/devinfo.html | 56 ++++++++++++++++++++++------------
docs/faq.html | 89 +++++++++++++++++++++++++++++++++----------------------
2 files changed, 91 insertions(+), 54 deletions(-)
diff --git a/docs/devinfo.html b/docs/devinfo.html
index e1761be223..498b713e5c 100644
--- a/docs/devinfo.html
+++ b/docs/devinfo.html
@@ -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.
- 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.
@@ -94,7 +94,7 @@ Constants and macros are ALL_UPPERCASE, with _ between words
-Global vars not allowed.
+Global variables are not allowed.
@@ -109,31 +109,22 @@ Function name examples:
-
Writing a Device Driver
-
-
-XXX to do
-
-
-
-
Making a New Mesa Release
These are the instructions for making a new Mesa release.
+Get latest source files
-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.
-
-Update the version definitions in src/mesa/main/version.h
-
+Verify and update version info
Create/edit the docs/RELNOTES-X.Y file to document what's new in the release.
+Add the new RELNOTES-X.Y file to relnotes.html.
Update the docs/VERSIONS file too.
@@ -142,15 +133,33 @@ Edit configs/default and change the MESA_MAJOR, MESA_MINOR and MESA_TINY
version numbers.
+
+Make sure the values in src/mesa/main/version.h is correct.
+
+
Edit the top-level Makefile and verify that DIRECTORY, LIB_NAME and
DEMO_NAME are correct.
+
+Update the docs/news.html file and docs/contents.html files.
+
+
+
+Check in all updates to CVS.
+
+
+
+Tag the CVS files with the release name (in the form mesa_X_Y).
+
+
+
+Make the tarballs
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.
@@ -159,17 +168,26 @@ Make the distribution files. From inside the Mesa directory:
make tarballs
+
+After the tarballs are created, the md5 checksums for the files will
+be computed.
+Add them to the docs/news.html file.
+
+
Copy the distribution files to a temporary directory, unpack them,
compile everything, and run some demos to be sure everything works.
+Update the website and announce the release
-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.
-Update the web site.
+Update the web site by copying the docs/ directory's files to
+/home/users/b/br/brianp/mesa-www/htdocs/
diff --git a/docs/faq.html b/docs/faq.html
index 4825f9d3a4..c9081c9aaa 100644
--- a/docs/faq.html
+++ b/docs/faq.html
@@ -7,7 +7,7 @@
Mesa Frequently Asked Questions
-Last updated: 27 April 2004
+Last updated: 17 November 2004
@@ -53,7 +53,7 @@ the 3Dfx Glide/Voodoo driver, an old S3 driver, etc) but the DRI drivers
are the modern ones.
-1.3 What purpose does Mesa (software-based rendering) serve today?
+1.3 What purpose does Mesa serve today?
Hardware-accelerated OpenGL implementations are available for most popular
operating systems today.
@@ -80,7 +80,39 @@ Still, Mesa serves at least these purposes:
-
1.4 How do I upgrade my DRI installation to use a new Mesa release?
+
+1.4 What's the difference between"Stand-Alone" Mesa and the DRI drivers?
+
+Stand-alone Mesa is the original incarnation of Mesa.
+On systems running the X Window System, it does all its rendering through
+the Xlib API.
+
+- The GLX API is supported, but it's really just an emulation of the
+ real thing.
+
- The GLX wire protocol is not supported and there's no OpenGL extension
+ loaded by the X server.
+
- There is no hardware acceleration.
+
- The OpenGL library, libGL.so, contains everything (the programming API,
+ the GLX functions and all the rendering code).
+
+
+
+Alternately, Mesa acts as the core for a number of OpenGL hardware drivers
+within the DRI (Direct Rendering Infrastructure):
+
+- The libGL.so library provides the GL and GLX API functions, a GLX
+ protocol encoder, and a device driver loader.
+
- The device driver modules (such as r200_dri.so) contain a built-in
+ copy of the core Mesa code.
+
- 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.
+
+
+
+
+1.5 How do I upgrade my DRI installation to use a new Mesa release?
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.
-1.5 Are there other open-source implementations of OpenGL?
+1.6 Are there other open-source implementations of OpenGL?
Yes, SGI's
@@ -135,12 +167,13 @@ but it does export the OpenGL API. It allows tiled rendering, sort-last
rendering, etc.
-
There may be other open OpenGL implementations, but Mesa is the most
popular and feature-complete.
+
+
@@ -156,38 +189,24 @@ has Mesa packages (like RPM or DEB) which you can easily install.
-
-
-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 old-style makefile system is still included.
-The old-style system uses good old traditional Makefiles. Try the following:
-
cd Mesa-x.y.z
- cp Makefile.X11 Makefile
- make
-
-You'll see a list of system configurations from which to choose.
-For example:
- make linux-x86
-
-
-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).
-
+
+
+Mesa no longer supports GNU autoconf/automake. Why?
+
+- It seemed to seldom work on anything but Linux
+
- The config files were hard to maintain and hard to understand
+
- libtool caused a lot of grief
+
-
-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.
-
+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.
+
-
+
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.
-
+
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.
-
+
On Linux-based systems you'll want to follow the