• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

OLD/22-Nov-2023-1,139754

ARB_color_buffer_float.txtD22-Nov-2023459 53

COPYINGD22-Nov-202324.9 KiB491403

GL3.txtD22-Nov-20238.6 KiB164133

MESA_agp_offset.specD22-Nov-20232 KiB9656

MESA_copy_sub_buffer.specD22-Nov-20232.2 KiB9757

MESA_drm_image.specD22-Nov-20235.2 KiB154106

MESA_multithread_makecurrent.specD22-Nov-20234.8 KiB159107

MESA_pack_invert.specD22-Nov-20233.6 KiB13984

MESA_pixmap_colormap.specD22-Nov-20231.9 KiB9151

MESA_release_buffers.specD22-Nov-20231.7 KiB8648

MESA_resize_buffers.specD22-Nov-20231.8 KiB8248

MESA_set_3dfx_mode.specD22-Nov-20231.7 KiB8648

MESA_shader_debug.specD22-Nov-20236.8 KiB265173

MESA_swap_control.specD22-Nov-20233.2 KiB13078

MESA_swap_frame_usage.specD22-Nov-20236.6 KiB202136

MESA_texture_array.specD22-Nov-202335.5 KiB805581

MESA_texture_signed_rgba.specD22-Nov-20238 KiB215144

MESA_window_pos.specD22-Nov-20233.7 KiB12786

MESA_ycbcr_texture.specD22-Nov-20236.5 KiB205131

README.CYGWIND22-Nov-20239.9 KiB257181

README.MITSD22-Nov-20233.2 KiB10367

README.QUAKED22-Nov-20236.5 KiB208137

README.THREADSD22-Nov-20231.7 KiB5335

README.VMSD22-Nov-20231.6 KiB3930

README.WIN32D22-Nov-20231.3 KiB5432

RELNOTES-3.1D22-Nov-20233.8 KiB14689

RELNOTES-3.2D22-Nov-2023313 125

RELNOTES-3.2.1D22-Nov-2023802 3217

RELNOTES-3.3D22-Nov-20237.6 KiB271175

RELNOTES-3.4D22-Nov-2023546 2211

RELNOTES-3.4.1D22-Nov-2023584 2211

RELNOTES-3.4.2D22-Nov-2023584 2211

RELNOTES-3.5D22-Nov-20236.7 KiB228151

RELNOTES-4.0D22-Nov-20234.3 KiB163121

RELNOTES-4.0.1D22-Nov-2023564 2211

RELNOTES-4.0.2D22-Nov-20231.4 KiB5033

RELNOTES-4.0.3D22-Nov-20231.5 KiB5234

RELNOTES-4.1D22-Nov-202310.5 KiB308203

RELNOTES-5.0D22-Nov-20232.1 KiB8560

RELNOTES-5.0.1D22-Nov-20231.3 KiB4630

RELNOTES-5.0.2D22-Nov-20231.3 KiB4630

RELNOTES-5.1D22-Nov-20239.7 KiB280201

RELNOTES-6.0D22-Nov-20232.3 KiB8755

RELNOTES-6.0.1D22-Nov-20231.4 KiB5034

RELNOTES-6.1D22-Nov-20233.4 KiB11277

RELNOTES-6.2D22-Nov-20231.3 KiB5231

RELNOTES-6.2.1D22-Nov-20231.3 KiB5030

RELNOTES-6.3D22-Nov-20233.2 KiB11568

RELNOTES-6.3.1D22-Nov-20231 KiB4928

RELNOTES-6.3.2D22-Nov-2023903 3723

RELNOTES-6.4D22-Nov-20231.2 KiB5030

VERSIONSD22-Nov-202365.3 KiB1,5151,421

WL_bind_wayland_display.specD22-Nov-20236.3 KiB176123

autoconf.htmlD22-Nov-20239.4 KiB240208

banner.htmlD22-Nov-20231,004 3414

bugs.htmlD22-Nov-20231.6 KiB5546

conform.htmlD22-Nov-202318 KiB697618

contents.htmlD22-Nov-20234.1 KiB10784

debugging.htmlD22-Nov-20231.3 KiB4035

developers.htmlD22-Nov-20231.3 KiB5143

devinfo.htmlD22-Nov-20236.3 KiB248203

dispatch.htmlD22-Nov-202311.8 KiB271221

download.htmlD22-Nov-20232.5 KiB11290

egl.htmlD22-Nov-202311.6 KiB322230

enums.txtD22-Nov-20231.9 KiB5846

envvars.htmlD22-Nov-20236.8 KiB173142

extensions.htmlD22-Nov-20231.3 KiB3630

faq.htmlD22-Nov-202312.4 KiB394335

games.htmlD22-Nov-20233.3 KiB6561

