diff options
-rw-r--r-- | docs/devinfo.html | 56 | ||||
-rw-r--r-- | 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. </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> @@ -143,14 +134,32 @@ 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> @@ -160,16 +169,25 @@ Make the distribution files. From inside the Mesa directory: </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> 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 @@ <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> -<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> +<h2><a name="part2">2.2 Running <code>configure; make</code> doesn't Work</a></h2> +<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" |