mesa/docs
Eric Anholt 49d7e48b33 mesa: Add new MESA_multithread_makecurrent extension.
This extension allows a client to bind one context in multiple threads
simultaneously.  It is then up to the client to manage synchronization of
access to the GL, just as normal multithreaded GL from multiple contexts
requires synchronization management to shared objects.
2011-02-26 12:43:15 -08:00
..
OLD Remove CVS keywords. 2008-09-21 11:00:44 -07:00
COPYING clarified what this file covers 1999-07-20 00:35:22 +00:00
GL3.txt docs: Fix typo in GL3.txt 2011-02-14 00:45:44 -08:00
MESA_agp_offset.spec don't use GLuint or GLvoid in function declaration 2004-07-27 16:32:37 +00:00
MESA_copy_sub_buffer.spec Add language about implicit flush and command completion 2009-01-13 12:36:03 -08:00
MESA_drm_image.spec docs: Fix MESA_drm_image typo 2010-11-30 21:14:50 -05:00
MESA_multithread_makecurrent.spec mesa: Add new MESA_multithread_makecurrent extension. 2011-02-26 12:43:15 -08:00
MESA_pack_invert.spec update my email address 2004-03-25 01:42:41 +00:00
MESA_pixmap_colormap.spec update my email address 2004-03-25 01:42:41 +00:00
MESA_release_buffers.spec update my email address 2004-03-25 01:42:41 +00:00
MESA_resize_buffers.spec Remove CVS keywords. 2008-09-21 11:00:44 -07:00
MESA_set_3dfx_mode.spec update my email address 2004-03-25 01:42:41 +00:00
MESA_shader_debug.spec mesa: remove GL_MESA_program_debug extension 2009-03-07 11:53:18 -07:00
MESA_swap_control.spec glx: Fix interval test in glXSwapIntervalMESA 2010-02-11 15:40:29 -08:00
MESA_swap_frame_usage.spec Fix some silly spelling errors. 2006-05-03 17:12:12 +00:00
MESA_texture_array.spec Remove CVS keywords. 2008-09-21 11:00:44 -07:00
MESA_texture_signed_rgba.spec mesa: add new signed rgba texture format 2009-03-28 02:02:42 +01:00
MESA_window_pos.spec Remove CVS keywords. 2008-09-21 11:00:44 -07:00
MESA_ycbcr_texture.spec update revision history 2004-04-03 16:17:46 +00:00
README.3DFX Grammar and spelling fixes 2010-03-12 08:55:05 -07:00
README.AMIWIN initial rev 1999-02-23 03:41:13 +00:00
README.BEOS Remove CVS keywords. 2008-09-21 11:00:44 -07:00
README.CYGWIN new CYGWIN docs from Eric Lassauge 2004-04-23 13:13:30 +00:00
README.DJ Assorted updates. 2006-04-01 13:38:45 +00:00
README.GGI Updated to reflect GGIMesa 3.1 changes 1999-08-23 22:22:31 +00:00
README.LYNXOS updates from Vik 1999-01-14 03:13:11 +00:00
README.MINGW32 more Mingw32 fixes 2007-07-27 11:19:35 -06:00
README.MITS initial rev 1999-02-23 03:41:13 +00:00
README.NeXT Updated OpenStep/NeXT support (pete@ohm.york.ac.uk) 1999-06-08 00:39:40 +00:00
README.OS2 updated by Alexander Mai 1999-05-25 01:17:28 +00:00
README.OpenStep Updated OpenStep/NeXT support (pete@ohm.york.ac.uk) 1999-06-08 00:39:40 +00:00
README.QUAKE Remove CVS keywords. 2008-09-21 11:00:44 -07:00
README.THREADS updated for new thread support in Mesa 3.3 1999-12-17 15:25:14 +00:00
README.VMS Committing in . 2005-09-23 07:03:53 +00:00
README.WIN32 docs: update README.WIN32 per Karl's request 2011-01-20 18:52:53 -07:00
README.WINDML updates for Mesa 4.0 2001-09-23 16:10:02 +00:00
RELNOTES-3.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-3.2 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-3.2.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-3.3 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-3.4 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-3.4.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-3.4.2 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-3.5 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-4.0 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-4.0.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-4.0.2 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-4.0.3 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-4.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-5.0 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-5.0.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-5.0.2 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-5.1 updates for 5.1 release 2003-12-17 23:54:23 +00:00
RELNOTES-6.0 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-6.0.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-6.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-6.2 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-6.2.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-6.3 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-6.3.1 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-6.3.2 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
RELNOTES-6.4 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
VERSIONS fix Xlib driver mem leaks 2006-08-30 22:04:09 +00:00
autoconf.html autoconf: Improve the visibility of the swrast DRI driver 2008-06-30 11:16:09 -07:00
banner.html minor face-lift for web pages 2005-05-05 14:18:31 +00:00
bugs.html updated bug report guidelines 2007-09-05 10:04:37 -06:00
cell.html docs: update links to Gallium wiki page on freedesktop.org 2009-07-17 09:40:59 -06:00
conform.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
contents.html docs: remove link to old memory.html page 2010-08-26 11:20:48 -06:00
debugging.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
developers.html docs: remove links to tungstengraphics.com, and misc updates 2010-08-26 11:20:48 -06:00
devinfo.html docs: Update mailing lines from sf.net to freedesktop.org 2010-10-05 10:02:30 -07:00
dispatch.html glapi: drop SOLARIS_THREADS 2010-03-01 20:54:20 +02:00
download.html docs: point to fd.o for downloads instead of SourceForge 2009-09-03 16:07:46 -06:00
egl.html mesa: Remove GLES overlay. 2011-01-10 11:50:35 +08:00
enums.txt docs: updated Mesa extension enum info 2009-03-20 17:15:21 -06:00
envvars.html docs: updated environment variable list 2011-02-17 07:29:20 -07:00
extensions.html mesa: add new signed rgba texture format 2009-03-28 02:02:42 +01:00
faq.html Add a FAQ about internal buffer sizes. 2009-08-14 11:23:18 -06:00
fbdev-dri.html docs: mark as obsolete, remove dead links 2010-09-20 08:59:04 -06:00
games.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
gears.png minor face-lift for web pages 2005-05-05 14:18:31 +00:00
glfbdev-driver.html Added initial multisampling support to glfbdev driver. 2006-08-10 10:21:17 +00:00
glu.html updates for 6.3.2 release, plus other assorted clean-ups 2005-08-19 16:57:50 +00:00
helpwanted.html docs: assorted updates, link fixes 2009-01-29 00:59:52 +00:00
index.html fix a bunch of html errors 2005-05-06 22:17:24 +00:00
install.html docs: Update new opengl32.dll target location. 2010-03-10 12:09:16 +00:00
intro.html docs: remove links to tungstengraphics.com, and misc updates 2010-08-26 11:20:48 -06:00
libGL.txt docs: libGL documentation, from the xorg-docs tree 2009-11-17 16:33:22 -07:00
libraries.html updated GLUT link 2006-02-22 15:50:57 +00:00
license.html updated glext.h license info (Khronos), plus other clean-ups 2007-10-01 17:57:25 -06:00
lists.html docs: add links to old mailing list archives 2010-04-23 15:36:40 -06:00
mangling.html name mangling update/fix 2006-11-18 16:44:30 +00:00
mesa.css minor fixes 2005-07-01 01:04:31 +00:00
modelers.html updated vrml link 2007-09-13 14:44:27 -06:00
news.html docs: added news item for 7.9 release 2010-10-05 10:07:16 -07:00
opengles.html mesa: Remove GLES overlay. 2011-01-10 11:50:35 +08:00
openvg.html docs: Update egl and openvg docs. 2010-10-29 12:11:49 +08:00
osmesa.html docs: fix typo: s/osdemo/osdemos/ 2010-02-09 11:21:41 -07:00
perf.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
precompiled.html docs: update precompiled libs info 2009-09-03 16:07:46 -06:00
relnotes-6.4.1.html Re-org of per-release info. 2006-09-21 22:51:16 +00:00
relnotes-6.4.2.html Re-org of per-release info. 2006-09-21 22:51:16 +00:00
relnotes-6.4.html Re-org of per-release info. 2006-09-21 22:51:16 +00:00
relnotes-6.5.1.html remove bogus link 2006-12-02 18:18:55 +00:00
relnotes-6.5.2.html md5 sums 2006-12-02 19:22:16 +00:00
relnotes-6.5.3.html added 6.5.3 MD5 sums 2007-04-27 16:53:42 -06:00
relnotes-6.5.html Re-org of per-release info. 2006-09-21 22:51:16 +00:00
relnotes-7.0.1.html Bring in previous 7.0.1/2 release notes, added Cell driver page. 2008-01-24 09:15:31 -07:00
relnotes-7.0.2.html Bring in previous 7.0.1/2 release notes, added Cell driver page. 2008-01-24 09:15:31 -07:00
relnotes-7.0.3.html import 7.0.3 relnotes from 7.0 branch 2008-04-04 19:28:33 -06:00
relnotes-7.0.4.html bring in docs from 7.0.4 release/branch 2008-08-16 11:09:49 -06:00
relnotes-7.0.html bring over 7.0 doc changes 2007-06-28 16:44:24 -06:00
relnotes-7.1.html added 7.1 MD5 sums 2008-08-26 16:12:29 -06:00
relnotes-7.2.html docs: import 7.2 relnotes, start on 7.3 relnotes 2009-01-08 16:12:23 -07:00
relnotes-7.3.html docs: fix typo 2009-01-29 00:59:53 +00:00
relnotes-7.4.1.html docs: bring in 7.4 doc updates from mesa_7_4_branch 2009-04-30 17:13:22 -06:00
relnotes-7.4.2.html docs: updates from the 7.4 branch 2009-05-15 08:02:40 -06:00
relnotes-7.4.3.html docs: bring in 7.4.3 and 7.4.4 release notes, news 2009-06-26 16:45:54 -06:00
relnotes-7.4.4.html docs: bring in 7.4.3 and 7.4.4 release notes, news 2009-06-26 16:45:54 -06:00
relnotes-7.4.html docs: bring in 7.4 doc updates from mesa_7_4_branch 2009-04-30 17:13:22 -06:00
relnotes-7.5.1.html docs: 7.5.1 md5 sums 2009-09-03 16:07:46 -06:00
relnotes-7.5.2.html docs: 7.5.2 md5 sums 2009-09-28 11:41:23 -07:00
relnotes-7.5.html docs: 7.5 tarball md5sums 2009-07-27 13:27:54 -06:00
relnotes-7.6.1.html docs: insert 7.6.1 release date 2009-12-27 15:14:25 -07:00
relnotes-7.6.html docs: 7.6 md5 sums 2009-09-28 11:29:25 -07:00
relnotes-7.7.1.html mesa: Add 7.7.1 release MD5 sums 2010-03-28 16:33:12 -07:00
relnotes-7.7.html docs: insert 7.7 release date 2009-12-27 15:33:25 -07:00
relnotes-7.8.1.html docs: Update 7.8.1 release MD5 sums 2010-04-05 12:45:20 -07:00
relnotes-7.8.2.html docs: Import 7.8.x release notes from 7.8 branch. 2010-10-05 10:01:34 -07:00
relnotes-7.8.3.html docs: Import 7.8.x release notes from 7.8 branch. 2010-10-05 10:01:34 -07:00
relnotes-7.8.html mesa: Add 7.8 release MD5 sums 2010-03-28 16:35:56 -07:00
relnotes-7.9.1.html docs: fix messed up names with special characters in relnotes-7.9.1 2011-01-08 03:10:18 +01:00
relnotes-7.9.html docs: Import 7.9 release notes from 7.9 branch. 2010-10-05 09:54:41 -07:00
relnotes-7.10.html docs: fix messed up names with special characters in relnotes-7.10 2011-01-08 03:09:47 +01:00
relnotes-7.11.html docs: removed VC8 project files 2011-01-28 13:40:47 -07:00
relnotes.html docs: skeleton file for 7.11 release notes, add missing links 2011-01-14 17:46:38 -07:00
repository.html docs: links to the Mesa demos git repo 2010-06-04 17:47:53 -06:00
science.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
shading.html docs: fix glsl_compiler name 2011-02-16 17:05:08 -07:00
sourcedocs.html updated doxygen info 2006-09-21 22:54:53 +00:00
sourcetree.html docs: add glsl info 2011-02-16 17:05:08 -07:00
subset-A.html docs: remove links to tungstengraphics.com, and misc updates 2010-08-26 11:20:48 -06:00
subset.html Assorted miniglx updates. 2007-05-04 18:26:41 -06:00
systems.html docs: assorted updates, link fixes 2009-01-29 00:59:52 +00:00
thanks.html prep for 6.5.3 release 2007-04-18 09:07:56 -06:00
utilities.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
utility.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
versions.html Re-org of per-release info. 2006-09-21 22:51:16 +00:00
webmaster.html docs: update webmaster email addr 2008-11-24 08:14:28 -07:00
xlibdriver.html Revert "docs: document new MESA_GLX_FORCE_DIRECT env var for the Xlib driver" 2009-02-04 16:33:25 -07:00

