From 0b27aceae2464db3dd149cf4fd667e353a655c5e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sat, 8 Mar 2003 17:38:57 +0000 Subject: [PATCH] Documentation/website overhaul. The website content and doc/ directory are now merged and are one and the same. --- docs/README.X11 | 14 +- docs/banner.html | 15 + docs/bugs.html | 35 ++ docs/conform.html | 693 ++++++++++++++++++++++++++++++++++++++++ docs/contents.html | 76 +++++ docs/custom.html | 25 ++ docs/cvs_anonymous.html | 37 +++ docs/cvs_branches.html | 59 ++++ docs/debugging.html | 36 +++ docs/demos.html | 16 + docs/devinfo.html | 230 +++++++++++++ docs/download.html | 106 ++++++ docs/envvars.html | 25 ++ docs/extensions.html | 32 ++ docs/faq.html | 330 +++++++++++++++++++ docs/games.html | 62 ++++ docs/glu.html | 43 +++ docs/helpwanted.html | 62 ++++ docs/index.html | 97 +----- docs/install.html | 295 +++++++++++++++++ docs/intro.html | 255 +++++++++++++++ docs/libraries.html | 55 ++++ docs/license.html | 115 +++++++ docs/lists.html | 51 +++ docs/mangling.html | 26 ++ docs/modelers.html | 70 ++++ docs/news.html | 568 ++++++++++++++++++++++++++++++++ docs/osmesa.html | 74 +++++ docs/perf.html | 66 ++++ docs/relnotes.html | 33 ++ docs/science.html | 64 ++++ docs/sourcedocs.html | 24 ++ docs/subset.html | 26 ++ docs/systems.html | 109 +++++++ docs/thanks.html | 139 ++++++++ docs/utilities.html | 20 ++ docs/utility.html | 42 +++ docs/webmaster.html | 22 ++ 38 files changed, 3954 insertions(+), 93 deletions(-) create mode 100644 docs/banner.html create mode 100644 docs/bugs.html create mode 100644 docs/conform.html create mode 100644 docs/contents.html create mode 100644 docs/custom.html create mode 100644 docs/cvs_anonymous.html create mode 100644 docs/cvs_branches.html create mode 100644 docs/debugging.html create mode 100644 docs/demos.html create mode 100644 docs/devinfo.html create mode 100644 docs/download.html create mode 100644 docs/envvars.html create mode 100644 docs/extensions.html create mode 100644 docs/faq.html create mode 100644 docs/games.html create mode 100644 docs/glu.html create mode 100644 docs/helpwanted.html create mode 100644 docs/install.html create mode 100644 docs/intro.html create mode 100644 docs/libraries.html create mode 100644 docs/license.html create mode 100644 docs/lists.html create mode 100644 docs/mangling.html create mode 100644 docs/modelers.html create mode 100644 docs/news.html create mode 100644 docs/osmesa.html create mode 100644 docs/perf.html create mode 100644 docs/relnotes.html create mode 100644 docs/science.html create mode 100644 docs/sourcedocs.html create mode 100644 docs/subset.html create mode 100644 docs/systems.html create mode 100644 docs/thanks.html create mode 100644 docs/utilities.html create mode 100644 docs/utility.html create mode 100644 docs/webmaster.html 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 @@ + + +Banner + + + + +
+

+The Mesa 3D Graphics Library +

+
+ + + \ No newline at end of file diff --git a/docs/bugs.html b/docs/bugs.html new file mode 100644 index 00000000000..9ced9dc8c2d --- /dev/null +++ b/docs/bugs.html @@ -0,0 +1,35 @@ + + +Mesa Bug Reporting + + + +

Bug Database

+ +

+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 @@ + + +Conformance + + + +

Conformance

+ +

+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 @@ + + +Contents + + + +Documentation + + +Download / Install + + +Resources + + +User Topics + + +Developer Topics + + +Links + + +Sourceforge.net + + + \ No newline at end of file diff --git a/docs/custom.html b/docs/custom.html new file mode 100644 index 00000000000..a5cfdeb813b --- /dev/null +++ b/docs/custom.html @@ -0,0 +1,25 @@ + + +Custom Development + + + +

Custom Development

+ +

+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 CVS + + + +

Anonymous CVS

+ +

+Anonymous, public, read-only access to the code in CVS is +available. Here are the basic instructions for Unix systems: +

+ +
    +
  1. Install CVS client software on your computer. Version 1.9.28 is known to work. +
  2. Login as an anonymous user: cvs -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d + login +
  3. Just hit return at the CVS password: prompt. +
  4. Then checkout mesa: cvs -z3 -d:pserver:anonymous@cvs.mesa3d.sourceforge.net:/cvsroot/mesa3d + co Mesa +
+ +

To update your Mesa CVS source to the latest CVS source: + +

    +
  1. cd Mesa +
  2. 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 @@ + + +CVS Branches + + + +

CVS Branch Information

+ +

+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 @@ + + +Debugging Tips + + + +

Debugging Tips

+ +

+ 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 @@ + + +Demos + + + +

Demos

+ + + + + + + \ No newline at end of file diff --git a/docs/devinfo.html b/docs/devinfo.html new file mode 100644 index 00000000000..ee191fc9f84 --- /dev/null +++ b/docs/devinfo.html @@ -0,0 +1,230 @@ + + +Development Notes + + + +

Development Notes

+ + +

Adding Extentions

+ +

+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. +

+ + + +

Coding Style

+ +

+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
+
+ + +

Writing a Device Driver

+ +

+XXX to do +

+ + + +

Making a New Mesa Release

+ +

+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 +

+ + +

Autoconf info

+ +

+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 @@ + + +Getting Mesa + + + +

Downloading / Unpacking

+ +

+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. +

+ +

GLUT

+ +

+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 @@ + + +Environment Variables + + + +

Environment Variables

+ +

+Mesa supports the following environment variables: +

+ + + + + diff --git a/docs/extensions.html b/docs/extensions.html new file mode 100644 index 00000000000..b4906ec1fe3 --- /dev/null +++ b/docs/extensions.html @@ -0,0 +1,32 @@ + + +Mesa Extensions + + + +

Mesa Extensions

+ +

+A number of extensions have been developed especially for Mesa. +The specifications follow. +

+ + + + + + + diff --git a/docs/faq.html b/docs/faq.html new file mode 100644 index 00000000000..448def5274f --- /dev/null +++ b/docs/faq.html @@ -0,0 +1,330 @@ + + +Mesa FAQ + + + + +
+

Mesa Frequently Asked Questions

+Last updated: 7 March 2003 +
+ +
+
+

Index

+1. High-level Questions and Answers +
+2. Compilation and Installation Problems +
+3. Runtime / Rendering Problems +
+4. Developer Questions +
+
+
+ + + + +

1. High-level Questions and Answers

+ +

1.1 What is Mesa?

+

+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. +

+ + +

1.2 Does Mesa support/use graphics hardware?

+

+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. +

+ +

1.3 What purpose does (software) Mesa serve today?

+

+Commercial, hardware-accelerated OpenGL implementations are available for +many operating systems today. +Still, Mesa serves at least these purposes: +

+ + +

1.4 How do I upgrade my DRI installation to use a new Mesa release?

+

+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. +

+ +

1.5 Are there other open-source implementations of OpenGL?

+

+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. +

+ +
+
+ + + +

2. Compilation and Installation Problems

+ + +

2.1 What's the easiest way to install Mesa?

+

+If you're using a Linux-based system, your distro CD most likely already +has Mesa packages (like RPM or DEB) which you can easily install. +

+ + +

2.2 Running configure; make Doesn't Work

+

+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). +

+ +

2.3 Mesa still doesn't compile

+

+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. +

+ + +

2.4 I get undefined symbols such as bgnpolygon, v3f, etc...

+

+You're application is written in IRIS GL, not OpenGL. +IRIS GL was the predecessor to OpenGL and is a different thing (almost) +entirely. +Mesa's not the solution. +

+ + +

2.5 Where is the GLUT library?

+

+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 +package and unpack it before compiling Mesa. +

+ + + +

