Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
OLD/ | 03-May-2024 | - | 1,139 | 754 | ||
ARB_color_buffer_float.txt | D | 03-May-2024 | 459 | 5 | 3 | |
COPYING | D | 03-May-2024 | 24.9 KiB | 491 | 403 | |
GL3.txt | D | 03-May-2024 | 8.6 KiB | 164 | 133 | |
MESA_agp_offset.spec | D | 03-May-2024 | 2 KiB | 96 | 56 | |
MESA_copy_sub_buffer.spec | D | 03-May-2024 | 2.2 KiB | 97 | 57 | |
MESA_drm_image.spec | D | 03-May-2024 | 5.2 KiB | 154 | 106 | |
MESA_multithread_makecurrent.spec | D | 03-May-2024 | 4.8 KiB | 159 | 107 | |
MESA_pack_invert.spec | D | 03-May-2024 | 3.6 KiB | 139 | 84 | |
MESA_pixmap_colormap.spec | D | 03-May-2024 | 1.9 KiB | 91 | 51 | |
MESA_release_buffers.spec | D | 03-May-2024 | 1.7 KiB | 86 | 48 | |
MESA_resize_buffers.spec | D | 03-May-2024 | 1.8 KiB | 82 | 48 | |
MESA_set_3dfx_mode.spec | D | 03-May-2024 | 1.7 KiB | 86 | 48 | |
MESA_shader_debug.spec | D | 03-May-2024 | 6.8 KiB | 265 | 173 | |
MESA_swap_control.spec | D | 03-May-2024 | 3.2 KiB | 130 | 78 | |
MESA_swap_frame_usage.spec | D | 03-May-2024 | 6.6 KiB | 202 | 136 | |
MESA_texture_array.spec | D | 03-May-2024 | 35.5 KiB | 805 | 581 | |
MESA_texture_signed_rgba.spec | D | 03-May-2024 | 8 KiB | 215 | 144 | |
MESA_window_pos.spec | D | 03-May-2024 | 3.7 KiB | 127 | 86 | |
MESA_ycbcr_texture.spec | D | 03-May-2024 | 6.5 KiB | 205 | 131 | |
README.CYGWIN | D | 03-May-2024 | 9.9 KiB | 257 | 181 | |
README.MITS | D | 03-May-2024 | 3.2 KiB | 103 | 67 | |
README.QUAKE | D | 03-May-2024 | 6.5 KiB | 208 | 137 | |
README.THREADS | D | 03-May-2024 | 1.7 KiB | 53 | 35 | |
README.VMS | D | 03-May-2024 | 1.6 KiB | 39 | 30 | |
README.WIN32 | D | 03-May-2024 | 1.3 KiB | 54 | 32 | |
RELNOTES-3.1 | D | 03-May-2024 | 3.8 KiB | 146 | 89 | |
RELNOTES-3.2 | D | 03-May-2024 | 313 | 12 | 5 | |
RELNOTES-3.2.1 | D | 03-May-2024 | 802 | 32 | 17 | |
RELNOTES-3.3 | D | 03-May-2024 | 7.6 KiB | 271 | 175 | |
RELNOTES-3.4 | D | 03-May-2024 | 546 | 22 | 11 | |
RELNOTES-3.4.1 | D | 03-May-2024 | 584 | 22 | 11 | |
RELNOTES-3.4.2 | D | 03-May-2024 | 584 | 22 | 11 | |
RELNOTES-3.5 | D | 03-May-2024 | 6.7 KiB | 228 | 151 | |
RELNOTES-4.0 | D | 03-May-2024 | 4.3 KiB | 163 | 121 | |
RELNOTES-4.0.1 | D | 03-May-2024 | 564 | 22 | 11 | |
RELNOTES-4.0.2 | D | 03-May-2024 | 1.4 KiB | 50 | 33 | |
RELNOTES-4.0.3 | D | 03-May-2024 | 1.5 KiB | 52 | 34 | |
RELNOTES-4.1 | D | 03-May-2024 | 10.5 KiB | 308 | 203 | |
RELNOTES-5.0 | D | 03-May-2024 | 2.1 KiB | 85 | 60 | |
RELNOTES-5.0.1 | D | 03-May-2024 | 1.3 KiB | 46 | 30 | |
RELNOTES-5.0.2 | D | 03-May-2024 | 1.3 KiB | 46 | 30 | |
RELNOTES-5.1 | D | 03-May-2024 | 9.7 KiB | 280 | 201 | |
RELNOTES-6.0 | D | 03-May-2024 | 2.3 KiB | 87 | 55 | |
RELNOTES-6.0.1 | D | 03-May-2024 | 1.4 KiB | 50 | 34 | |
RELNOTES-6.1 | D | 03-May-2024 | 3.4 KiB | 112 | 77 | |
RELNOTES-6.2 | D | 03-May-2024 | 1.3 KiB | 52 | 31 | |
RELNOTES-6.2.1 | D | 03-May-2024 | 1.3 KiB | 50 | 30 | |
RELNOTES-6.3 | D | 03-May-2024 | 3.2 KiB | 115 | 68 | |
RELNOTES-6.3.1 | D | 03-May-2024 | 1 KiB | 49 | 28 | |
RELNOTES-6.3.2 | D | 03-May-2024 | 903 | 37 | 23 | |
RELNOTES-6.4 | D | 03-May-2024 | 1.2 KiB | 50 | 30 | |
VERSIONS | D | 03-May-2024 | 65.3 KiB | 1,515 | 1,421 | |
WL_bind_wayland_display.spec | D | 03-May-2024 | 6.3 KiB | 176 | 123 | |
autoconf.html | D | 03-May-2024 | 9.4 KiB | 240 | 208 | |
banner.html | D | 03-May-2024 | 1,004 | 34 | 14 | |
bugs.html | D | 03-May-2024 | 1.6 KiB | 55 | 46 | |
conform.html | D | 03-May-2024 | 18 KiB | 697 | 618 | |
contents.html | D | 03-May-2024 | 4.1 KiB | 107 | 84 | |
debugging.html | D | 03-May-2024 | 1.3 KiB | 40 | 35 | |
developers.html | D | 03-May-2024 | 1.3 KiB | 51 | 43 | |
devinfo.html | D | 03-May-2024 | 6.3 KiB | 248 | 203 | |
dispatch.html | D | 03-May-2024 | 11.8 KiB | 271 | 221 | |
download.html | D | 03-May-2024 | 2.5 KiB | 112 | 90 | |
egl.html | D | 03-May-2024 | 11.6 KiB | 322 | 230 | |
enums.txt | D | 03-May-2024 | 1.9 KiB | 58 | 46 | |
envvars.html | D | 03-May-2024 | 6.8 KiB | 173 | 142 | |
extensions.html | D | 03-May-2024 | 1.3 KiB | 36 | 30 | |
faq.html | D | 03-May-2024 | 12.4 KiB | 394 | 335 | |
games.html | D | 03-May-2024 | 3.3 KiB | 65 | 61 | |
gears.png | D | 03-May-2024 | 1.6 KiB | |||
helpwanted.html | D | 03-May-2024 | 2.9 KiB | 89 | 78 | |
index.html | D | 03-May-2024 | 771 | 30 | 20 | |
install.html | D | 03-May-2024 | 5.6 KiB | 206 | 166 | |
intro.html | D | 03-May-2024 | 9.6 KiB | 349 | 296 | |
libGL.txt | D | 03-May-2024 | 6.8 KiB | 198 | 129 | |
libraries.html | D | 03-May-2024 | 4.6 KiB | 59 | 54 | |
license.html | D | 03-May-2024 | 3.5 KiB | 107 | 83 | |
lists.html | D | 03-May-2024 | 2.8 KiB | 88 | 72 | |
llvmpipe.html | D | 03-May-2024 | 5.2 KiB | 206 | 159 | |
mangling.html | D | 03-May-2024 | 835 | 32 | 26 | |
mesa.css | D | 03-May-2024 | 516 | 34 | 27 | |
modelers.html | D | 03-May-2024 | 3.3 KiB | 66 | 61 | |
news.html | D | 03-May-2024 | 51.7 KiB | 1,404 | 1,210 | |
opengles.html | D | 03-May-2024 | 2.1 KiB | 63 | 45 | |
openvg.html | D | 03-May-2024 | 1.4 KiB | 52 | 41 | |
osmesa.html | D | 03-May-2024 | 2.5 KiB | 90 | 74 | |
patents.txt | D | 03-May-2024 | 1.4 KiB | 32 | 24 | |
perf.html | D | 03-May-2024 | 2.8 KiB | 70 | 64 | |
postprocess.html | D | 03-May-2024 | 1.6 KiB | 58 | 44 | |
precompiled.html | D | 03-May-2024 | 570 | 22 | 18 | |
relnotes-6.4.1.html | D | 03-May-2024 | 2.1 KiB | 68 | 57 | |
relnotes-6.4.2.html | D | 03-May-2024 | 2 KiB | 75 | 62 | |
relnotes-6.4.html | D | 03-May-2024 | 3 KiB | 90 | 77 | |
relnotes-6.5.1.html | D | 03-May-2024 | 4.8 KiB | 139 | 117 | |
relnotes-6.5.2.html | D | 03-May-2024 | 4.1 KiB | 126 | 109 | |
relnotes-6.5.3.html | D | 03-May-2024 | 3.9 KiB | 119 | 100 | |
relnotes-6.5.html | D | 03-May-2024 | 3.7 KiB | 131 | 108 | |
relnotes-7.0.1.html | D | 03-May-2024 | 3 KiB | 101 | 85 | |
relnotes-7.0.2.html | D | 03-May-2024 | 2.9 KiB | 88 | 76 | |
relnotes-7.0.3.html | D | 03-May-2024 | 2.8 KiB | 84 | 71 | |
relnotes-7.0.4.html | D | 03-May-2024 | 2.5 KiB | 80 | 66 | |
relnotes-7.0.html | D | 03-May-2024 | 2.6 KiB | 93 | 77 | |
relnotes-7.1.html | D | 03-May-2024 | 2.7 KiB | 94 | 79 | |
relnotes-7.10.1.html | D | 03-May-2024 | 17 KiB | 376 | 302 | |
relnotes-7.10.2.html | D | 03-May-2024 | 7.4 KiB | 204 | 163 | |
relnotes-7.10.3.html | D | 03-May-2024 | 13.3 KiB | 301 | 247 | |
relnotes-7.10.html | D | 03-May-2024 | 152.8 KiB | 2,791 | 2,671 | |
relnotes-7.11.1.html | D | 03-May-2024 | 17 KiB | 389 | 321 | |
relnotes-7.11.2.html | D | 03-May-2024 | 2.5 KiB | 83 | 64 | |
relnotes-7.11.html | D | 03-May-2024 | 21.6 KiB | 346 | 208 | |
relnotes-7.2.html | D | 03-May-2024 | 3 KiB | 104 | 87 | |
relnotes-7.3.html | D | 03-May-2024 | 2.6 KiB | 93 | 78 | |
relnotes-7.4.1.html | D | 03-May-2024 | 2.4 KiB | 79 | 67 | |
relnotes-7.4.2.html | D | 03-May-2024 | 2.2 KiB | 74 | 62 | |
relnotes-7.4.3.html | D | 03-May-2024 | 2.4 KiB | 79 | 67 | |
relnotes-7.4.4.html | D | 03-May-2024 | 1.8 KiB | 68 | 56 | |
relnotes-7.4.html | D | 03-May-2024 | 2.5 KiB | 89 | 74 | |
relnotes-7.5.1.html | D | 03-May-2024 | 2.4 KiB | 72 | 61 | |
relnotes-7.5.2.html | D | 03-May-2024 | 2.1 KiB | 67 | 57 | |
relnotes-7.5.html | D | 03-May-2024 | 3.7 KiB | 102 | 90 | |
relnotes-7.6.1.html | D | 03-May-2024 | 2.7 KiB | 80 | 68 | |
relnotes-7.6.html | D | 03-May-2024 | 3.3 KiB | 84 | 74 | |
relnotes-7.7.1.html | D | 03-May-2024 | 1.9 KiB | 60 | 51 | |
relnotes-7.7.html | D | 03-May-2024 | 2.3 KiB | 70 | 58 | |
relnotes-7.8.1.html | D | 03-May-2024 | 2 KiB | 62 | 51 | |
relnotes-7.8.2.html | D | 03-May-2024 | 5.3 KiB | 146 | 127 | |
relnotes-7.8.3.html | D | 03-May-2024 | 3.1 KiB | 89 | 76 | |
relnotes-7.8.html | D | 03-May-2024 | 2.2 KiB | 70 | 58 | |
relnotes-7.9.1.html | D | 03-May-2024 | 19.3 KiB | 404 | 331 | |
relnotes-7.9.2.html | D | 03-May-2024 | 14.8 KiB | 333 | 263 | |
relnotes-7.9.html | D | 03-May-2024 | 9.7 KiB | 137 | 125 | |
relnotes-8.0.1.html | D | 03-May-2024 | 5 KiB | 151 | 112 | |
relnotes-8.0.2.html | D | 03-May-2024 | 5 KiB | 158 | 119 | |
relnotes-8.0.3.html | D | 03-May-2024 | 12 KiB | 317 | 253 | |
relnotes-8.0.4.html | D | 03-May-2024 | 7.4 KiB | 202 | 161 | |
relnotes-8.0.html | D | 03-May-2024 | 2.6 KiB | 81 | 68 | |
relnotes-9.0.1.html | D | 03-May-2024 | 5.1 KiB | 160 | 128 | |
relnotes-9.0.2.html | D | 03-May-2024 | 9.9 KiB | 283 | 229 | |
relnotes-9.0.3.html | D | 03-May-2024 | 9.8 KiB | 238 | 190 | |
relnotes-9.0.html | D | 03-May-2024 | 2.8 KiB | 93 | 76 | |
relnotes.html | D | 03-May-2024 | 4.4 KiB | 103 | 95 | |
repository.html | D | 03-May-2024 | 5.7 KiB | 218 | 191 | |
science.html | D | 03-May-2024 | 3.6 KiB | 72 | 67 | |
shading.html | D | 03-May-2024 | 6.7 KiB | 258 | 210 | |
sourcedocs.html | D | 03-May-2024 | 1.2 KiB | 39 | 31 | |
sourcetree.html | D | 03-May-2024 | 6.8 KiB | 160 | 153 | |
subset-A.html | D | 03-May-2024 | 138.6 KiB | 3,573 | 3,572 | |
subset.html | D | 03-May-2024 | 667 | 26 | 21 | |
systems.html | D | 03-May-2024 | 2.2 KiB | 90 | 77 | |
thanks.html | D | 03-May-2024 | 4 KiB | 134 | 92 | |
utilities.html | D | 03-May-2024 | 1 KiB | 34 | 27 | |
utility.html | D | 03-May-2024 | 1.2 KiB | 43 | 30 | |
versions.html | D | 03-May-2024 | 61.8 KiB | 1,656 | 1,565 | |
viewperf.html | D | 03-May-2024 | 6.3 KiB | 202 | 162 | |
vmware-guest.html | D | 03-May-2024 | 6.2 KiB | 199 | 167 | |
webmaster.html | D | 03-May-2024 | 765 | 26 | 20 | |
xlibdriver.html | D | 03-May-2024 | 8.8 KiB | 277 | 241 |
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