README.WINDML

                        WindML Driver for Mesa 4.0


Requirements
------------

Tornado 2 + WindML, Cumulative Patchs are recommended. 
  
I suppose you have a valid WindML installation. Double buffer hardware
gives better performance than double buffer software so if you can
compile your WindML driver with this option, just do it. I/O
redirection is adviced in target server.


Tested on
---------

During the development, my main target was a CoolMonster:
- Video card: CT69000
- CPU: PENTIUM 266MHz

and my host a Windows NT + Tornado 2.


Installation
------------

1. Mesa sources must be in root directory (C:\)

2. Add the following line to your torVars.bat:
set MESA_BASE=C:\Mesa

OR copy the new torVars.bat in your bin path:
c:/Mesa/src/ugl/tornado/torVars.sample -> 
/mnt/nt/Tornado/host/x86-win32/bin/torVars (for example)

3. In a command prompt:
$ torVars
$ cd c:\Mesa
$ make -f Makefile.ugl CPU=PENTIUM

Take a long while...

5. Include all the files from ugldemos folder to build some downloadable
   application modules

4. Download UGL/Mesa object files on target

For example via the WindShell:
ld < c:\Tornado\target\lib\objMesaGL.o
ld < c:\Tornado\target\lib\objMesaUGL.o
ld < c:\Tornado\target\lib\objMesaGLU.o
ld < c:\Tornado\target\lib\objGLUTshapes.o
ld < c:\Tornado\target\lib\objMesaOS.o