2.6 What's the proper place for the libraries and headers?

+

+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. +

+
+
+ + + +

3. Runtime / Rendering Problems

+ +

3.1 Rendering is slow / why isn't my graphics hardware being used?

+

+Stand-alone Mesa (downloaded as MesaLib-x.y.z.tar.gz) doesn't have any +support for hardware acceleration (with the exception of the 3DFX Voodoo +driver). +

+

+What you really want is a DRI or NVIDIA (or another vendor's OpenGL) driver +for your particular hardware. +

+

+You can run the glxinfo program to learn about your OpenGL +library. +Look for the GL_VENDOR and GL_RENDERER values. +That will identify who's OpenGL library you're using and what sort of +hardware it has detected. +

+

+If your DRI-based driver isn't working, go to the +DRI website for trouble-shooting information. +

+ + +

3.2 I'm seeing errors in depth (Z) buffering. Why?

+

+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. +

+ + +

3.3 Why Isn't depth buffering working at all?

+

+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. +

+ + +

3.4 Why does glGetString() always return NULL?

+

+Be sure you have an active/current OpenGL rendering context before +calling glGetString. +

+ + +

3.5 GL_POINTS and GL_LINES don't touch the right pixels

+

+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. +

+ +
+
+ + + +

4. Developer Questions

+ +

4.1 How can I contribute?

+

+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. +

+ +

4.2 How do I write a new device driver?

+

+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 @@ + + +Games + + + +

Games

+ + + + + + \ No newline at end of file diff --git a/docs/glu.html b/docs/glu.html new file mode 100644 index 00000000000..e3c9189b460 --- /dev/null +++ b/docs/glu.html @@ -0,0 +1,43 @@ + + +SGI GLU + + + +

SGI SI GLU

+ +(Silicon Graphics, Inc. Sample Implementation of the OpenGL Utility library) + +

+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 @@ + + +Help Wanted + + + +

Help Wanted

+ +

+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: +

+

    +
  1. Try to write clean code (uniform indentation, comments, meaningful + identifiers, etc). It must be readable and maintainable! + +
  2. Test your code. On several occations I've incorporated code from + users which later turned out to have bugs. Now, I'm pretty hesitant + to use code which doesn't look good. +
+ + + + diff --git a/docs/index.html b/docs/index.html index 9b3c717b540..0edf4325223 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,92 +1,23 @@ - - - Index to Mesa Documentation - + - +Mesa Home Page -

Main Documentation

- -

Platform and Driver Information

-

-Be warned, some of these files may be very out of date. -

- + + + + + + + -

Release Notes

- + -<H1>Mesa Extension Specifications</H1> -<UL> -<LI><A HREF="MESA_agp_offset.spec">MESA_agp_offset.spec</A> -<LI><A HREF="MESA_copy_sub_buffer.spec">MESA_copy_sub_buffer.spec</A> -<LI><A HREF="MESA_packed_depth_stencil.spec">MESA_packed_depth_stencil.spec</A> -<LI><A HREF="MESA_pack_invert.spec">MESA_pack_invert.spec</A> -<LI><A HREF="MESA_pixmap_colormap.spec">MESA_pixmap_colormap.spec</A> -<LI><A HREF="MESA_release_buffers.spec">MESA_release_buffers.spec</A> -<LI><A HREF="MESA_resize_buffers.spec">MESA_resize_buffers.spec</A> -<LI><A HREF="MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</A> -<LI><A HREF="MESA_sprite_point.spec">MESA_sprite_point.spec</A> (obsolete) -<LI><A HREF="MESA_trace.spec">MESA_trace.spec</A> (obsolete) -<LI><A HREF="MESA_window_pos.spec">MESA_window_pos.spec</A> -<LI><A HREF="MESA_ycbcr_texture.spec">MESA_ycbcr_texture.spec</A> -</UL> +<BODY> -<H1>Source Code Documentation</H1> -<P> -<A HREF="http://www.doxygen.org">Doxygen</A> 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. -</P> <P> -<A HREF="../doxy/core/index.html">Source documentation</A> -</P> +</body> -</BODY> -</HTML> + + \ No newline at end of file diff --git a/docs/install.html b/docs/install.html new file mode 100644 index 00000000000..1dedfa19c45 --- /dev/null +++ b/docs/install.html @@ -0,0 +1,295 @@ + + +Compilation and Installation + + + +

Compilation and Installation for Unix/X11

+ +

+If you're not using a variant of Unix with X11, see the +Supported Systems and Drivers section +for instructions. +

+ +

+There are two methods for building Mesa on Unix/X11 systems: +

+ +
+
NEW-STYLE
+
+Basically, type "./configure" followed by "make" +This should work on most Unix-like operating systems. +Unfortunately, autoconf/automake seems to seldom work reliably on non-Linux +systems. For that reason, the old-style make system is still supported +(and is the preferred method of the Mesa developers). +
+
+
OLD-STYLE
+
+Simply type make and you'll see a list of supported +system configurations. Pick one and type make config. +More details below. +
+
+ +

+NOTE: The GLUT library and demonstrations programs are in the +MesaDemos-x.y.z.tar.gz file. If you don't have GLUT or you want to +run some demos, download the MesaDemos package too. +

+ +

+In either case, building Mesa entails the following: +

+

+ + + +

NEW-STYLE compilation and installation

+ +
+0) If you've downloaded Mesa via CVS there will not be a "configure"
+   script.  You'll have to run the "bootstrap" script first.  This script
+   may not work on any OS other than Linux.  You'll need these programs
+   to run the bootstrap script:
+
+	autoconf 2.50
+	automake 1.4-p2
+	libtool 1.4
+
+
+1) Run the configure script
+
+	./configure [options]
+
+For Linux, it is recommended that you use:
+	./configure --prefix=/usr
+So that the headers and libs are located according to the Linux/OpenGL
+standard spec at http://oss.sgi.com/projects/ogl-sample/ABI/
+
+Possible options are:
+
+--prefix=DIR
+	The toplevel directory of the hierachy in which Mesa
+	will be installed (DIR/include,DIR/lib etc.).
+	The default is "/usr/local".
+
+--sysconfdir=DIR
+	The directory where Mesa configuration files
+	will be stored.	The default is "$prefix/etc".
+	You may want to overwrite the default with --sysconfdir=/etc.
+
+--enable-static
+	Enable building of static libraries.
+	Static libraries are NOT built by default.
+	
+--disable-shared
+	Disable building of shared libraries.
+	Shared libraries are built by default.
+
+--with-pic
+--without-pic
+	In normal operation, libtool will build shared libraries from
+	PIC objects and static archives from non-PIC objects, except where one
+	or the other is not provided by the target host.  By specifying
+	--with-pic you are asking libtool to build static archives from
+	PIC objects, and similarly by specifying --without-pic you are asking
+	libtool to build shared	libraries from non-PIC objects.
+	libtool will only honour this flag where it will produce a
+	working library, otherwise it reverts to the default.
+	
+--enable-debug
+	Enable debugging messages (disabled by default).
+	
+--enable-profile
+	Enable profiling (disabled by default).
+	
+--disable-optimize
+	Disable extra optimizations (enabled by default,
+	i.e., optimize for maximum performance).
+	
+--enable-warn
+	Enable extended compiler warnings (disabled by default).
+	
+--enable-x86[=ARG]
+--disable-x86
+	Enable/disable x86 assembler support to speed up Mesa
+	(autodetected by default). You may set `on' or `off'.
+	
+--enable-3dnow[=ARG]
+--disable-3dnow
+	Enable/disable 3Dnow support to speed up Mesa
+	(autodetected by default). You may set `on' or `off'.
+	
+--enable-mmx[=ARG]
+--disable-mmx
+	Enable/disable MMX support to speed up Mesa
+	(autodetected by default). You may set `on' or `off'.
+	
+--enable-sse[=ARG]
+--disable-sse
+	Enable/disable SSE support to speed up Mesa
+	(autodetected by default). You may set `on' or `off'.
+	If you have a PentiumIII and want to use SSE make sure you have the
+	PIII Linux kernel-patch installed or things will fail!
+	You can get the patch from http://www.redhat.com/~dledford/linux_kernel.html
+	
+--with-glide[=DIR]
+--without-glide
+	Enable/disable support for Glide (disabled by default).
+	DIR is the installation directory of Glide.
+	If Glide cannot be found, the driver won't be built.
+	
+--with-glut[=DIR]
+--without-glut
+	Don't/use already-installed GLUT (autodetected by default).
+	DIR is the installation directory of Glut.
+	If GLUT cannot be found, the version shipped with Mesa will be built.
+	
+--with-ggi[=DIR]
+--without-ggi
+	Enable/disable support for GGI (autodetected by default).
+	DIR is the installation directory of GGI.
+	If GGI cannot be found, the driver won't be built.
+
+--disable-ggi-fbdev
+	Don't build the GGI fbdev target (autodetected by default).
+	
+--disable-ggi-genkgi
+	Don't build the GGI generic KGI driver (autodetected by default).
+	
+--disable-ggi-savage4
+	Don't build the GGI Savage4 KGI driver (autodetected by default).
+	
+--disable-osmesa
+	Disable OSmesa (offscreen rendering) support (enabled by default).
+
+--with-svga[=DIR]
+--without-svga
+	Enable/disable support for SVGALib (autodetected by default).
+	DIR is the installation directory of SVGALib.
+	If SVGALib cannot be found, the driver won't be built.
+
+--x-includes=DIR
+	Search for the X include files in DIR.
+	
+--x-libraries=DIR
+	Search for the X library files in DIR.
+
+User specific compiler options can be set using the shell variable
+CFLAGS. For instance,
+	CFLAGS="-g -O2" ./configure
+(on some systems: env CFLAGS="-g -O2" ./configure)
+sets the compiler flags to "-g -O2".
+
+For more options run "./configure --help" and read INSTALL.GNU.
+
+2) To build the Mesa libraries run:
+
+	make
+
+When finished, libGL.so will be in src/.libs/, libGLU.so will be in
+si-glu/.libs/, etc.
+
+Optionally, you can strip the libraries using
+
+	make strip
+	
+Now make sure that you have the permissions to install Mesa in the 
+specified directories, for example, by becoming super user ("su")
+Then run:
+
+	make install
+
+Mesa is now installed.
+Please don't move the installed files but rerun all installation
+steps if you want to use other directories.
+
+
+3) To test whether Mesa works properly you might want to run the Mesa demos:
+
+	make check
+	
+Builds all demos.
+
+	make exec
+
+Builds and executes all demos.	
+
+ + +
+