gears.pngD22-Nov-20231.6 KiB

helpwanted.htmlD22-Nov-20232.9 KiB8978

index.htmlD22-Nov-2023771 3020

install.htmlD22-Nov-20235.6 KiB206166

intro.htmlD22-Nov-20239.6 KiB349296

libGL.txtD22-Nov-20236.8 KiB198129

libraries.htmlD22-Nov-20234.6 KiB5954

license.htmlD22-Nov-20233.5 KiB10783

lists.htmlD22-Nov-20232.8 KiB8872

llvmpipe.htmlD22-Nov-20235.2 KiB206159

mangling.htmlD22-Nov-2023835 3226

mesa.cssD22-Nov-2023516 3427

modelers.htmlD22-Nov-20233.3 KiB6661

news.htmlD22-Nov-202351.7 KiB1,4041,210

opengles.htmlD22-Nov-20232.1 KiB6345

openvg.htmlD22-Nov-20231.4 KiB5241

osmesa.htmlD22-Nov-20232.5 KiB9074

patents.txtD22-Nov-20231.4 KiB3224

perf.htmlD22-Nov-20232.8 KiB7064

postprocess.htmlD22-Nov-20231.6 KiB5844

precompiled.htmlD22-Nov-2023570 2218

relnotes-6.4.1.htmlD22-Nov-20232.1 KiB6857

relnotes-6.4.2.htmlD22-Nov-20232 KiB7562

relnotes-6.4.htmlD22-Nov-20233 KiB9077

relnotes-6.5.1.htmlD22-Nov-20234.8 KiB139117

relnotes-6.5.2.htmlD22-Nov-20234.1 KiB126109

relnotes-6.5.3.htmlD22-Nov-20233.9 KiB119100

relnotes-6.5.htmlD22-Nov-20233.7 KiB131108

relnotes-7.0.1.htmlD22-Nov-20233 KiB10185

relnotes-7.0.2.htmlD22-Nov-20232.9 KiB8876

relnotes-7.0.3.htmlD22-Nov-20232.8 KiB8471

relnotes-7.0.4.htmlD22-Nov-20232.5 KiB8066

relnotes-7.0.htmlD22-Nov-20232.6 KiB9377

relnotes-7.1.htmlD22-Nov-20232.7 KiB9479

relnotes-7.10.1.htmlD22-Nov-202317 KiB376302

relnotes-7.10.2.htmlD22-Nov-20237.4 KiB204163

relnotes-7.10.3.htmlD22-Nov-202313.3 KiB301247

relnotes-7.10.htmlD22-Nov-2023152.8 KiB2,7912,671

relnotes-7.11.1.htmlD22-Nov-202317 KiB389321

relnotes-7.11.2.htmlD22-Nov-20232.5 KiB8364

relnotes-7.11.htmlD22-Nov-202321.6 KiB346208

relnotes-7.2.htmlD22-Nov-20233 KiB10487

relnotes-7.3.htmlD22-Nov-20232.6 KiB9378

relnotes-7.4.1.htmlD22-Nov-20232.4 KiB7967

relnotes-7.4.2.htmlD22-Nov-20232.2 KiB7462

relnotes-7.4.3.htmlD22-Nov-20232.4 KiB7967

relnotes-7.4.4.htmlD22-Nov-20231.8 KiB6856

relnotes-7.4.htmlD22-Nov-20232.5 KiB8974

relnotes-7.5.1.htmlD22-Nov-20232.4 KiB7261

relnotes-7.5.2.htmlD22-Nov-20232.1 KiB6757

relnotes-7.5.htmlD22-Nov-20233.7 KiB10290

relnotes-7.6.1.htmlD22-Nov-20232.7 KiB8068

relnotes-7.6.htmlD22-Nov-20233.3 KiB8474

relnotes-7.7.1.htmlD22-Nov-20231.9 KiB6051

relnotes-7.7.htmlD22-Nov-20232.3 KiB7058

relnotes-7.8.1.htmlD22-Nov-20232 KiB6251

relnotes-7.8.2.htmlD22-Nov-20235.3 KiB146127

relnotes-7.8.3.htmlD22-Nov-20233.1 KiB8976

relnotes-7.8.htmlD22-Nov-20232.2 KiB7058

relnotes-7.9.1.htmlD22-Nov-202319.3 KiB404331

relnotes-7.9.2.htmlD22-Nov-202314.8 KiB333263

relnotes-7.9.htmlD22-Nov-20239.7 KiB137125

relnotes-8.0.1.htmlD22-Nov-20235 KiB151112

relnotes-8.0.2.htmlD22-Nov-20235 KiB158119

relnotes-8.0.3.htmlD22-Nov-202312 KiB317253