You can put the previous lines in a file and use:
< filename

6. Download the application modules.

7. In WindShell, run:
-> uglalldemos

During the show some messages will appear, it provides some useful
information on key management.


Coding
------

Sample Usage:

In addition to the usual ugl calls to initialize UGL, (may be find an
input driver), you must do the following to use the UGL/Mesa interface:

1. Call uglMesaCreateContext() to create a UGL/Mesa rendering context,
   given the display format.

2. Call uglMesaMakeCurrent() to bind the UGL/Mesa buffers to an
   UGL/Mesa Context and to make the context the current one.

3. Make gl* calls to render your graphics.

4. Use uglMesaSwapBuffers() when double buffering to swap front/back buffers.

5. Before the UGL is destroyed, call MesaDestroyContext().

6. Before exiting, call if required uglEventQDestroy and then
   uglDeinitialize();

Limitations
-----------

I found the following limitations in my driver :
 - Color Indexed management is only in 8 bits
 - It's possible to mix UGL/OpenGL application with a software
   double buffer

Modifications
------------

New files in Mesa:
- Makefile.ugl
- rules.windmlmesa
- docs/README.UGL
- include/GL/uglmesa.h
- si-glu/Makefile.ugl
- src/Makefile.ugl
- src/ugl/torGLUTShapesInit.c
- src/ugl/torMesaUGLInit.c
- src/ugl/ugl_api.c
- src/ugl/ugl_dd.c
- src/ugl/ugl_glutshapes.c
- src/ugl/ugl_line.c
- src/ugl/ugl_span.c
- src/ugl/ugl_tri.c
- src/ugl/uglmesaP.h
- ugldemos/*

Modified files in Tornado 2.0:
- c:\Tornado\host\x86-win32\bin\torVars.bat
rem Command line build environments
set WIND_HOST_TYPE=x86-win32
set WIND_BASE=C:\Tornado
set MESA_BASE=C:\Mesa
set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH%
- c:\Tornado\target\config\comps\VxWorks\01uglmesa.cdf
- c:\Tornado\target\h\GL\*

Todo
----
- GCC 2.96, ASM compilation

Thanks to:
----------

Precision Insight team for their great job around Mesa, XFree, and DRI.
Wind River Systems to take me as an intern.


Stephane Raimbault
<stephane.raimbault@windriver.com>
<stephane.raimbault@deesse.univ-lemans.fr>

July 24, 2001