OLD-STYLE compilation and installation

+ +

+This procedure usually works when ./configure ; make fails. +

+ +

+Note: If you tried ./configure ; make but it failed, +first copy the top-level Makefile.X11 file over +Makefile. +

+ +

+First, just type make alone. +You'll see a list of supported system configurations. +Choose one and type make config. +The Mesa libraries and demo programs will be compiled. +

+ +

Header and library files

+ +

+The standard location for the OpenGL header files on Unix-type systems is +in /usr/include/GL/. +The standard location for the libraries is /usr/lib/. +For more information see, the + +Linux/OpenGL ABI specification. +

+ +

+If you'd like Mesa to co-exist with another implementation of OpenGL that's +already installed, you'll have to choose different directories, like +/usr/local/include/GL/ and /usr/local/lib/. +

+ +

+To install the Mesa headers, do this: +

+	cp -r include/GL /usr/include
+
+ +

+To install the Mesa libraries, do this: +

+
+	cp -pd lib/* /usr/lib
+
+	(The -pd options preserve symbolic links)
+
+ +

LD_LIBRARY_PATH

+ +

+On Linux and similar operating systems the LD_LIBRARY_PATH +environment variable can be used to indicate a list of directories to +search for shared libraries. +If you don't install Mesa in /usr/lib/ you may have to +set the LD_LIBRARY_PATH variable in order to use the Mesa +libraries. +

+ + + diff --git a/docs/intro.html b/docs/intro.html new file mode 100644 index 00000000000..58c39dabc2d --- /dev/null +++ b/docs/intro.html @@ -0,0 +1,255 @@ + + +Mesa Introduction + + + +

Introduction

+ +

+Mesa is a 3-D graphics library with an API which is very similar to +that of OpenGL.* +To the extent that Mesa utilizes the OpenGL command syntax or state +machine, it is being used with authorization from Silicon Graphics, +Inc.(SGI). However, the author does not possess an OpenGL license +from SGI, and makes no claim that Mesa is in any way a compatible +replacement for OpenGL or associated with SGI. Those who want a +licensed implementation of OpenGL should contact a licensed +vendor. +

+ +

+Please do not refer to the library as MesaGL (for legal +reasons). It's just Mesa or The Mesa 3-D graphics +library.
+

+ +

+* OpenGL is a trademark of Silicon Graphics Incorporated. +

+ + +

Project History

+ +

+The Mesa project was founded by me, Brian Paul. Here's a short history +of the project. +

+ +

+August, 1993: I begin working on Mesa in my spare time. The project +has no name at that point. I was simply interested in writing a simple +3D graphics library that used the then-new OpenGL API. I was partially +inspired by the VOGL library which emulated a subset of IRIS GL. +I had been programming with IRIS GL since 1991. +

+ +

+November 1994: I contact SGI to ask permission to distribute my OpenGL-like +graphics library on the internet. SGI was generally receptive to the +idea and after negotiations with SGI's legal department, I get permission +to release it. +

+ +

+February 1995: Mesa 1.0 is released on the internet. I expected that +a few people would be interested in it, but not thousands. +I was soon receiving patches, new features and thank-you notes on a +daily basis. That encouraged me to continue working on Mesa. The +name Mesa just popped into my head one day. SGI had asked me not to use +the terms "Open" or "GL" in the project name and I didn't +want to make up a new acronym. Later, I heard of the Mesa programming +language and the Mesa spreadsheet for NeXTStep. +

+ +

+In the early days, OpenGL wasn't available on too many systems. +It even took a while for SGI to support it across their product line. +Mesa filled a big hole during that time. +For a lot of people, Mesa was their first introduction to OpenGL. +I think SGI recognized that Mesa actually helped to promote +the OpenGL API, so they didn't feel threatened by the project. +

+ + +

+1995-1996: I continue working on Mesa both during my spare time and during +my work hours at the Space Science and Engineering Center at the University +of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me do this because +Mesa is now being using for the Vis5D project. +

+October 1996: Mesa 2.0 is released. It implementes the OpenGL 1.1 specification. +

+ +

+March 1997: Mesa 2.2 is released. It supports the new 3dfx Voodoo graphics +card via the Glide library. It's the first really popular hardware OpenGL +implementation for Linux. +

+ +

+September 1998: Mesa 3.0 is released. It's the first publicly-available +implementation of the OpenGL 1.2 API. +

+ +

+March 1999: I attend my first OpenGL ARB meeting. I contribute to the +development of several official OpenGL extensions over the years. +

+ +

+September 1999: I'm hired by Precision Insight, Inc. Mesa is a key +component of 3D hardware acceleration in the new DRI project for XFree86. +Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon follow. +

+ +

+October 2001: Mesa 4.0 is released. +It implements the OpenGL 1.3 specification. +

+ + +

+November 2001: I cofound +Tungsten Graphics, Inc. with Keith Whitwell, Jens Owen, David Dawes and +Frank LaMonica. +I continue to develop Mesa as part of my resposibilities with Tungsten +Graphics and as a spare-time project. +

+ +

+November 2002: Mesa 5.0 is released. +It implements the OpenGL 1.4 specification. +

+ +

+Ongoing: Mesa is used as the core of many hardware OpenGL drivers for XFree86 +within the +DRI project. +I continue to enhance Mesa with new extensions and features. +

+ + + +

Major Versions

+ +

+This is a summary of the major versions of Mesa. Note that Mesa's major +version number tracks OpenGL's minor version number. +

+ + +

Version 5.x features

+

+Version 5.x of Mesa implements the OpenGL 1.4 API with the following +extensions incorporated as standard features: +

+ + + +

Version 4.x features

+ +

+Version 4.x of Mesa implements the OpenGL 1.3 API with the following +extensions incorporated as standard features: +

+ + + +

Version 3.x features

+ +

+Version 3.x of Mesa implements the OpenGL 1.2 API with the following +features: +

+ + + +

Version 2.x features

+

+Version 2.x of Mesa implements the OpenGL 1.1 API with the following +features. +

+ + + + + diff --git a/docs/libraries.html b/docs/libraries.html new file mode 100644 index 00000000000..44324e7610b --- /dev/null +++ b/docs/libraries.html @@ -0,0 +1,55 @@ + + +Libraries and Toolkits + + + +

Libraries and Toolkits

+ + + + + \ No newline at end of file diff --git a/docs/license.html b/docs/license.html new file mode 100644 index 00000000000..475baaaa9c6 --- /dev/null +++ b/docs/license.html @@ -0,0 +1,115 @@ + + +License / Cppyright Information + + + +

License / Copyright Information

+ +

+The Mesa distribution consists of several components. Different copyrights +and licenses apply to different components. For example, GLUT is copyrighted +by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa +device drivers are copyrighted by their authors. See below for a list of +Mesa's components and the copyright/license for each. +

+

+The core Mesa library is licensed according to the terms of the XFree86 +copyright (an MIT-style license). This allows integration with the +XFree86/DRI project. Unless otherwise stated, the Mesa source code and +documentation is licensed as follows: +

+ +
+Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ + +

Attention, Contributors

+ +

+When contributing to the Mesa project you must agree to relinquish your +work to the holder of the copyright for the particular component you're +contributing to. That is, you can't put your own copyright on the code, +unless it's a modular piece that can be omitted from Mesa (like a new +device driver). If for example, you contribute a bug fix to Mesa's +texture mapping code, your code will become a part of the body of work +which is copyrighted by Brian Paul and licensed by the above terms. +

+ +
+Mesa Component Licenses:
+
+Component       Files                 Primary Author      License
+----------------------------------------------------------------------------
+core Mesa code  src/*.[ch]            Brian Paul          Mesa
+                include/GL/gl.h
+
+GLX driver      src/X/*               Brian Paul          Mesa
+                include/GL/glx.h
+                include/GL/xmesa.h
+
+OS/Mesa driver  src/OSmesa/*          Brian Paul          Mesa
+                include/GL/osmesa.h
+
+3Dfx driver     src/FX/*              David Bucciarelli   Mesa
+                include/GL/fxmesa.h
+
+BeOS R4 driver  src/BeOS/*            Brian Paul          Mesa
+
+MGL driver      src/MGL/*             SciTech, Inc        SciTech copyright
+                include/GL/mglmesa.h
+
+Windows driver  src/Windows/*         Li Wei              copyright by Li Wei
+                include/GL/wmesa.h
+
+SVGA driver     src/SVGA/*            Brian Paul          GNU-LGPL
+                include/GL/svgamesa.h
+
+DOS driver      src/DOS/*             Charlie Wallace     GNU-LGPL
+                include/GL/dosmesa.h
+
+GGI driver      src/GGI/*             Uwe Maurer          GNU-LGPL
+                include/GL/ggimesa.h
+
+S3 driver       src/S3/*              S3, Inc.            S3 copyright
+
+GLUT            src-glut/*            Mark Kilgard        Mark's copyright
+                include/GL/*glut*.h
+
+GLU library     src-glu/*             Brian Paul          GNU-LGPL
+
+SI GLU library  si-glu/*              SGI                 SGI Free B
+                include/GL/glu.h
+
+Ext registry    include/GL/glext.h    SGI                 SGI Free B
+                include/GL/glxext.h
+
+demo programs   demos/*               various             see source files
+
+X demos         xdemos/*              Brian Paul          see source files
+
+SGI demos       samples/*             SGI                 SGI copyright
+
+RedBook demos   book/*                SGI                 SGI copyright
+
+ + + diff --git a/docs/lists.html b/docs/lists.html new file mode 100644 index 00000000000..2c97d88a1b4 --- /dev/null +++ b/docs/lists.html @@ -0,0 +1,51 @@ + + +Mesa Mailing Lists + + + +

Mailing Lists

+ + +

There are four Mesa mailing lists:

+ + +

+To subscribe or unsubscribe, go to the + +SourceForge lists page. +

+ +

The mailing lists are managed by SourceForge. If you're having trouble +with the mailing lists please contact the SourceForge administrators for help.

+ +

Archives of the old Mesa mailing list which was hosted by unicamp.br +are available here.

+ +

+Here are some other OpenGL-related forums you might find useful: +

+ +

+Usenet newsgroups: +

+

+ +

+OpenGL discussion forums at www.opengl.org +

+ + + diff --git a/docs/mangling.html b/docs/mangling.html new file mode 100644 index 00000000000..5aafcb2a68f --- /dev/null +++ b/docs/mangling.html @@ -0,0 +1,26 @@ + + +Function Name Mangling + + + +

Function Name Mangling

+ +

+If you want to use Mesa and native OpenGL in the same application at +the same time you may find it useful to compile Mesa with +name mangling. +This results in all the Mesa functions being prefixed with +mgl instead of gl. +

+ +

+To do this, recompile Mesa with the compiler flag -DUSE_MGL_NAMESPACE. +Add the flag to the other compiler flags in Make-config (if using the +old-style build system) or in src/Makefile if using GNU autoconf/ +automake to build Mesa. +

+ + + + diff --git a/docs/modelers.html b/docs/modelers.html new file mode 100644 index 00000000000..aebd2496580 --- /dev/null +++ b/docs/modelers.html @@ -0,0 +1,70 @@ + + +Modelers, Renderers and Viewers + + + +

Modelers, Renderers and Viewers

+ + + + + diff --git a/docs/news.html b/docs/news.html new file mode 100644 index 00000000000..643d7001a42 --- /dev/null +++ b/docs/news.html @@ -0,0 +1,568 @@ + + +Mesa News + + + +

News

+ + +

March 7, 2003

+

+Website and documentation overhaul. +

+

+The website content and Mesa documentation (from the doc/ directory) have +been merged together. +All the documentation files have been entered into the CVS repository. +Many of the old plain-text files have been converted to html and modernized. +

+ + +

November 13, 2002

+

Mesa 5.0 has been released. This is a stable release which +implements the OpenGL 1.4 specification. +

New:
+    - OpenGL 1.4 support (glGetString(GL_VERSION) returns "1.4")
+    - removed some overlooked debugging code
+    - glxinfo updated to support GLX_ARB_multisample
+    - GLUT now support GLX_ARB_multisample
+    - updated DOS driver (Daniel Borca)
+Bug fixes:
+    - GL_POINT and GL_LINE-mode polygons didn't obey cull state
+    - fixed potential bug in _mesa_align_malloc/calloc()
+    - fixed missing triangle bug when running vertex programs
+    - fixed a few HPUX compilation problems
+    - FX (Glide) driver didn't compile
+    - setting GL_TEXTURE_BORDER_COLOR with glTexParameteriv() didn't work
+    - a few EXT functions, like glGenTexturesEXT, were no-ops
+    - a few OpenGL 1.4 functions like glFogCoord*, glBlendFuncSeparate,
+      glMultiDrawArrays and glMultiDrawElements were missing
+    - glGet*(GL_ACTIVE_STENCIL_FACE_EXT) was broken
+    - Pentium 4 Mobile was mistakenly identified as having 3DNow!
+    - fixed one-bit error in point/line fragment Z calculation
+    - fixed potential segfault in fakeglx code
+    - fixed color overflow problem in DOT3 texture env mode
+
+ + +

October 29, 2002

+

Mesa 4.1 has been released. This is a new development release. +For a stable release, get 4.0.4. +

New:
+    - GL_NV_vertex_program extension
+    - GL_NV_vertex_program1_1 extension
+    - GL_ARB_window_pos extension
+    - GL_ARB_depth_texture extension
+    - GL_ARB_shadow extension
+    - GL_ARB_shadow_ambient extension
+    - GL_EXT_shadow_funcs extension
+    - GL_ARB_point_parameters extension
+    - GL_ARB_texture_env_crossbar
+    - GL_NV_point_sprite extension
+    - GL_NV_texture_rectangle extension
+    - GL_EXT_multi_draw_arrays extension
+    - GL_EXT_stencil_two_side extension
+    - GLX_SGIX_fbconfig and GLX_SGIX_pbuffer extensions
+    - GL_ATI_texture_mirror_once extension (Ian Romanick)
+    - massive overhaul/simplification of software rasterizer module,
+      many contributions from Klaus Niederkrueger
+    - faster software texturing in some cases (i.e. trilinear filtering)
+    - new OSMesaGetProcAddress() function
+    - more blend modes implemented with MMX code (Jose Fonseca)
+    - added glutGetProcAddress() to GLUT
+    - added GLUT_FPS env var to compute frames/second in glutSwapBuffers()
+    - pbinfo and pbdemo PBuffer programs
+    - glxinfo -v prints transprent pixel info (Gerd Sussner)
+Bug fixes:
+    - better mipmap LOD computation (prevents excessive blurriness)
+    - OSMesaMakeCurrent() didn't recognize buffer size changes
+    - assorted conformance fixes for 16-bit/channel rendering
+    - texcombine alpha subtraction mode was broken
+    - fixed some blend problems when GLchan==GLfloat (Gerk Huisma)
+    - clamp colors to [0,1] in OSMesa if GLchan==GLfloat (Gerk Huisma)
+    - fixed divide by zero error in NURBS tessellator (Jon Perry)
+    - fixed GL_LINEAR fog bug by adding clamping
+    - fixed FP exceptions found using Alpha CPU
+    - 3dfx/glide driver render-to-window feature was broken
+    - added missing GLX_TRANSPARENT_RGB token to glx.h
+    - fixed error checking related to paletted textures
+    - fixed reference count error in glDeleteTextures (Randy Fayan)
+Changes:
+    - New spec file and Python code to generate some GL dispatch files
+    - Glide driver defaults to "no" with autoconf/automake
+    - floating point color channels now clamped to [0,inf)
+    - updated demos/stex3d with new options
+
+ + +

October 4, 2002

+

+The Mesa FAQ has been rewritten. +

+ +

October 3, 2002

+

Mesa 4.0.4 has been released. This is a stable bug-fix release. +

    New:
+	- GL_NV_texture_rectangle extension
+	- updated glext.h header (version 17)
+	- updated DOS driver (Daniel Borca)
+	- updated BeOS R5 driver (Philippe Houdoin)
+	- added GL_IBM_texture_mirror_repeat
+	- glxinfo now takes -l option to print interesting OpenGL limits info
+	- GL_MESA_ycbcr_texture extension
+	- GL_APPLE_client_storage extension (for some DRI drivers only)
+	- GL_MESA_pack_invert extension
+    Bug fixes:
+	- fixed GL_LINEAR fog bug by adding clamping
+	- fixed FP exceptions found using Alpha CPU
+	- 3dfx MESA_GLX_FX=window (render to window) didn't work
+	- fixed memory leak in wglCreateContest (Karl Schultz)
+	- define GLAPIENTRY and GLAPI if undefined in glu.h
+	- wglGetProcAddress didn't handle all API functions
+	- when testing for OpenGL 1.2 vs 1.3, check for GL_ARB_texture_cube_map
+	- removed GL_MAX_CONVOLUTION_WIDTH/HEIGHT from glGetInteger/Float/etc()
+	- error checking in compressed tex image functions had some glitches
+	- fixed AIX compile problem in src/config.c
+	- glGetTexImage was using pixel unpacking instead of packing params
+	- auto-mipmap generation for cube maps was incorrect
+    Changes:
+	- max texture units reduced to six to accomodate texture rectangles
+	- removed unfinished GL_MESA_sprite_point extension code
+
+ +

June 25, 2002

+

Mesa 4.0.3 has been released. This is a stable bug-fix release. +

    New:
+    - updated GL/glext.h file (version 15)
+    - corrected MMX blend code (Jose Fonseca)
+    - support for software-based alpha planes in Windows driver
+    - updated GGI driver (Filip Spacek)
+    Bug fixes:
+    - glext.h had wrong values for GL_DOT3_RGB[A]_EXT tokens
+    - OSMesaMakeCurrent() didn't recognize buffer size changes
+    - assorted conformance fixes for 16-bit/channel rendering
+    - texcombine alpha subtraction mode was broken
+    - fixed lighting bug with non-uniform scaling and display lists
+    - fixed bug when deleting shared display lists
+    - disabled SPARC cliptest assembly code (Mesa bug 544665)
+    - fixed a couple Solaris compilation/link problems
+    - blending clipped glDrawPixels didn't always work
+    - glGetTexImage() didn't accept packed pixel types
+    - glPixelMapu[is]v() could explode given too large of pixelmap
+    - glGetTexParameter[if]v() didn't accept GL_TEXTURE_MAX_ANISOTROPY_EXT
+    - glXCopyContext() could lead to segfaults
+    - glCullFace(GL_FRONT_AND_BACK) didn't work (bug 572665)
+    Changes:
+    - lots of C++ (g++) code clean-ups
+    - lots of T&L updates for the Radeon DRI driver
+    Known bugs:
+    - mipmap LOD computation (fixed for Mesa 4.1)
+
+ +

April 2, 2002

+

Mesa 4.0.2 has been released. This is a stable bug-fix release. +

    New:
+      - New DOS (DJGPP) driver written by Daniel Borca
+      - New driver interface functions for TCL drivers (such as Radeon DRI)
+      - GL_RENDERER string returns "Mesa Offscreen16" or "Mesa Offscreen32"
+        if using deep color channels
+      - latest GL/glext.h and GL/glxext.h headers from SGI
+    Bug fixes:
+      - GL_BLEND with non-black texture env color wasn't always correct
+      - GL_REPLACE with GL_RGB texture format wasn't always correct (alpha)
+      - glTexEnviv( pname != GL_TEXTURE_ENV_COLOR ) was broken
+      - glReadPixels was sometimes mistakenly clipped by the scissor box
+      - glDraw/ReadPixels didn't catch all the errors that they should have
+      - Fixed 24bpp rendering problem in Windows driver (Karl Schultz)
+      - 16-bit GLchan mode fixes (m_trans_tmp.h, s_triangle.c)
+      - Fixed 1-bit float->int conversion bug in glDrawPixels(GL_DEPTH_COMP)
+      - glColorMask as sometimes effecting glXSwapBuffers()
+      - fixed a potential bug in XMesaGarbageCollect()
+      - N threads rendering into one window didn't work reliably
+      - glCopyPixels didn't work for deep color channels
+      - improved 8 -> 16bit/channel texture image conversion (Gerk Huisma)
+      - glPopAttrib() didn't correctly restore user clip planes
+      - user clip planes failed for some perspective projections (Chromium)
+
+ +

December 17, 2001

+

Mesa 4.0.1 has been released. This is a stable bug-fix release. +

    New:
+      - better sub-pixel sample positions for AA triangles (Ray Tice)
+      - slightly faster blending for (GL_ZERO, GL_ONE) and (GL_ONE, GL_ZERO)
+    Bug fixes:
+      - added missing break statements in glGet*() for multisample cases
+      - fixed uninitialized hash table mutex bug (display lists / texobjs)
+      - fixed bad teximage error check conditional (bug 476846)
+      - fixed demos readtex.c compilation problem on Windows (Karl Schultz)
+      - added missing glGet() query for GL_MAX_TEXTURE_LOD_BIAS_EXT
+      - silence some compiler warnings (gcc 2.96)
+      - enable the #define GL_VERSION_1_3 in GL/gl.h
+      - added GL 1.3 and GLX 1.4 entries to gl_mangle.h and glx_mangle.h
+      - fixed glu.h typedef problem found with MSDev 6.0
+      - build libGL.so with -Bsymbolic (fixes bug found with Chromium)
+      - added missing 'const' to glXGetContextIDEXT() in glxext.h
+      - fixed a few glXGetProcAddress() errors (texture compression, etc)
+      - fixed start index bug in compiled vertex arrays (Keith)
+      - fixed compilation problems in src/SPARC/glapi_sparc.S
+      - fixed triangle strip "parity" bug found in VTK medical1 demo (Keith)
+      - use glXGetProcAddressARB in GLUT to avoid extension linking problems
+      - provoking vertex of flat-shaded, color-index triangles was wrong
+      - fixed a few display list bugs (GLUT walker, molecule, etc) (Keith)
+      - glTexParameter didn't flush the vertex buffer (Ray Tice)
+      - feedback attributes for glDraw/CopyPixels and glBitmap were wrong
+      - fixed bug in normal length caching (ParaView lighting bug)
+
+ +

October 22, 2001

+

Mesa 4.0 has been released. This is a stable release. +

    New:
+      - Mesa 4.0 implements the OpenGL 1.3 specification
+      - GL_IBM_rasterpos_clip extension
+      - GL_EXT_texture_edge_clamp extension (aka GL_SGIS_texture_edge_clamp)
+      - GL_ARB_texture_mirrored_repeat extension
+      - WindML UGL driver (Stephane Raimbault)
+      - added OSMESA_MAX_WIDTH/HEIGHT queries
+      - attempted compiliation fixes for Solaris 5, 7 and 8
+      - updated glext.h and glxext.h files
+      - updated Windows driver (Karl Schultz)
+    Bug fixes:
+      - added some missing GLX 1.3 tokens to include/GL/glx.h
+      - GL_COLOR_MATRIX changes weren't recognized by teximage functions
+      - glCopyPixels with scale and bias was broken
+      - glRasterPos with lighting could segfault
+      - glDeleteTextures could leave a dangling pointer
+      - Proxy textures for cube maps didn't work
+      - fixed a number of 16-bit color channel bugs
+      - fixed a few minor memory leaks
+      - GLX context sharing was broken in 3.5
+      - fixed state-update bugs in glPopClientAttrib()
+      - fixed glDrawRangeElements() bug
+      - fixed a glPush/PopAttrib() bug related to texture binding
+      - flat-shaded, textured lines were broken
+      - fixed a dangling pointer problem in the XMesa code (Chris Burghart)
+      - lighting didn't always produce the correct alpha value
+      - fixed 3DNow! code to not read past end of arrays (Andrew Lewycky)
+
+ + +

June 21, 2001

+

Mesa 3.5 has been released. This is a new development release. +

    New:
+	- internals of Mesa divided into modular pieces (Keith Whitwell)
+	- 100% OpenGL 1.2 conformance (passes all conformance tests)
+	- new AA line algorithm
+	- GL_EXT_convolution extension
+        - GL_ARB_imaging subset
+        - OSMesaCreateContextExt() function
+        - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
+        - GL_MAX_TEXTURE_UNITS_ARB now defaults to eight
+        - GL_EXT_fog_coord extension (Keith Whitwell)
+        - GL_EXT_secondary_color extension (Keith Whitwell)
+        - GL_ARB_texture_env_add extension (same as GL_EXT_texture_env_add)
+        - GL_SGIX_depth_texture extension
+        - GL_SGIX_shadow and GL_SGIX_shadow_ambient extensions
+        - demos/shadowtex.c demo of GL_SGIX_depth_texture and GL_SGIX_shadow
+        - GL_ARB_texture_env_combine extension
+        - GL_ARB_texture_env_dot3 extension
+        - GL_ARB_texture_border_clamp (aka GL_SGIS_texture_border_clamp)
+        - OSMesaCreateContextExt() function
+        - libOSMesa.so library, contains the OSMesa driver interface
+        - GL/glxext.h header file for GLX extensions
+        - somewhat faster software texturing, fogging, depth testing
+        - all color-index conformance tests now pass (only 8bpp tested)
+        - SPARC assembly language TCL optimizations (David Miller)
+        - GL_SGIS_generate_mipmap extension
+    Bug Fixes:
+        - fbiRev and tmuRev were unitialized when using Glide3
+        - fixed a few color index mode conformance failures; all pass now
+        - now appling antialiasing coverage to alpha after texturing
+        - colors weren't getting clamped to [0,1] before color table lookup
+        - fixed RISC alignment errors caused by COPY_4UBV macro
+        - drawing wide, flat-shaded lines could cause a segfault
+        - vertices now snapped to 1/16 pixel to fix rendering of tiny triangles
+    Changes:
+        - SGI's Sample Implementation (SI) 1.3 GLU library replaces Mesa GLU
+        - new libOSMesa.so library, contains the OSMesa driver interface
+
+ + +

May 17, 2001

+

Mesa 3.4.2 has been released. This is basically just a bug-fix release. +Here's what's new:

+
    Bug fixes:
+        - deleting the currently bound texture could cause bad problems
+        - using fog could result in random vertex alpha values
+         - AA triangle rendering could touch pixels outside right window bound
+        - fixed byteswapping problem in clear_32bit_ximage() function
+        - fixed bugs in wglUseFontBitmapsA(), by Frank Warmerdam
+        - fixed memory leak in glXUseXFont()
+        - fragment sampling in AA triangle function was off by 1/2 pixel
+        - Windows: reading pixels from framebuffer didn't always work
+        - glConvolutionFilter2D could segfault or cause FP exception
+        - fixed segfaults in FX and X drivers when using tex unit 1 but not 0
+        - GL_NAND logicop didn't work right in RGBA mode
+        - fixed a memory corruption bug in vertex buffer reset code
+        - clearing the softwara alpha buffer with scissoring was broken
+        - fixed a few color index mode fog bugs
+        - fixed some bad assertions in color index mode
+        - fixed FX line 'stipple' bug #420091
+    Changes:
+        - optimized writing mono-colored pixel spans to X pixmaps
+        - increased max viewport size to 2048 x 2048
+
+ + +

April 29, 2001

+

New Mesa website

+

Mark Manning (markem@ev1.net) produced the new website.
+Thanks, Mark!

+ + +

February 14, 2001

+

Mesa 3.4.1 has been released. Here's what's new:

+
    New:
+        - fixed some Linux build problems
+        - fixed some Windows build problems
+        - GL_EXT_texture_env_dot3 extension (Gareth Hughes)
+    Bug fixes:
+        - added RENDER_START/RENDER_FINISH macros for glCopyTexImage in DRI
+        - various state-update code changes needed for DRI bugs
+        - disabled pixel transfer ops in glColorTable commands, not needed
+        - fixed bugs in glCopyConvolutionFilter1D/2D, glGetConvolutionFilter
+        - updated sources and fixed compile problems in widgets-mesa/
+        - GLX_PBUFFER enum value was wrong in glx.h
+        - fixed a glColorMaterial lighting bug
+        - fixed bad args to Read/WriteStencilSpan in h/w stencil clear function
+        - glXCopySubBufferMESA() Y position was off by one
+        - Error checking of glTexSubImage3D() was broken (bug 128775)
+        - glPopAttrib() didn't restore all derived Mesa state correctly
+        - Better glReadPixels accuracy for 16bpp color - fixes lots of OpenGL
+          conformance problems at 16bpp.
+        - clearing depth buffer with scissoring was broken, would segfault
+        - OSMesaGetDepthBuffer() returned bad bytesPerValue value
+        - fixed a line clipping bug (reported by Craig McDaniel)
+        - fixed RGB color over/underflow bug for very tiny triangles
+    Known problems:
+        - NURBS or evaluator surfaces inside display lists don't always work
+
+

+

November 3, 2000

+

Mesa 3.4 has been released. Here's what's new since the 3.3 release:

+
    New:
+    - optimized glDrawPixels for glPixelZoom(1,-1)
+    Bug Fixes:
+    - widgets-mesa/src/*.c files were missing from 3.3 distro
+    - include/GL/mesa_wgl.h file was missing from 3.3 distro
+    - fixed some Win32 compile problems
+    - texture object priorities weren't getting initialized to 1.0
+    - glAreTexturesResident return value was wrong when using hardware
+    - glXUseXFont segfaulted when using 3dfx driver (via MESA_GLX_FX)
+    - glReadPixels with GLushort packed types was broken
+    - fixed a few bugs in the GL_EXT_texture_env_combine texture code
+    - glPush/PopAttrib(GL_ENABLE_BIT) mishandled multi-texture enables
+    - fixed some typos/bugs in the VB code
+    - glDrawPixels(GL_COLOR_INDEX) to RGB window didn't work
+    - optimized glDrawPixels paths weren't being used
+    - per-fragment fog calculation didn't work without a Z buffer
+    - improved blending accuracy, fixes Glean  blendFunc test failures
+    - glPixelStore(GL_PACK/UNPACK_SKIP_IMAGES) wasn't handled correctly
+    - glXGetProcAddressARB() didn't always return the right address
+    - gluBuild[12]DMipmaps() didn't grok the GL_BGR pixel format
+    - texture matrix changes weren't always detected (GLUT projtex demo)
+    - fixed random color problem in vertex fog code
+    - fixed Glide-related bug that let Quake get a 24-bit Z buffer
+    Changes:
+    - finished internal support for compressed textures for DRI
+
+

+

April 24, 2000

+

Mesa 3.2 has been released. Here's what's new since the beta release:

+
    Bug fixes:
+    - fixed memcpy bugs in span.c
+    - fixed missing glEnd problem in demos/tessdemo.c
+    - fixed bug when clearing 24bpp Ximages
+    - fixed clipping problem found in Unreal Tournament
+    - fixed Loki's "ice bug" and "crazy triangles" seen in Heretic2
+    - fixed Loki's 3dfx RGB vs BGR bug
+    - fixed Loki's 3dfx smooth/flat shading bug in SoF
+    Changes:
+    - updated docs/README file
+    - use bcopy() optimizations on FreeBSD
+    - re-enabled the optimized persp_textured_triangle() function
+
+

+

March 23, 2000

+

I've just upload the Mesa 3.2 beta 1 files to SourceForge at http://sourceforge.net/project/filelist.php?group_id=3

+

3.2 (note even number) is a stabilization release of Mesa 3.1 meaning it's mainly +just bug fixes.

+

Here's what's changed: + +

+ +

Please report any problems with this release ASAP. Bugs should be filed on the +Mesa3D website at sourceforge.
+After 3.2 is wrapped up I hope to release 3.3 beta 1 soon afterward.

+

-- Brian

+

+

December 17, 1999

+

A Slashdot interview with Brian about Mesa (questions submitted by Slashdot readers) +can be found at http://slashdot.org/interviews/99/12/17/0927212.shtml.

+

+

December 14, 1999

+

Mesa 3.1 is released!

+

+

September 21, 1999

+

There appear to be two new files on the ftp site, MesaLib-3.1beta3.tar.gz +and MesaDemos-3.1beta3.tar.gz, +that seem to be... yes, I've just received confirmation from the beta center, they +are indeed the THIRD beta release of Mesa 3.1! Happy Days. Happy Days. Thanks +Keith Whitwell for preparing these for us during Brian's absence.

+

+

September 17, 1999

+

Re: Brian's email address: Do not send mail to me @ avid.com since I no longer +I won't be regularly reading email until October 11.

+

+

August 30, 1999

+

I'm pleased to announce that I've accepted a position with Precision Insight, +Inc. effective October, 1999. I'll be leaving Avid Technology in September.

+

I've been working on Mesa in my spare time for over five years. With Precision +Insight I now have the opportunity to devote my full attention to advancing Mesa +and OpenGL on Linux.

+

While I'll be focused on Linux, the X Window System, and hardware acceleration, +my work will continue to be open sourced and available to any other programmers who +may want to contribute to it, or use it for other projects or platforms

+

PS: I'm going to be traveling until Sep 6 and won't be reading email until then.

+

+

August 23, 1999

+

Anonymous CVS access is back online so suck up all the bandwidth you can afford. +Note that this is a new archive, so you will need to re-checkout the archive. That +means don't cvs update from a previous download.

+

+

August 17, 1999

+

A report from the SIGGRAPH '99 Linux/OpenGL +BOF meeting is now available.

+

-Brian

+

+

August 14, 1999

+

www.mesa3d.org is having technical problems due to hardware failures at VA Linux +systems. The Mac pages, ftp, and CVS services aren't fully restored yet. Please be +patient.

+

-Brian

+

+

June 7, 1999

+

RPMS of the nVidia RIVA server can be found at ftp://ftp.mesa3d.org/mesa/misc/nVidia/.

+

+

June 2, 1999

+

nVidia has released some Linux binaries for +xfree86 3.3.3.1, along with the full source, which includes GLX acceleration +based on Mesa 3.0. They can be downloaded from http://www.nvidia.com/Products.nsf/htmlmedia/software_drivers.html.

+

+

May 24, 1999

+

Beta 2 of Mesa 3.1 has been make available at ftp://ftp.mesa3d.org/mesa/beta/. +If you are into the quake scene, you may want to try this out, as it contains some +optimizations specifically in the Q3A rendering path. Remember to report any bugs +submitted bugs are at http://www.mail-archive.com/mesa-bugs@mesa3d.org/.

+

+

May 13, 1999

+

For those interested in the integration of Mesa into XFree86 4.0, Precision Insight +has posted their lowlevel design documents at http://www.precisioninsight.com/piinsights.html.

+

+

May 13, 1999

+
May 1999 - John Carmack of id Software, Inc. has made a donation of
+US$10,000 to the Mesa project to support its continuing development.
+Mesa is a free implementation of the OpenGL 3D graphics library and id's
+newest game, Quake 3 Arena, will use Mesa as the 3D renderer on Linux.
+
+The donation will go to Keith Whitwell, who has been optimizing Mesa to
+improve performance on 3d hardware.  Thanks to Keith's work, many
+applications using Mesa 3.1 will see a dramatic performance increase
+over Mesa 3.0.  The donation will allow Keith to continue working on
+Mesa full time for some time to come.
+
+For more information about Mesa see www.mesa3d.org.  For more
+information about id Software, Inc. see www.idsoftware.com.
+
+--------------------------------
+
+This donation from John/id is very generous.  Keith and I are very
+grateful.
+
+
+

+

May 1, 1999

+

John Carmack made an interesting .plan update yesterday: + +

+ +

+

April 7, 1999

+

Updated the Mesa contributors section and added links to RPM Mesa packages.

+

+

March 18, 1999

+

The new webpages are now online. Enjoy, and let me know if you find any errors. +For an eye-candy free version you can use http://www.mesa3d.org/txt/.

+

+

February 16, 1999

+

SGI releases its GLX +source code.

+

+

January 22, 1999

+

www.mesa3d.org established

+ + +

+ + +
+$Id: news.html,v 3.1 2003/03/08 17:38:57 brianp Exp $ + + \ No newline at end of file diff --git a/docs/osmesa.html b/docs/osmesa.html new file mode 100644 index 00000000000..ace42001131 --- /dev/null +++ b/docs/osmesa.html @@ -0,0 +1,74 @@ + + +Off-screen Rendering + + + +

Off-screen Rendering

+ + +

+Mesa 1.2.4 introduced off-screen rendering, a facility for generating +3-D imagery without having to open a window on your display. Mesa's +simple off-screen rendering interface is completely operating system +and window system independent so programs which use off-screen +rendering should be very portable. This feature effectively +enables you to use Mesa as an off-line, batch-oriented renderer. +

+

+The "OSMesa" API provides 3 functions for making off-screen +renderings: OSMesaCreateContext(), OSMesaMakeCurrent(), and +OSMesaDestroyContext(). See the Mesa/include/GL/osmesa.h header for +more information. See the demos/osdemo.c file for an example program. +There is no facility for writing images to files. That's up to you. +

+

+If you want to generate large images (larger than 1280x1024) you'll +have to edit the src/config.h file to change MAX_WIDTH and MAX_HEIGHT +then recompile Mesa. Image size should only be limited by available +memory. +

+ + +

Deep color channels

+ +

+ For some applications 8-bit color channels don't have sufficient + accuracy (film and IBR, for example). If you're in this situation + you'll be happy to know that Mesa supports 16-bit and 32-bit color + channels through the OSMesa interface. When using 16-bit channels, + channels are GLushorts and pixels occupy 8 bytes. When using 32-bit + channels, channels are GLfloats and pixels occupy 16 bytes. +

+

+ To build Mesa/OSMesa with 16-bit color channels: +

+      cd Mesa-4.x/src
+      make -f Makefile.X11 clean
+      make -f Makefile.OSMesa16 linux-osmesa16
+
+ + For 32-bit channels: +
+      cd Mesa-4.x/src
+      make -f Makefile.X11 clean
+      make -f Makefile.OSMesa16 linux-osmesa32
+
+ +

+If you're not using Linux, you can easily edit Make-config and add +an appropriate configuration. +

+

+The Mesa/tests/osdemo16.c file (available via CVS) demonstrates how +to use this feature. +

+

+BE WARNED: 16 and 32-bit channel support has not been exhaustively +tested and there may be some bugs. However, a number of people have +been using this feature successfully so it can't be too broken. +

+ + + + diff --git a/docs/perf.html b/docs/perf.html new file mode 100644 index 00000000000..89f6eae75c9 --- /dev/null +++ b/docs/perf.html @@ -0,0 +1,66 @@ + + +Performance Tips + + + +

Performance Tips

+ +

+Performance tips for software rendering: +

+
    + +
  1. Turn off smooth shading when you don't need it (glShadeModel) +
  2. Turn off depth buffering when you don't need it. +
  3. Turn off dithering when not needed. +
  4. Use double buffering as it's often faster than single buffering +
  5. Compile in the X Shared Memory extension option if it's supported + on your system by adding -DSHM to CFLAGS and -lXext to XLIBS for + your system in the Make-config file. +
  6. Recompile Mesa with more optimization if possible. +
  7. Try to maximize the amount of drawing done between glBegin/glEnd pairs. +
  8. Use the MESA_BACK_BUFFER variable to find best performance in double + buffered mode. (X users only) +
  9. Optimized polygon rasterizers are employed when: + rendering into back buffer which is an XImage + RGB mode, not grayscale, not monochrome + depth buffering is GL_LESS, or disabled + flat or smooth shading + dithered or non-dithered + no other rasterization operations enabled (blending, stencil, etc) +
  10. Optimized line drawing is employed when: + rendering into back buffer which is an XImage + RGB mode, not grayscale, not monochrome + depth buffering is GL_LESS or disabled + flat shading + dithered or non-dithered + no other rasterization operations enabled (blending, stencil, etc) +
  11. Textured polygons are fastest when: + using a 3-component (RGB), 2-D texture + minification and magnification filters are GL_NEAREST + texture coordinate wrap modes for S and T are GL_REPEAT + GL_DECAL environment mode + glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST ) + depth buffering is GL_LESS or disabled +
  12. Lighting is fastest when: + Two-sided lighting is disabled + GL_LIGHT_MODEL_LOCAL_VIEWER is false + GL_COLOR_MATERIAL is disabled + No spot lights are used (all GL_SPOT_CUTOFFs are 180.0) + No local lights are used (all position W's are 0.0) + All material and light coefficients are >= zero +
  13. XFree86 users: if you want to use 24-bit color try starting your + X server in 32-bit per pixel mode for better performance. That is, + start your X server with + startx -- -bpp 32 + instead of + startx -- -bpp 24 +
  14. Try disabling dithering with the MESA_NO_DITHER environment variable. + If this env var is defined Mesa will disable dithering and the + command glEnable(GL_DITHER) will be ignored. +
+ + + + diff --git a/docs/relnotes.html b/docs/relnotes.html new file mode 100644 index 00000000000..1ac28614f25 --- /dev/null +++ b/docs/relnotes.html @@ -0,0 +1,33 @@ + + +Mesa Release Notes + + + +

Release Notes

+ +

+The release notes summarize what's new or changed in each Mesa release. +

+ + + + + + diff --git a/docs/science.html b/docs/science.html new file mode 100644 index 00000000000..d5686e0dd50 --- /dev/null +++ b/docs/science.html @@ -0,0 +1,64 @@ + + +Science and Technical + + + +

Science and Technical

+ + + + + \ No newline at end of file diff --git a/docs/sourcedocs.html b/docs/sourcedocs.html new file mode 100644 index 00000000000..21032fe7ba5 --- /dev/null +++ b/docs/sourcedocs.html @@ -0,0 +1,24 @@ + + +Source Code Documentation + + + +

Source Code Documentation

+ +

+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. +

+ +

+If you're reading this page from your local copy of Mesa, and have +run the doxygen scripts, you can read the documentation +here +

+ + + diff --git a/docs/subset.html b/docs/subset.html new file mode 100644 index 00000000000..b1fed668b71 --- /dev/null +++ b/docs/subset.html @@ -0,0 +1,26 @@ + + +Mesa Subset + + + +

Mesa Subset

+ +

+In 2002/2003 Tungsten Graphics was contracted to develop a subset Mesa/Radeon +driver for an embedded environment. The result is a reduced-size DRI driver +for the ATI R200 chip, for use with Linux fbdev rather than XFree86. +

+ +

+The specification for this subset can be found +here. +

+ +

+More info to come... +

+ + + + diff --git a/docs/systems.html b/docs/systems.html new file mode 100644 index 00000000000..46661d6042f --- /dev/null +++ b/docs/systems.html @@ -0,0 +1,109 @@ + + +Supported Systems and Drivers + + + +

Supported Systems and Drivers

+ +

+Mesa was originally designed for Unix/X11 systems and is still best +supported on those systems. All you need is an ANSI C compiler and the +X development environment to use Mesa. +

+ +

Others have contributed drivers +for the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, Windows +9x/NT, and Direct3D. +

+ +

+The following files describe the details for various platforms. +Be warned, some of these files (and drivers) may be very out of date. +

+ + + + +

+The standard Mesa distribution only supports software-based rendering, with +the exception of the 3Dfx Glide driver. +Information about other hardware support follows. +

+ + + +

+Note: +If you have NVIDIA hardware in your computer, +you should download and install NVIDIA's OpenGL library. You may +however, want to download Mesa in order to use its GLU and GLUT +libraries, or assorted demo programs.

+ + + + \ No newline at end of file diff --git a/docs/thanks.html b/docs/thanks.html new file mode 100644 index 00000000000..d5bb8fa1413 --- /dev/null +++ b/docs/thanks.html @@ -0,0 +1,139 @@ + + + +Acknowledgements + + + + +

Acknowledgments

+ + +The following individuals and groups are to be acknowledged for their +contributions to Mesa over the years. + + + + +

+Apologies to anyone who's been omitted. +Please send corrections and additions to Brian. +

+ + + + diff --git a/docs/utilities.html b/docs/utilities.html new file mode 100644 index 00000000000..f8dbc977fdd --- /dev/null +++ b/docs/utilities.html @@ -0,0 +1,20 @@ + + +Development Utilities + + + +

Development Utilities

+ + + + + \ No newline at end of file diff --git a/docs/utility.html b/docs/utility.html new file mode 100644 index 00000000000..3bbc2c70093 --- /dev/null +++ b/docs/utility.html @@ -0,0 +1,42 @@ + + +Utilities + + + +

Utilities

+ + + + + + diff --git a/docs/webmaster.html b/docs/webmaster.html new file mode 100644 index 00000000000..8688ae08c9a --- /dev/null +++ b/docs/webmaster.html @@ -0,0 +1,22 @@ + + +Mesa Introduction + + + +

Webmaster

+ +

+If you have problems, edits or additions for this website send them +to Brian. I'm not a skilled +webmaster but I'll do my best. +

+ +

+Mark Manning made the frame-based layout for the website. +Brian's modified it a lot since then. +

+ + + + \ No newline at end of file -- 2.30.2