relnotes-8.0.4.htmlD22-Nov-20237.4 KiB202161

relnotes-8.0.htmlD22-Nov-20232.6 KiB8168

relnotes-9.0.1.htmlD22-Nov-20235.1 KiB160128

relnotes-9.0.2.htmlD22-Nov-20239.9 KiB283229

relnotes-9.0.3.htmlD22-Nov-20239.8 KiB238190

relnotes-9.0.htmlD22-Nov-20232.8 KiB9376

relnotes.htmlD22-Nov-20234.4 KiB10395

repository.htmlD22-Nov-20235.7 KiB218191

science.htmlD22-Nov-20233.6 KiB7267

shading.htmlD22-Nov-20236.7 KiB258210

sourcedocs.htmlD22-Nov-20231.2 KiB3931

sourcetree.htmlD22-Nov-20236.8 KiB160153

subset-A.htmlD22-Nov-2023138.6 KiB3,5733,572

subset.htmlD22-Nov-2023667 2621

systems.htmlD22-Nov-20232.2 KiB9077

thanks.htmlD22-Nov-20234 KiB13492

utilities.htmlD22-Nov-20231 KiB3427

utility.htmlD22-Nov-20231.2 KiB4330

versions.htmlD22-Nov-202361.8 KiB1,6561,565

viewperf.htmlD22-Nov-20236.3 KiB202162

vmware-guest.htmlD22-Nov-20236.2 KiB199167

webmaster.htmlD22-Nov-2023765 2620

xlibdriver.htmlD22-Nov-20238.8 KiB277241

README.CYGWIN

