diff --git a/docs/README.X11 b/docs/README.X11 index 22621eff465..030b6e3fc1b 100644 --- a/docs/README.X11 +++ b/docs/README.X11 @@ -250,15 +250,9 @@ HPCR glClear(GL_COLOR_BUFFER_BIT) dithering to HP systems with the HPCR (Color Recovery) system. -Extensions: - The following OpenGL GLX extensions are currently implemented: - - GLX_EXT_visual_info - GLX visual and transparent pixel extension - GLX_EXT_visual_rating - GLX visual caveats - - For detailed information about the extensions see www.opengl.org - - There are four Mesa-specific GL/GLX extensions at this time. +Extensions +========== + There are three Mesa-specific GLX extensions at this time. GLX_MESA_pixmap_colormap @@ -317,4 +311,4 @@ Summary of X-related environment variables: ---------------------------------------------------------------------- -$Id: README.X11,v 3.9 2002/10/29 23:42:48 brianp Exp $ +$Id: README.X11,v 3.10 2003/03/08 17:38:57 brianp Exp $ diff --git a/docs/banner.html b/docs/banner.html new file mode 100644 index 00000000000..b6d1abb0d5f --- /dev/null +++ b/docs/banner.html @@ -0,0 +1,15 @@ + + +
+The Mesa 3D Graphics Library +
++Bug reports can be filed in the Bug +Database on sourceforge.net. Please follow these guidelines: +
+ ++Bug reports will automatically be forwarded to the Mesa developer's list. +
+ ++The easier a bug is to reproduce, the sooner it will be fixed. +Please do everything you can to facilitate quickly fixing bugs. +If your bug report is vague or your test program doesn't compile +easily, the problem may not be fixed very quickly. +
+ + + diff --git a/docs/conform.html b/docs/conform.html new file mode 100644 index 00000000000..eded6a79de5 --- /dev/null +++ b/docs/conform.html @@ -0,0 +1,693 @@ + + ++The SGI OpenGL conformance tests verify correct operation of OpenGL +implementations. I, Brian Paul, have been given a copy of the tests +for testing Mesa. The tests are not publically available. +
++This file has the latest results of testing Mesa with the OpenGL 1.2 +conformance tests. Testing with the preliminary OpenGL 1.3 tests has +also been done. Mesa passes all the 1.3 tests. +
++The tests were run using the software X11 device driver on 24-bpp +and 16-bpp displays. +
++Mesa 4.0 and later pass all conformance tests at all path levels. +Note that this says nothing about the conformance of hardware drivers +based upon Mesa. +
+ + ++ +COVERAGE TESTS +-------------- + +Test that all API functions accept the legal parameters and reject +illegal parameters. The result of each test is either pass or fail. + +% covgl +OpenGL Coverage Test. +Version 1.2 + +covgl passed. + +covgl passed at 1.1 level. + +covgl passed at 1.2 level. + +covgl passed for ARB_multitexture. + + +% covglu +OpenGL GLU Coverage Test. +Version 1.3 + +covglu passed. + +covglu passed at 1.1 level. + + +% covglx +OpenGL X Coverage Test. +Version 1.1.1 + +covglx passed. + + +% primtest -v +Open GL Primitives Test. +Version 1.2 + +[lots of output deleted] + +292159 Combinations. +primtest passed. + + + + +GL CONFORMANCE TEST +=================== + +Render test images, read them back, then test for expected results. + + +---------------------------------------------------------------------- +% conform -v 2 + +OpenGL Conformance Test +Version 1.2 + +Setup Report. + Verbose level = 2. + Random number seed = 1. + Path inactive. + +Visual Report. + Display ID = 35. Indirect Rendering. + Double Buffered. + RGBA (5, 6, 5, 0). + Stencil (8). + Depth (16). + Accumulation (16, 16, 16, 16). + +Epsilon Report. + zero error epsilon = 0.000122. + RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122. + Depth buffer error epsilon = 0.000137. + Stencil plane error epsilon = 0.00404. + Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137. + +Default State test passed. +Must Pass test passed. +Divide By Zero test passed. +Viewport Clamp test passed. +Matrix Stack test passed. +Matrix Stack Mixing test passed. +Vertex Order test passed. +Transformations test passed. +Transformation Normal test passed. +Viewport Transformation test passed. +Buffer Clear test passed. +Buffer Corners test passed. +Buffer Color test passed. +Color Ramp test passed. +Mask test passed. +Buffer Invariance test passed. +Accumulation Buffer test passed. +Select test passed. +Feedback test passed. +Scissor test passed. +Alpha Plane Function test passed. +Stencil Plane Clear test passed. +Stencil Plane Corners test passed. +Stencil Plane Operation test passed. +Stencil Plane Function test passed. +Depth Buffer Clear test passed. +Depth Buffer Function test passed. +Blend test passed. +Dither test passed. +LogicOp Function test does not exist for an RGB visual. +DrawPixels test passed. +CopyPixels test passed. +Bitmap Rasterization test passed. +Point Rasterization test passed. +Anti-aliased Point test passed. +Line Rasterization test passed. +Line Stipple test passed. +Anti-aliased Line test passed. +Horizontal and Vertical Line test passed. +Triangle Rasterization test passed. +Triangle Tile test passed. +Triangle Stipple test passed. +Anti-aliased Triangles test passed. +Quad Rasterization test passed. +Polygon Face test passed. +Polygon Cull test passed. +Polygon Stipple test passed. +Polygon Edge test passed. +Ambient Material test passed. +Ambient Scene test passed. +Attenuation Position test passed. +Diffuse Light test passed. +Diffuse Material test passed. +Diffuse Material Normal test passed. +Diffuse Material Positioning test passed. +Emissive Material test passed. +Specular Exponent test passed. +Specular Exponent Normal test passed. +Specular Local Eye Half Angle test passed. +Specular Light test passed. +Specular Material test passed. +Specular Normal test passed. +Spot Positioning test passed. +Spot Exponent and Positioning test passed. +Spot Exponent and Direction test passed. +Fog Exponential test passed. +Fog Linear test passed. +Texture Decal test passed. +Texture Border test passed. +Mipmaps Selection test passed. +Mipmaps Interpolation test passed. +Display Lists test passed. +Evaluator test passed. +Evaluator Color test passed. +Texture Edge Clamp test passed. +Packed Pixels test passed. +Texture LOD test passed. +Rescale Normal test passed. +Color Table test passed. +Convolution test passed. +Convolution Border test passed. +Histogram test passed. +MinMax test passed. +MultiTexture test passed. + +Conform passed. + +---------------------------------------------------------------------- +% conform -v 2 -p 1 + +OpenGL Conformance Test +Version 1.2 + +Setup Report. + Verbose level = 2. + Random number seed = 1. + Path level = 1. + +Visual Report. + Display ID = 35. Indirect Rendering. + Double Buffered. + RGBA (5, 6, 5, 0). + Stencil (8). + Depth (16). + Accumulation (16, 16, 16, 16). + +Epsilon Report. + zero error epsilon = 0.000122. + RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122. + Depth buffer error epsilon = 0.000137. + Stencil plane error epsilon = 0.00404. + Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137. + +Default State test passed. +Must Pass test passed. +Divide By Zero test passed. +Viewport Clamp test passed. +Matrix Stack test passed. +Matrix Stack Mixing test passed. +Vertex Order test passed. +Transformations test passed. +Transformation Normal test passed. +Viewport Transformation test passed. +Buffer Clear test passed. +Buffer Corners test passed. +Buffer Color test passed. +Color Ramp test passed. +Mask test passed. +Buffer Invariance test passed. +Accumulation Buffer test passed. +Select test passed. +Feedback test passed. +Scissor test passed. +Alpha Plane Function test passed. +Stencil Plane Clear test passed. +Stencil Plane Corners test passed. +Stencil Plane Operation test passed. +Stencil Plane Function test passed. +Depth Buffer Clear test passed. +Depth Buffer Function test passed. +Blend test passed. +Dither test passed. +LogicOp Function test does not exist for an RGB visual. +DrawPixels test passed. +CopyPixels test passed. +Bitmap Rasterization test passed. +Point Rasterization test passed. +Anti-aliased Point test passed. +Line Rasterization test passed. +Line Stipple test passed. +Anti-aliased Line test passed. +Horizontal and Vertical Line test passed. +Triangle Rasterization test passed. +Triangle Tile test passed. +Triangle Stipple test passed. +Anti-aliased Triangles test passed. +Quad Rasterization test passed. +Polygon Face test passed. +Polygon Cull test passed. +Polygon Stipple test passed. +Polygon Edge test passed. +Ambient Material test passed. +Ambient Scene test passed. +Attenuation Position test passed. +Diffuse Light test passed. +Diffuse Material test passed. +Diffuse Material Normal test passed. +Diffuse Material Positioning test passed. +Emissive Material test passed. +Specular Exponent test passed. +Specular Exponent Normal test passed. +Specular Local Eye Half Angle test passed. +Specular Light test passed. +Specular Material test passed. +Specular Normal test passed. +Spot Positioning test passed. +Spot Exponent and Positioning test passed. +Spot Exponent and Direction test passed. +Fog Exponential test passed. +Fog Linear test passed. +Texture Decal test passed. +Texture Border test passed. +Mipmaps Selection test passed. +Mipmaps Interpolation test passed. +Display Lists test passed. +Evaluator test passed. +Evaluator Color test passed. +Texture Edge Clamp test passed. +Packed Pixels test passed. +Texture LOD test passed. +Rescale Normal test passed. +Color Table test passed. +Convolution test passed. +Convolution Border test passed. +Histogram test passed. +MinMax test passed. +MultiTexture test passed. + +Conform passed. + +---------------------------------------------------------------------- +% conform -v 2 -p 2 + +OpenGL Conformance Test +Version 1.2 + +Setup Report. + Verbose level = 2. + Random number seed = 1. + Path level = 2. + +Visual Report. + Display ID = 35. Indirect Rendering. + Double Buffered. + RGBA (5, 6, 5, 0). + Stencil (8). + Depth (16). + Accumulation (16, 16, 16, 16). + +Epsilon Report. + zero error epsilon = 0.000122. + RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122. + Depth buffer error epsilon = 0.000137. + Stencil plane error epsilon = 0.00404. + Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137. + +Default State test passed. +Must Pass test passed. +Divide By Zero test passed. +Viewport Clamp test passed. +Matrix Stack test passed. +Matrix Stack Mixing test passed. +Vertex Order test passed. +Transformations test passed. +Transformation Normal test passed. +Viewport Transformation test passed. +Buffer Clear test passed. +Buffer Corners test passed. +Buffer Color test passed. +Color Ramp test passed. +Mask test passed. +Buffer Invariance test passed. +Accumulation Buffer test passed. +Select test passed. +Feedback test passed. +Scissor test passed. +Alpha Plane Function test passed. +Stencil Plane Clear test passed. +Stencil Plane Corners test passed. +Stencil Plane Operation test passed. +Stencil Plane Function test passed. +Depth Buffer Clear test passed. +Depth Buffer Function test passed. +Blend test passed. +Dither test passed. +LogicOp Function test does not exist for an RGB visual. +DrawPixels test passed. +CopyPixels test passed. +Bitmap Rasterization test passed. +Point Rasterization test passed. +Anti-aliased Point test passed. +Line Rasterization test passed. +Line Stipple test passed. +Anti-aliased Line test passed. +Horizontal and Vertical Line test passed. +Triangle Rasterization test passed. +Triangle Tile test passed. +Triangle Stipple test passed. +Anti-aliased Triangles test passed. +Quad Rasterization test passed. +Polygon Face test passed. +Polygon Cull test passed. +Polygon Stipple test passed. +Polygon Edge test passed. +Ambient Material test passed. +Ambient Scene test passed. +Attenuation Position test passed. +Diffuse Light test passed. +Diffuse Material test passed. +Diffuse Material Normal test passed. +Diffuse Material Positioning test passed. +Emissive Material test passed. +Specular Exponent test passed. +Specular Exponent Normal test passed. +Specular Local Eye Half Angle test passed. +Specular Light test passed. +Specular Material test passed. +Specular Normal test passed. +Spot Positioning test passed. +Spot Exponent and Positioning test passed. +Spot Exponent and Direction test passed. +Fog Exponential test passed. +Fog Linear test passed. +Texture Decal test passed. +Texture Border test passed. +Mipmaps Selection test passed. +Mipmaps Interpolation test passed. +Display Lists test passed. +Evaluator test passed. +Evaluator Color test passed. +Texture Edge Clamp test passed. +Packed Pixels test passed. +Texture LOD test passed. +Rescale Normal test passed. +Color Table test passed. +Convolution test passed. +Convolution Border test passed. +Histogram test passed. +MinMax test passed. +MultiTexture test passed. + +Conform passed. + +---------------------------------------------------------------------- +% conform -v 2 -p 3 + +OpenGL Conformance Test +Version 1.2 + +Setup Report. + Verbose level = 2. + Random number seed = 1. + Path level = 3. + +Visual Report. + Display ID = 35. Indirect Rendering. + Double Buffered. + RGBA (5, 6, 5, 0). + Stencil (8). + Depth (16). + Accumulation (16, 16, 16, 16). + +Epsilon Report. + zero error epsilon = 0.000122. + RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122. + Depth buffer error epsilon = 0.000137. + Stencil plane error epsilon = 0.00404. + Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137. + +Default State test passed. +Must Pass test passed. +Divide By Zero test passed. +Viewport Clamp test passed. +Matrix Stack test passed. +Matrix Stack Mixing test passed. +Vertex Order test passed. +Transformations test passed. +Transformation Normal test passed. +Viewport Transformation test passed. +Buffer Clear test passed. +Buffer Corners test passed. +Buffer Color test passed. +Color Ramp test passed. +Mask test passed. +Buffer Invariance test passed. +Accumulation Buffer test passed. +Select test passed. +Feedback test passed. +Scissor test passed. +Alpha Plane Function test passed. +Stencil Plane Clear test passed. +Stencil Plane Corners test passed. +Stencil Plane Operation test passed. +Stencil Plane Function test passed. +Depth Buffer Clear test passed. +Depth Buffer Function test passed. +Blend test passed. +Dither test passed. +LogicOp Function test does not exist for an RGB visual. +DrawPixels test passed. +CopyPixels test passed. +Bitmap Rasterization test passed. +Point Rasterization test passed. +Anti-aliased Point test passed. +Line Rasterization test passed. +Line Stipple test passed. +Anti-aliased Line test passed. +Horizontal and Vertical Line test passed. +Triangle Rasterization test passed. +Triangle Tile test passed. +Triangle Stipple test passed. +Anti-aliased Triangles test passed. +Quad Rasterization test passed. +Polygon Face test passed. +Polygon Cull test passed. +Polygon Stipple test passed. +Polygon Edge test passed. +Ambient Material test passed. +Ambient Scene test passed. +Attenuation Position test passed. +Diffuse Light test passed. +Diffuse Material test passed. +Diffuse Material Normal test passed. +Diffuse Material Positioning test passed. +Emissive Material test passed. +Specular Exponent test passed. +Specular Exponent Normal test passed. +Specular Local Eye Half Angle test passed. +Specular Light test passed. +Specular Material test passed. +Specular Normal test passed. +Spot Positioning test passed. +Spot Exponent and Positioning test passed. +Spot Exponent and Direction test passed. +Fog Exponential test passed. +Fog Linear test passed. +Texture Decal test passed. +Texture Border test passed. +Mipmaps Selection test passed. +Mipmaps Interpolation test passed. +Display Lists test passed. +Evaluator test passed. +Evaluator Color test passed. +Texture Edge Clamp test passed. +Packed Pixels test passed. +Texture LOD test passed. +Rescale Normal test passed. +Color Table test passed. +Convolution test passed. +Convolution Border test passed. +Histogram test passed. +MinMax test passed. +MultiTexture test passed. + +Conform passed. + +---------------------------------------------------------------------- +% conform -v 2 -p 4 + +OpenGL Conformance Test +Version 1.2 + +Setup Report. + Verbose level = 2. + Random number seed = 1. + Path level = 4. + +Visual Report. + Display ID = 35. Indirect Rendering. + Double Buffered. + RGBA (5, 6, 5, 0). + Stencil (8). + Depth (16). + Accumulation (16, 16, 16, 16). + +Epsilon Report. + zero error epsilon = 0.000122. + RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122. + Depth buffer error epsilon = 0.000137. + Stencil plane error epsilon = 0.00404. + Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137. + +Default State test passed. +Must Pass test passed. +Divide By Zero test passed. +Viewport Clamp test passed. +Matrix Stack test passed. +Matrix Stack Mixing test passed. +Vertex Order test passed. +Transformations test passed. +Transformation Normal test passed. +Viewport Transformation test passed. +Buffer Clear test passed. +Buffer Corners test passed. +Buffer Color test passed. +Color Ramp test passed. +Mask test passed. +Buffer Invariance test passed. +Accumulation Buffer test passed. +Select test passed. +Feedback test passed. +Scissor test passed. +Alpha Plane Function test passed. +Stencil Plane Clear test passed. +Stencil Plane Corners test passed. +Stencil Plane Operation test passed. +Stencil Plane Function test passed. +Depth Buffer Clear test passed. +Depth Buffer Function test passed. +Blend test passed. +Dither test passed. +LogicOp Function test does not exist for an RGB visual. +DrawPixels test passed. +CopyPixels test passed. +Bitmap Rasterization test passed. +Point Rasterization test passed. +Anti-aliased Point test passed. +Line Rasterization test passed. +Line Stipple test passed. +Anti-aliased Line test passed. +Horizontal and Vertical Line test passed. +Triangle Rasterization test passed. +Triangle Tile test passed. +Triangle Stipple test passed. +Anti-aliased Triangles test passed. +Quad Rasterization test passed. +Polygon Face test passed. +Polygon Cull test passed. +Polygon Stipple test passed. +Polygon Edge test passed. +Ambient Material test passed. +Ambient Scene test passed. +Attenuation Position test passed. +Diffuse Light test passed. +Diffuse Material test passed. +Diffuse Material Normal test passed. +Diffuse Material Positioning test passed. +Emissive Material test passed. +Specular Exponent test passed. +Specular Exponent Normal test passed. +Specular Local Eye Half Angle test passed. +Specular Light test passed. +Specular Material test passed. +Specular Normal test passed. +Spot Positioning test passed. +Spot Exponent and Positioning test passed. +Spot Exponent and Direction test passed. +Fog Exponential test passed. +Fog Linear test passed. +Texture Decal test passed. +Texture Border test passed. +Mipmaps Selection test passed. +Mipmaps Interpolation test passed. +Display Lists test passed. +Evaluator test passed. +Evaluator Color test passed. +Texture Edge Clamp test passed. +Packed Pixels test passed. +Texture LOD test passed. +Rescale Normal test passed. +Color Table test passed. +Convolution test passed. +Convolution Border test passed. +Histogram test passed. +MinMax test passed. +MultiTexture test passed. + +Conform passed. + + + +GLX CONFORMANCE TEST +==================== + +% conformx -v 2 + +OpenGL X Conformance Test +Version 1.1.1 + +Setup Report. + Verbose level = 2. + Random number seed = 1. + Path inactive. + +Visual Report. + Display ID = 34. Direct Rendering. + Double Buffered. + RGBA (8, 8, 8, 0). + Stencil (8). + Depth (16). + Accumulation (16, 16, 16, 16). + +Epsilon Report. + zero error epsilon = 0.000122. + RGBA error epsilon = 0.00404, 0.00404, 0.00404, 0.000122. + Depth buffer error epsilon = 0.000137. + Stencil plane error epsilon = 0.00404. + Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137. + +Default State test passed. +glReadPixels() test passed. +Font test passed. + +Conformx passed. + + ++ +NOTE: conformx passes for all machine path levels (-p option). + + + + diff --git a/docs/contents.html b/docs/contents.html new file mode 100644 index 00000000000..f5d6b46842d --- /dev/null +++ b/docs/contents.html @@ -0,0 +1,76 @@ + + +
+Mesa is primarily developed and maintained on a volunteer basis. +Some Mesa development work has been done in conjuction with contracted +projects, such as the XFree86/DRI drivers. +
+ ++
[Begin shameless plug]+If you have a need for specific or custom Mesa development work, + +Tungsten Graphics, Inc. may be able to help you. +
[End shameless plug]+ + + + + diff --git a/docs/cvs_anonymous.html b/docs/cvs_anonymous.html new file mode 100644 index 00000000000..19cac143842 --- /dev/null +++ b/docs/cvs_anonymous.html @@ -0,0 +1,37 @@ + + +
+Anonymous, public, read-only access to the code in CVS is +available. Here are the basic instructions for Unix systems: +
+ +cvs -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
+ login
+ CVS password: prompt.
+ cvs -z3 -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
+ co Mesa
+To update your Mesa CVS source to the latest CVS source: + +
cd Mesa
+ cvs -z3 -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d
+ update
+You can browse the Mesa source code in CVS +here. + +
+ + + \ No newline at end of file diff --git a/docs/cvs_branches.html b/docs/cvs_branches.html new file mode 100644 index 00000000000..ecb524e20e2 --- /dev/null +++ b/docs/cvs_branches.html @@ -0,0 +1,59 @@ + + +
+The Mesa3d sources are split up into two branches. A branch that is to
+remain as stable as possible, and an unstable branch where development
+work for new versions will be done. The current stable branch is
+tagged mesa_3_4_branch while the unstable branch is just
+the default. The goal is to adopt and even/odd stable/unstable
+versioning scheme similar to the Linux kernel. Hence releases of Mesa
+3.2.X should be more stable than Mesa 3.3.X.
All versions of
+Mesa after 3.0 will also be tagged with a branch id. Mesa 3.1 has the
+tag mesa_3_1, Mesa 3.2 will be mesa_3_2,
+Mesa 3.3 mesa_3_3, etc..
+To checkout a specific branch of mesa just pass -r and
+the branch tag after your cvs command. For example cvs checkout
+-r mesa_3_4_branch Mesa will checkout the 3.4 branch and
+cvs update -r mesa_3_4_branch will convert your current
+branch to the 3.4 dev branch.
+Consult http://www.durak.org/cvswebsites/doc/cvs_5.php3#SEC54
+for more on branching in cvs.
+
+To see a list of all the CVS branchs run cvs log README (or any
+other file) and look for the section labeled symbolic names.
+You'll see something like this:
+
symbolic names: + mesa_4_0: 1.3 + mesa_4_0_branch: 1.3.0.6 + mesa_3_5: 1.3 + mesa_3_4_2: 1.3 + mesa_3_4_1: 1.3 + mesa_3_4: 1.3 + mesa_3_4_branch: 1.3.0.4 + mesa_3_3: 1.3 + mesa_3_2_1: 1.1.1.1 + mesa_3_3_texture_env_combine2: 1.3.0.2 + mesa_3_2: 1.1.1.1 + mesa_3_2_beta_1: 1.1.1.1 + mesa_3_1: 1.1.1.1 + mesa_3_2_dev: 1.1.1.1.0.2 + mesa_3_1_beta_3: 1.1.1.1 + start: 1.1.1.1 + mesa: 1.1.1 ++ + + \ No newline at end of file diff --git a/docs/debugging.html b/docs/debugging.html new file mode 100644 index 00000000000..cdefa7d210d --- /dev/null +++ b/docs/debugging.html @@ -0,0 +1,36 @@ + + +
+ Normally Mesa (and OpenGL) records but does not notify the user of
+ errors. It is up to the application to call
+ glGetError to check for errors. Mesa supports an
+ environment variable, MESA_DEBUG, to help with debugging. If
+ MESA_DEBUG is defined, a message will be printed to stdout whenever
+ an error occurs.
+
+ More extensive error checking is done when Mesa is compiled with the + DEBUG symbol defined. You'll have to edit the Make-config file and + add -DDEBUG to the CFLAGS line for your system configuration. You may + also want to replace any optimization flags with the -g flag so you can + use your debugger. After you've edited Make-config type 'make clean' + before recompiling. +
++ In your debugger you can set a breakpoint in _mesa_error() to trap Mesa + errors. +
++ There is a display list printing/debugging facility. See the end of + src/dlist.c for details. +
+ + + diff --git a/docs/demos.html b/docs/demos.html new file mode 100644 index 00000000000..6e189458c21 --- /dev/null +++ b/docs/demos.html @@ -0,0 +1,16 @@ + + ++To add a new GL extension to Mesa you have to do the following. +
+ If glext.h doesn't define the extension, edit include/GL/gl.h and add: + - new enum tokens + - new API function entry points + - #define GL_EXT_the_extension_name 1 + + If adding a new API function (call it glNewFunctionEXT): + - insert glNewFunctionEXT()into src/apiext.h + - edit src/types.h and add NewFunction to the gl_api_table struct + - implement gl_NewFunction() in the appropriate src file + - hook gl_NewFunction() into pointers.c + - add display list support in dlist.c for save_NewFunction() + - add glNewFunctionEXT to gl_GetProcAddress() in extensions.c or + in the device driver's GetProcAddress() function if appropriate ++
+If adding new GL state be sure to update get.c and enable.c +
++In general, look for an extension similar to the new one that's already +implemented in Mesa and follow it by example. +
+ + + ++Mesa's code style has changed over the years. Here's the latest. +
+ ++Comment your code! It's extremely important that open-source code be +well documented. Also, strive to write clean, easily understandable code. +
+ ++3-space indentation +
+ ++If you use tabs, set them to 8 columns +
+ ++Brace example: +
+
+ if (condition) {
+ foo;
+ }
+ else {
+ bar;
+ }
+
+
++Here's the GNU indent command which will best approximate my preferred style: +
++ indent -br -i3 -npcs infile.c -o outfile.c ++ + +
+Local variable name example: localVarName (no underscores) +
+ ++Constants and macros are ALL_UPPERCASE, with _ between words +
+ ++Global vars not allowed. +
+ ++Function name examples: +
++ glFooBar() - a public GL entry point (in dispatch.c) + _mesa_FooBar() - the internal immediate mode function + save_FooBar() - retained mode (display list) function in dlist.c + foo_bar() - a static (private) function + _mesa_foo_bar() - an internal non-static Mesa function ++ + +
+XXX to do +
+ + + ++These are the instructions for making a new Mesa release. +
+ ++Prerequisites (later versions may work): +
++Be sure to do a "cvs update -d ." in the Mesa directory to +get all the latest files. +
+ ++Update the version strings in src/get.c and src/X/fakeglx.c to return +the new Mesa version number. +
+ ++Create/edit the docs/RELNOTES-X-Y file to document what's new in the release. +Edit the docs/VERSIONS file too. +Update the docs/IAFA-PACKAGE file. +
+ ++Edit Make-config and change the MESA_MAJOR and/or MESA_MINOR versions. +
+ ++Edit the GNU configure stuff to change versions numbers as needed: +Update the version string (second argument) in the line +"AM_INIT_AUTOMAKE(Mesa, 3.3)" in the configure.in file. +
+ ++Remove the leading `dnl' from the line "dnl AM_MAINTAINER_MODE". +
+ ++Verify the version numbers near the top of configure.in +
+ ++Run "fixam -f" to disable automatic dependency tracking. +
+ ++Run the bootstrap script to generate the configure script. +
+ ++Edit Makefile.X11 and verify DIRECTORY is set correctly. The Mesa +sources must be in that directory (or there must be a symbolic link). +
+ ++Edit Makefile.X11 and verify that LIB_NAME and DEMO_NAME are correct. +If it's a beta release, be sure the bump up the beta release number. +
+ ++cp Makefile.X11 to Makefile so that the old-style Mesa makefiles +still work. ./configure will overwrite it if that's what the user runs. +
+ ++Make a symbolic link from $(DIRECTORY) to Mesa. For example, +ln -s Mesa Mesa-3.3 This is needed in order to make a correct +tar file in the next step. +
+ ++Make the distribution files. From inside the Mesa directory: +
+ make -f Makefile.X11 lib_tar + make -f Makefile.X11 demo_tar + make -f Makefile.X11 lib_zip + make -f Makefile.X11 demo_zip ++ +
+Copy the distribution files to a temporary directory, unpack them, +compile everything, and run some demos to be sure everything works. +
+ ++Upload the *.tar.gz and *.zip files to ftp.mesa3d.org +
+ ++Update the web site. CJ Beyer (cj@styx.phy.vanderbilt.edu) can +help with this and uploading to the ftp site. +
+ ++Make the announcement to the SourceForge.net sites: mesa3d-dev@lists.sf.net, +mesa3d-users@lists.sf.net and mesa3d-announce@lists.sf.net +
+ + ++In order to run the bootstrap script you'll need: +
+
+autoconf 2.50 +automake 1.4-p5 +libtool 1.4 ++ + + + diff --git a/docs/download.html b/docs/download.html new file mode 100644 index 00000000000..79b34e4990f --- /dev/null +++ b/docs/download.html @@ -0,0 +1,106 @@ + + +
+Mesa can be downloaded from the + +SourceForge download area. +
+ ++Since version 2.3, Mesa is distributed in two pieces: main library code +and demos. If you're upgrading from a previous version of Mesa or you're not +interested in the demos you can just download the core Mesa archive file. +
+ ++Mesa is available in at least three archive formats: +
+ ++1. GNU zip/tar + + Download MesaLib-X.Y.tar.gz and optionally MesaDemos-X.Y.tar.gz + Unpack with: + gzcat MesaLib-X.Y.tar.gz | tar xf - + gzcat MesaDemos-X.Y.tar.gz | tar xf - + or + gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar + gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar + or + tar zxf MesaLib-X.Y.tar.gz + tar zxf MesaDemos-X.Y.tar.gz + + If you don't have gzcat try zcat instead. + +2. Unix compressed/tar + + Download MesaLib-X.Y.tar.Z and optionally MesaDemos-X.Y.tar.Z + Unpack with: + zcat MesaLib-X.Y.tar.Z | tar xf - + zcat MesaDemos-X.Y.tar.Z | tar xf - + +3. ZIP format + + Download MesaLib-X.Y.zip and optionally MesaDemos-X.Y.zip + Unpack with: + unzip MesaLib-X.Y.zip + unzip MesaDemos-X.Y.zip ++ +
+After unpacking you'll have these directories (and more): +
++Makefile.X11 - "old" top-level Makefile for X11-based systems +Make-config - system configurations used by the Makefile.X11 +configure - the GNU autoconf script +bin/ - shell scripts for making shared libraries, etc +include/ - GL header (include) files +lib/ - client libraries, created during installation +src/ - source code for the main libGL library +si-glu/ - SGI Sample Implementation of libGLU +src-glu/ - old source code for libGLU (obsolete) +docs/ - documentation +util/ - handly utility functions +widgets-mesa/ - Mesa widgets for Xt/Motif (obsolete) +widgets-sgi/ - SGI OpenGL widgets for Xt/Motif + +and if you downloaded and unpacked the demos: + +src-glut/ - source code for GLUT toolkit +demos/ - GLUT demos +xdemos/ - X11 and SVGA demo programs +samples/ - sample OpenGL programs from SGI +book/ - example programs from the OpenGL Programming Guide, + converted to GLUT by Mark Kilgard, from GLUT distribution. +images/ - image files + ++ +
+Proceed to compilation and installation +instructions. +
+ ++Mesa 2.5 and later includes Mark Kilgard's GLUT library (GL Utility Toolkit). +GLUT is built automatically on systems which support it. +
++The GLUT tests, demos, examples, etc are not included, just the main library. +To obtain the latest complete release of GLUT please visit the +GLUT homepage +
+ + + + diff --git a/docs/envvars.html b/docs/envvars.html new file mode 100644 index 00000000000..38b212fc020 --- /dev/null +++ b/docs/envvars.html @@ -0,0 +1,25 @@ + + ++Mesa supports the following environment variables: +
++A number of extensions have been developed especially for Mesa. +The specifications follow. +
+ + ++Mesa is an open-source implementation of the OpenGL specification. +OpenGL is a high-level programming library for interactive 3D graphics. +See the OpenGL website for more +information. +
++Mesa 5.0.x supports the OpenGL 1.4 specification. +
+ + ++Yes. Specifically, Mesa serves as the OpenGL core for the XFree86/DRI +OpenGL drivers. See the DRI website for +more information. +
++There have been other hardware drivers for Mesa over the years (such as +the 3Dfx Glide/Voodoo driver, an old S3 driver, etc) but the DRI drivers +are the modern ones. +
+ ++Commercial, hardware-accelerated OpenGL implementations are available for +many operating systems today. +Still, Mesa serves at least these purposes: +
++You don't! The Mesa source code lives inside the XFree86/DRI source tree +and gets compiled into the individual DRI driver modules. +If you try to install Mesa over an XFree86/DRI installation, you'll lose +hardware rendering (because Mesa's libGL.so is different than the XFree86 +libGL.so). +
++The DRI developers will incorporate the latest release of Mesa into the +DRI drivers when the time is right. +
+ ++Yes, SGI's +OpenGL Sample Implemenation (SI) is available. +The SI was written during the time that OpenGL was originally designed. +Unfortunately, development of the SI has stagnated. +Mesa is much more up to date with modern features and extensions. +
++miniGL is a subset of OpenGL +for PalmOS devices. + +TinyGL is another +subset of OpenGL. +
++There may be others but Mesa is the most popular and feature-complete. +
+ +configure; make Doesn't Workcd 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 ++ + +
+On Linux-based systems you'll want to follow the +Linux ABI +standard. +Basically you'll want the following: +
++After installing XFree86 and the DRI drivers, some of these files +may be symlinks into the /usr/X11R6/ tree. +
++The old-style Makefile system doesn't install the Mesa libraries; it's +up to you to copy them (and the headers) to the right place. +
++The GLUT header and library should go in the same directories. +
++If your DRI-based driver isn't working, go to the +DRI website for trouble-shooting information. +
+ + ++Make sure the ratio of the far to near clipping planes isn't too great. +Look + +here for details. +
+
+Mesa uses a 16-bit depth buffer by default which is smaller and faster
+to clear than a 32-bit buffer but not as accurate.
+If you need a deeper you can modify the parameters to
+ glXChooseVisual in your code.
+
+Be sure you're requesting a depth buffered-visual. If you set the MESA_DEBUG +environment variable it will warn you about trying to enable depth testing +when you don't have a depth buffer. +
+Specifically, make sure glutInitDisplayMode is being called
+with GLUT_DEPTH or glXChooseVisual is being
+called with a non-zero value for GLX_DEPTH_SIZE.
+
This discussion applies to stencil buffers, accumulation buffers and +alpha channels too. +
+ + ++Be sure you have an active/current OpenGL rendering context before +calling glGetString. +
+ + ++If you're trying to draw a filled region by using GL_POINTS or GL_LINES +and seeing holes or gaps it's because of a float-to-int rounding problem. +But this is not a bug. +See Appendix H of the OpenGL Programming Guide - "OpenGL Correctness Tips". +Basically, applying a translation of (0.375, 0.375, 0.0) to your coordinates +will fix the problem. +
+ ++First, join the Mesa3d-dev mailing list. That's where Mesa development +is discussed. +
++The +OpenGL Specification is the bible for OpenGL implemention work. +You should read it. +
+Most of the Mesa development work involves implementing new OpenGL +extensions, writing hardware drivers (for the DRI), and code optimization. +
+ ++Unfortunately, writing a device driver isn't easy. +It requires detailed understanding of OpenGL, the Mesa code, and your +target hardware/operating system. +3D graphics are not simple. +
++The best way to get started is to use an existing driver as your starting +point. +For a software driver, the X11 and OSMesa drivers are good examples. +For a hardware driver, the Radeon and R200 DRI drivers are good examples. +
+The DRI website has more information about writing hardware drivers. +The process isn't well document because the Mesa driver interface changes +over time, and we seldome have spare time for writing documentation. +That being said, many people have managed to figure out the process. +
++Joining the appropriate mailing lists and asking questions (and searching +the archives) is a good way to get information. +
+ + + + diff --git a/docs/games.html b/docs/games.html new file mode 100644 index 00000000000..5ed799866c1 --- /dev/null +++ b/docs/games.html @@ -0,0 +1,62 @@ + + ++SGI open-sourced their OpenGL Sample Implementation (SI) in January, 2000. +This includes the GLU library. +
+ ++The SI GLU library implements GLU version 1.3 whereas the original +Mesa GLU library only implemented version 1.2. +We recommend using the SI GLU library instead of Mesa's GLU library +since it's more up-to-date, complete and reliable. +We're no longer developing the original Mesa GLU library. +
+ ++The new SI GLU library code is included in the Mesa package. +You don't have to download it separately. +
+ + ++Olivier Michel has made Linux RPMs of GLU for i386 and PowerPC. +You can download them from the +download area under Miscellaneous. +
+ ++Visit the +OpenGL Sample Implementation home page for more information about the SI. +
+ + + diff --git a/docs/helpwanted.html b/docs/helpwanted.html new file mode 100644 index 00000000000..b9434d0c034 --- /dev/null +++ b/docs/helpwanted.html @@ -0,0 +1,62 @@ + + ++We can always use more help with the Mesa project. Here are some +specific areas. If you think you can help out, post to the mesa3d-dev +mailing list. +
+ ++If you want to help with Mesa, first join the Mesa developer's +mailing list. Then post a message explaining what you might like +to help with. The Mesa web page has a list of a few work items +which you may consider. +
+ + +Anyone is welcome to contribute code to the Mesa project, provided you +agree to the copyright terms of the relevant code. See the COPYRIGHT +file. + + ++Unfortunately, all the easy work in Mesa was done years ago. Nowadays, the +work is rather complicated and not suited to beginners. +
+ ++If you're contribution code to the Mesa library itself: +
+
-Be warned, some of these files may be very out of date. -
--Doxygen is used to automatically -produce cross-referenced documentation from the Mesa sources. -This is not included in the normal Mesa distribution. -Download Mesa from CVS if interested. -
- - - - -