1
2                          Mesa Cygwin/X11 Information
3
4
5WARNING
6=======
7
8If you installed X11 (packages xorg-x11-devel and xorg-x11-bin-dlls ) with the
9latest setup.exe from Cygwin the GL (Mesa) libraries and include are already
10installed in /usr/X11R6.
11
12The following will explain how to "replace" them.
13
14Installation
15============
16
17How to compile Mesa on Cygwin/X11 systems:
18
191. Shared libs:
20    type 'make cygwin-sl'.
21
22    When finished, the Mesa DLL will be in the Mesa-x.y/lib/ and
23    Mesa-x.y/bin directories.
24
25
262. Static libs:
27    type 'make cygwin-static'.
28    When finished, the Mesa libraries will be in the Mesa-x.y/lib/ directory.
29
30Header and library files:
31   After you've compiled Mesa and tried the demos I recommend the following
32   procedure for "installing" Mesa.
33
34   Copy the Mesa include/GL directory to /usr/X11R6/include:
35	cp -a include/GL /usr/X11R6/include
36
37   Copy the Mesa library files to /usr/X11R6/lib:
38	cp -a lib/* /usr/X11R6ocal/lib
39
40   Copy the Mesa bin files (used by the DLL stuff) to /usr/X11R6/bin:
41	cp -a lib/cyg* /usr/X11R6/bin
42
43Xt/Motif widgets:
44   If you want to use Mesa or OpenGL in your Xt/Motif program you can build
45   the widgets found in either the widgets-mesa or widgets-sgi directories.
46   The former were written for Mesa and the later are the original SGI
47   widgets.  Look in those directories for more information.
48   For the Motif widgets you must have downloaded the lesstif package.
49
50
51Using the library
52=================
53
54Configuration options:
55   The file src/mesa/main/config.h has many parameters which you can adjust
56   such as maximum number of lights, clipping planes, maximum texture size,
57   etc.  In particular, you may want to change DEPTH_BITS from 16 to 32
58   if a 16-bit depth buffer isn't precise enough for your application.
59
60
61Shared libraries:
62   If you compile shared libraries (Win32 DLLS) you may have to set an
63   environment variable to specify where the Mesa libraries are located.
64   Set the PATH variable to include /your-dir/Mesa-2.6/bin.
65   Otherwise, when you try to run a demo it may fail with a message saying
66   that one or more DLL couldn't be found.
67
68
69Xt/Motif Widgets:
70   Two versions of the Xt/Motif OpenGL drawing area widgets are included:
71
72      widgets-sgi/	SGI's stock widgets
73      widgets-mesa/	Mesa-tuned widgets
74
75   Look in those directories for details
76
77
78Togl:
79   Togl is an OpenGL/Mesa widget for Tcl/Tk.
80   See http://togl.sourceforge.net for more information.
81
82
83
84X Display Modes:
85   Mesa supports RGB(A) rendering into almost any X visual type and depth.
86
87   The glXChooseVisual function tries its best to pick an appropriate visual
88   for the given attribute list.  However, if this doesn't suit your needs
89   you can force Mesa to use any X visual you want (any supported by your
90   X server that is) by setting the MESA_RGB_VISUAL and MESA_CI_VISUAL
91   environment variables.  When an RGB visual is requested, glXChooseVisual
92   will first look if the MESA_RGB_VISUAL variable is defined.  If so, it
93   will try to use the specified visual.  Similarly, when a color index
94   visual is requested, glXChooseVisual will look for the MESA_CI_VISUAL
95   variable.
96
97   The format of accepted values is:  <visual-class> <depth>
98   Here are some examples:
99
100   using the C-shell:
101	% setenv MESA_RGB_VISUAL "TrueColor 8"		// 8-bit TrueColor
102	% setenv MESA_CI_VISUAL "PseudoColor 12"	// 12-bit PseudoColor
103	% setenv MESA_RGB_VISUAL "PseudoColor 8"	// 8-bit PseudoColor
104
105   using the KornShell:
106	$ export MESA_RGB_VISUAL="TrueColor 8"
107	$ export MESA_CI_VISUAL="PseudoColor 12"
108	$ export MESA_RGB_VISUAL="PseudoColor 8"
109
110
111Double buffering:
112   Mesa can use either an X Pixmap or XImage as the backbuffer when in
113   double buffer mode.  Using GLX, the default is to use an XImage.  The
114   MESA_BACK_BUFFER environment variable can override this.  The valid
115   values for MESA_BACK_BUFFER are:  Pixmap and XImage (only the first
116   letter is checked, case doesn't matter).
117
118   A pixmap is faster when drawing simple lines and polygons while an
119   XImage is faster when Mesa has to do pixel-by-pixel rendering.  If you
120   need depth buffering the XImage will almost surely be faster.  Exper-
121   iment with the MESA_BACK_BUFFER variable to see which is faster for
122   your application.
123
124
125Colormaps:
126   When using Mesa directly or with GLX, it's up to the application writer
127   to create a window with an appropriate colormap.  The aux, tk, and GLUT
128   toolkits try to minimize colormap "flashing" by sharing colormaps when
129   possible.  Specifically, if the visual and depth of the window matches
130   that of the root window, the root window's colormap will be shared by
131   the Mesa window.  Otherwise, a new, private colormap will be allocated.
132
133   When sharing the root colormap, Mesa may be unable to allocate the colors
134   it needs, resulting in poor color quality.  This can happen when a
135   large number of colorcells in the root colormap are already allocated.
136   To prevent colormap sharing in aux, tk and GLUT, define the environment
137   variable MESA_PRIVATE_CMAP.  The value isn't significant.
138
139
140Gamma correction:
141   To compensate for the nonlinear relationship between pixel values
142   and displayed intensities, there is a gamma correction feature in
143   Mesa.  Some systems, such as Silicon Graphics, support gamma
144   correction in hardware (man gamma) so you won't need to use Mesa's
145   gamma facility.  Other systems, however, may need gamma adjustment
146   to produce images which look correct.  If in the past you thought
147   Mesa's images were too dim, read on.
148
149   Gamma correction is controlled with the MESA_GAMMA environment
150   variable.  Its value is of the form "Gr Gg Gb" or just "G" where
151   Gr is the red gamma value, Gg is the green gamma value, Gb is the
152   blue gamma value and G is one gamma value to use for all three
153   channels.  Each value is a positive real number typically in the
154   range 1.0 to 2.5.  The defaults are all 1.0, effectively disabling
155   gamma correction.  Examples using csh:
156
157	% setenv MESA_GAMMA "2.3 2.2 2.4"	// separate R,G,B values
158	% setenv MESA_GAMMA "2.0"		// same gamma for R,G,B
159
160   The demos/gamma.c program may help you to determine reasonable gamma
161   value for your display.  With correct gamma values, the color intensities
162   displayed in the top row (drawn by dithering) should nearly match those
163   in the bottom row (drawn as grays).
164
165   Alex De Bruyn reports that gamma values of 1.6, 1.6 and 1.9 work well
166   on HP displays using the HP-ColorRecovery technology.
167
168   Mesa implements gamma correction with a lookup table which translates
169   a "linear" pixel value to a gamma-corrected pixel value.  There is a
170   small performance penalty.  Gamma correction only works in RGB mode.
171   Also be aware that pixel values read back from the frame buffer will
172   not be "un-corrected" so glReadPixels may not return the same data
173   drawn with glDrawPixels.
174
175   For more information about gamma correction see:
176   http://www.inforamp.net/~poynton/notes/colour_and_gamma/GammaFAQ.html
177
178
179Overlay Planes
180
181   Overlay planes in the frame buffer are supported by Mesa but require
182   hardware and X server support.  To determine if your X server has
183   overlay support you can test for the SERVER_OVERLAY_VISUALS property:
184
185	xprop -root | grep SERVER_OVERLAY_VISUALS
186
187
188HPCR glClear(GL_COLOR_BUFFER_BIT) dithering
189
190   If you set the MESA_HPCR_CLEAR environment variable then dithering
191   will be used when clearing the color buffer.  This is only applicable
192   to HP systems with the HPCR (Color Recovery) system.
193
194
195Extensions
196==========
197   There are three Mesa-specific GLX extensions at this time.
198
199   GLX_MESA_pixmap_colormap
200
201      This extension adds the GLX function:
202
203         GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
204                                           Pixmap pixmap, Colormap cmap )
205
206      It is an alternative to the standard glXCreateGLXPixmap() function.
207      Since Mesa supports RGB rendering into any X visual, not just True-
208      Color or DirectColor, Mesa needs colormap information to convert RGB
209      values into pixel values.  An X window carries this information but a
210      pixmap does not.  This function associates a colormap to a GLX pixmap.
211      See the xdemos/glxpixmap.c file for an example of how to use this
212      extension.
213
214   GLX_MESA_release_buffers
215
216      Mesa associates a set of ancillary (depth, accumulation, stencil and
217      alpha) buffers with each X window it draws into.  These ancillary
218      buffers are allocated for each X window the first time the X window
219      is passed to glXMakeCurrent().  Mesa, however, can't detect when an
220      X window has been destroyed in order to free the ancillary buffers.
221
222      The best it can do is to check for recently destroyed windows whenever
223      the client calls the glXCreateContext() or glXDestroyContext()
224      functions.  This may not be sufficient in all situations though.
225
226      The GLX_MESA_release_buffers extension allows a client to explicitly
227      deallocate the ancillary buffers by calling glxReleaseBuffersMESA()
228      just before an X window is destroyed.  For example:
229
230         #ifdef GLX_MESA_release_buffers
231            glXReleaseBuffersMESA( dpy, window );
232         #endif
233         XDestroyWindow( dpy, window );
234
235      This extension is new in Mesa 2.0.
236
237   GLX_MESA_copy_sub_buffer
238
239      This extension adds the glXCopySubBufferMESA() function.  It works
240      like glXSwapBuffers() but only copies a sub-region of the window
241      instead of the whole window.
242
243      This extension is new in Mesa version 2.6
244
245
246
247Summary of X-related environment variables:
248   MESA_RGB_VISUAL - specifies the X visual and depth for RGB mode (X only)
249   MESA_CI_VISUAL - specifies the X visual and depth for CI mode (X only)
250   MESA_BACK_BUFFER - specifies how to implement the back color buffer (X only)
251   MESA_PRIVATE_CMAP - force aux/tk libraries to use private colormaps (X only)
252   MESA_GAMMA - gamma correction coefficients (X only)
253
254
255----------------------------------------------------------------------
256README.CYGWIN - lassauge April 2004 - based on README.X11
257

README.MITS

1
2			Mesa 3.0 MITS Information
3
4
5This software is distributed under the terms of the GNU Library
6General Public License, see the LICENSE file for details.
7
8
9This document is a preliminary introduction to help you get
10started. For more detaile information consult the web page.
11
12http://10-dencies.zkm.de/~mesa/
13
14
15
16Version 0.1 (Yes it's very alpha code so be warned!)
17Contributors:
18  Emil Briggs    	(briggs@bucky.physics.ncsu.edu)
19  David Bucciarelli 	(tech.hmw@plus.it)
20  Andreas Schiffler 	(schiffler@zkm.de)
21
22
23
241. Requirements:
25     Mesa 3.0.
26     An SMP capable machine running Linux 2.x
27     libpthread installed on your machine.
28
29
302. What does MITS stand for?
31     MITS stands for Mesa Internal Threading System. By adding
32     internal threading to Mesa it should be possible to improve
33     performance of OpenGL applications on SMP machines.
34
35
363. Do applications have to be recoded to take advantage of MITS?
37     No. The threading is internal to Mesa and transparent to
38     applications.
39
40
414. Will all applications benefit from the current implementation of MITS?
42     No. This implementation splits the processing of the vertex buffer
43     over two threads. There is a certain amount of overhead involved
44     with the thread synchronization and if there is not enough work
45     to be done the extra overhead outweighs any speedup from using
46     dual processors. You will not for example see any speedup when
47     running Quake because it uses GL_POLYGON and there is only one
48     polygon for each vertex buffer processed. Test results on a
49     dual 200 Mhz. Pentium Pro system show that one needs around
50     100-200 vertices in the vertex buffer before any there is any
51     appreciable benefit from the threading.
52
53
545. Are there any parameters that I can tune to try to improve performance.
55     Yes. You can try to vary the size of the vertex buffer which is
56     define in VB_MAX located in the file src/vb.h from your top level
57     Mesa distribution. The number needs to be a multiple of 12 and
58     the optimum value will probably depend on the capabilities of
59     your machine and the particular application you are running.
60
61
626. Are there any ways I can modify the application to improve its
63   performance with the MITS?
64     Yes. Try to use as many vertices between each Begin/End pair
65     as possbile. This will reduce the thread synchronization
66     overhead.
67
68
697. What sort of speedups can I expect?
70     On some benchmarks performance gains of up to 30% have been
71     observerd. Others may see no gain at all and in a few rare
72     cases even some degradation.
73
74
758. What still needs to be done?
76     Lots of testing and benchmarking.
77     A portable implementation that works within the Mesa thread API.
78     Threading of additional areas of Mesa to improve performance
79     even more.
80
81
82
83Installation:
84
85   1. This assumes that you already have a working Mesa 3.0 installation
86      from source.
87   2. Place the tarball MITS.tar.gz in your top level Mesa directory.
88   3. Unzip it and untar it. It will replace the following files in
89      your Mesa source tree so back them up if you want to save them.
90
91
92	 README.MITS
93         Make-config
94	 Makefile
95	 mklib.glide
96         src/vbxform.c
97	 src/vb.h
98
99   4. Rebuild Mesa using the command
100
101          make linux-386-glide-mits
102
103

README.QUAKE

1
2             Info on using Mesa 3.0 with Linux Quake I and Quake II
3
4
5
6Disclaimer
7----------
8
9I am _not_ a Quake expert by any means.  I pretty much only run it to
10test Mesa.  There have been a lot of questions about Linux Quake and
11Mesa so I'm trying to provide some useful info here.  If this file
12doesn't help you then you should look elsewhere for help.  The Mesa
13mailing list or the news://news.3dfx.com/3dfx.linux.glide newsgroup
14might be good.
15
16Again, all the information I have is in this file.  Please don't email
17me with questions.
18
19If you have information to contribute to this file please send it to
20me at brianp@elastic.avid.com
21
22
23
24Linux Quake
25-----------
26
27You can get Linux Quake from http://www.idsoftware.com/
28
29Quake I and II for Linux were tested with, and include, Mesa 2.6.  You
30shouldn't have too many problems if you simply follow the instructions
31in the Quake distribution.
32
33
34
35RedHat 5.0 Linux problems
36-------------------------
37
38RedHat Linux 5.x uses the GNU C library ("glibc" or "libc6") whereas
39previous RedHat and other Linux distributions use "libc5" for its
40runtime C library.
41
42Linux Quake I and II were compiled for libc5.  If you compile Mesa
43on a RedHat 5.x system the resulting libMesaGL.so file will not work
44with Linux Quake because of the different C runtime libraries.
45The symptom of this is a segmentation fault soon after starting Quake.
46
47If you want to use a newer version of Mesa (like 3.x) with Quake on
48RedHat 5.x then read on.
49
50The solution to the C library problem is to force Mesa to use libc5.
51libc5 is in /usr/i486-linux-libc5/lib on RedHat 5.x systems.
52
53Emil Briggs (briggs@tick.physics.ncsu.edu) nicely gave me the following
54info:
55
56>   I only know what works on a RedHat 5.0 distribution. RH5 includes
57> a full set of libraries for both libc5 and glibc. The loader ld.so
58> uses the libc5 libraries in /usr/i486-linux-libc5/lib for programs
59> linked against libc5 while it uses the glibc libraries in /lib and
60> /usr/lib for programs linked against glibc.
61>
62> Anyway I changed line 41 of mklib.glide to
63>     GLIDELIBS="-L/usr/local/glide/lib -lglide2x -L/usr/i486-linux-libc5/lib"
64>
65> And I started quake2 up with a script like this
66> #!/bin/csh
67> setenv LD_LIBRARY_PATH /usr/i486-linux-libc5/lib
68> setenv MESA_GLX_FX f
69> ./quake2 +set vid_ref gl
70> kbd_mode -a
71> reset
72
73
74I've already patched the mklib.glide file.  You'll have to start Quake
75with the script shown above though.
76
77
78
79**********************
80
81Daryll Strauss writes:
82
83Here's my thoughts on the problem. On a RH 5.x system, you can NOT build
84a libc5 executable or library. Red Hat just doesn't include the right
85stuff to do it.
86
87Since Quake is a libc5 based application, you are in trouble. You need
88libc5 libraries.
89
90What can you do about it? Well there's a package called gcc5 that does
91MOST of the right stuff to compile with libc5. (It brings back older
92header files, makes appropriate symbolic links for libraries, and sets
93up the compiler to use the correct directories) You can find gcc5 here:
94ftp://ecg.mit.edu/pub/linux/gcc5-1.0-1.i386.rpm
95
96No, this isn't quite enough. There are still a few tricks to getting
97Mesa to compile as a libc5 application. First you have to make sure that
98every compile uses gcc5 instead of gcc. Second, in some cases the link
99line actually lists -L/usr/lib which breaks gcc5 (because it forces you
100to use the glibc version of things)
101
102If you get all the stuff correctly compiled with gcc5 it should work.
103I've run Mesa 3.0B6  and its demos in a window with my Rush on a Red Hat
1045.1 system. It is a big hassle, but it can be done. I've only made Quake
105segfault, but I think that's from my libRush using the wrong libc.
106
107Yes, mixing libc5 and glibc is a major pain. I've been working to get
108all my libraries compiling correctly with this setup. Someone should
109make an RPM out of it and feed changes back to Brian once they get it
110all working. If no one else has done so by the time I get the rest of my
111stuff straightened out, I'll try to do it myself.
112
113							- |Daryll
114
115
116
117*********************
118
119David Bucciarelli (tech.hmw@plus.it) writes:
120
121I'm using the Mesa-3.0beta7 and the RedHat 5.1 and QuakeII is
122working fine for me.  I had only to make a small change to the
123Mesa-3.0/mklib.glide file, from:
124
125
126    GLIDELIBS="-L/usr/local/glide/lib -lglide2x
127-L/usr/i486-linux-libc5/lib -lm"
128
129to:
130
131    GLIDELIBS="-L/usr/i486-linux-libc5/lib -lglide2x"
132
133and to make two symbolic links:
134
135[david@localhost Mesa]$ ln -s libMesaGL.so libMesaGL.so.2
136[david@localhost Mesa]$ ln -s libMesaGLU.so libMesaGLU.so.2
137
138I'm using the Daryll's Linux glide rpm for the Voodoo2 and glibc (it
139includes also the Glide for the libc5). I'm not using the /dev/3Dfx and
140running QuakeII as root with the following env. var:
141
142export
143LD_LIBRARY_PATH=/dsk1/home/david/src/gl/Mesa/lib:/usr/i486-linux-libc5/lib
144
145I think that all problems are related to the glibc, Quake will never
146work if you get the following output:
147
148[david@localhost Mesa]$ ldd lib/libMesaGL.so
149        libglide2x.so => /usr/lib/libglide2x.so (0x400f8000)
150        libm.so.6 => /lib/libm.so.6 (0x40244000)
151        libc.so.6 => /lib/libc.so.6 (0x4025d000)
152        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
153
154You must get the following outputs:
155
156[david@localhost Mesa]# ldd lib/libMesaGL.so
157        libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so
158(0x400f3000)
159
160[root@localhost quake2]# ldd quake2
161        libdl.so.1 => /lib/libdl.so.1 (0x40005000)
162        libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x40008000)
163        libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x40010000)
164
165[root@localhost quake2]# ldd ref_gl.so
166        libMesaGL.so.2 =>
167/dsk1/home/david/src/gl/Mesa/lib/libMesaGL.so.2 (0x400eb000)
168        libglide2x.so => /usr/i486-linux-libc5/lib/libglide2x.so
169(0x401d9000)
170        libX11.so.6 => /usr/i486-linux-libc5/lib/libX11.so.6
171(0x40324000)
172        libXext.so.6 => /usr/i486-linux-libc5/lib/libXext.so.6
173(0x403b7000)
174        libvga.so.1 => /usr/i486-linux-libc5/lib/libvga.so.1
175(0x403c1000)
176        libm.so.5 => /usr/i486-linux-libc5/lib/libm.so.5 (0x403f5000)
177        libc.so.5 => /usr/i486-linux-libc5/lib/libc.so.5 (0x403fd000)
178
179
180***********************
181
182Steve Davies (steve@one47.demon.co.uk) writes:
183
184
185Try using:
186
187    export LD_LIBRARY_PATH=/usr/i486-linux-libc5/lib
188    ./quake2 +set vid_ref gl
189
190to start the game... Works for me, but assumes that you have the
191compatability libc5 RPMs installed.
192
193
194***************************
195
196WWW resources - you may find additional Linux Quake help at these URLs:
197
198
199http://quake.medina.net/howto
200
201http://webpages.mr.net/bobz
202
203http://www.linuxgames.com/quake2/
204
205
206
207----------------------------------------------------------------------
208

README.THREADS

1
2
3Mesa Threads README
4-------------------
5
6Thread safety was introduced in Mesa 2.6 by John Stone and
7Christoph Poliwoda.
8
9It was redesigned in Mesa 3.3 so that thread safety is
10supported by default (on systems which support threads,
11that is).  There is no measurable penalty on single
12threaded applications.
13
14NOTE that the only _driver_ which is thread safe at this time
15is the OS/Mesa driver!
16
17
18At present the mthreads code supports three thread APIS:
19  1) POSIX threads (aka pthreads).
20  2) Solaris / Unix International threads.
21  3) Win32 threads (Win 95/NT).
22
23Support for other thread libraries can be added src/glthread.[ch]
24
25
26In order to guarantee proper operation, it is
27necessary for both Mesa and application code to use the same threads API.
28So, if your application uses Sun's thread API, then you should build Mesa
29using one of the targets for Sun threads.
30
31The mtdemos directory contains some example programs which use
32multiple threads to render to osmesa rendering context(s).
33
34Linux users should be aware that there exist many different POSIX
35threads packages. The best solution is the linuxthreads package
36(http://pauillac.inria.fr/~xleroy/linuxthreads/) as this package is the
37only one that really supports multiprocessor machines (AFAIK). See
38http://pauillac.inria.fr/~xleroy/linuxthreads/README for further
39information about the usage of linuxthreads.
40
41If you are interested in helping with thread safety work in Mesa
42join the Mesa developers mailing list and post your proposal.
43
44
45Regards,
46  John Stone           -- j.stone@acm.org  johns@cs.umr.edu
47  Christoph Poliwoda   -- poliwoda@volumegraphics.com
48
49
50Version info:
51   Mesa 2.6 - initial thread support.
52   Mesa 3.3 - thread support mostly rewritten (Brian Paul)
53

README.VMS

1
2VMS support contributed by Jouk Jansen (joukj@hrem.stm.tudelft.nl)
3
4
5The latest version was tested on a VMSAlpha7.2 system using DECC6.0, but
6probably also works for other versions.
7
8At the moment only the libraries LIBMESGL.EXE/LIBMESGL.OLB,
9LIBMESAGLU.EXE/LIBMESAGLU.OLB and LIBGLUT.EXE/LIBGLUT.OLB and the demos of the
10directory [.DEMOS] can be build.
11However, feel free to create the missing "decrip.mms-files" in the other
12directories.
13
14 The make files were tested
15using the DIGITAL make utility called MMS.  There is also a public domain
16clone available (MMK) and I  think, but it is not tested, that this
17utility will give (hardly) any problem.
18
19To make everything just type MMS (or MMK) in the main directory of
20mesagl.  For MMS the deafult makefile is called descrip.mms, and
21that is what I have called it.  I included alse some config files,
22all having mms somewhere in the name which all the makefiles need
23(just as your unix makefiles).
24
25On Alpha platforms at default a sharable images for the libraries are created.
26To get a static library make it by typing MMS/MACRO=(NOSHARE=1).
27On VAX platforms only static libraries can be build.
28
2923-sep-2005
30changed default compilation to use /float=ieee/ieee=denorm. The reason for
31this is that it makes Mesa on OpenVMS better compatible with other platforms
32and other packages for VMS that I maintain.
33For more information see
34      http://nchrem.tnw.tudelft.nl/openvms
35      https://bugs.freedesktop.org/show_bug.cgi?id=4270
36You may want to compile Mesa to use VAX-floating point arithmetic, instead
37of IEEE floating point by removing the /float=IEEE/denorm flag from the
38compiler options in the descrip.mms files.
39

README.WIN32

1File: docs/README.WIN32
2
3Last updated: 23 April 2011
4
5
6Quick Start
7----- -----
8
9Windows drivers are build with SCons.  Makefiles or Visual Studio projects are
10no longer shipped or supported.
11
12Run
13
14  scons osmesa mesagdi
15
16to build classic mesa Windows GDI drivers; or
17
18  scons libgl-gdi
19
20to build gallium based GDI driver.
21
22This will work both with MSVS or Mingw.
23
24
25Windows Drivers
26------- -------
27
28At this time, only the gallium GDI driver is known to work.
29
30Source code also exists in the tree for other drivers in
31src/mesa/drivers/windows, but the status of this code is unknown.
32
33
34General
35-------
36
37After building, you can copy the above DLL files to a place in your
38PATH such as $SystemRoot/SYSTEM32.  If you don't like putting things
39in a system directory, place them in the same directory as the
40executable(s).  Be careful about accidentially overwriting files of
41the same name in the SYSTEM32 directory.
42
43The DLL files are built so that the external entry points use the
44stdcall calling convention.
45
46Static LIB files are not built.  The LIB files that are built with are
47the linker import files associated with the DLL files.
48
49The si-glu sources are used to build the GLU libs.  This was done
50mainly to get the better tessellator code.
51
52If you have a Windows-related build problem or question, please post
53to the mesa-dev or mesa-users list.
54