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
autoconf.html
banner.html
bugs.html
cell.html
conform.html
contents.html docs: remove link to old memory.html page 2010-08-26 11:20:48 -06:00
COPYING
debugging.html
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
envvars.html docs: updated environment variable list 2011-02-17 07:29:20 -07:00
extensions.html
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
gears.png
GL3.txt docs: Fix typo in GL3.txt 2011-02-14 00:45:44 -08:00
glfbdev-driver.html
glu.html
helpwanted.html
index.html
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
license.html
lists.html docs: add links to old mailing list archives 2010-04-23 15:36:40 -06:00
mangling.html
mesa.css
MESA_agp_offset.spec
MESA_copy_sub_buffer.spec
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
MESA_pixmap_colormap.spec
MESA_release_buffers.spec
MESA_resize_buffers.spec
MESA_set_3dfx_mode.spec
MESA_shader_debug.spec
MESA_swap_control.spec glx: Fix interval test in glXSwapIntervalMESA 2010-02-11 15:40:29 -08:00
MESA_swap_frame_usage.spec
MESA_texture_array.spec
MESA_texture_signed_rgba.spec
MESA_window_pos.spec
MESA_ycbcr_texture.spec
modelers.html
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
precompiled.html docs: update precompiled libs info 2009-09-03 16:07:46 -06:00
README.3DFX Grammar and spelling fixes 2010-03-12 08:55:05 -07:00
README.AMIWIN
README.BEOS
README.CYGWIN
README.DJ
README.GGI
README.LYNXOS
README.MINGW32
README.MITS
README.NeXT
README.OpenStep
README.OS2
README.QUAKE
README.THREADS
README.VMS
README.WIN32 docs: update README.WIN32 per Karl's request 2011-01-20 18:52:53 -07:00
README.WINDML
RELNOTES-3.1
RELNOTES-3.2
RELNOTES-3.2.1
RELNOTES-3.3
RELNOTES-3.4
RELNOTES-3.4.1
RELNOTES-3.4.2
RELNOTES-3.5
RELNOTES-4.0
RELNOTES-4.0.1
RELNOTES-4.0.2
RELNOTES-4.0.3
RELNOTES-4.1
RELNOTES-5.0
RELNOTES-5.0.1
RELNOTES-5.0.2
RELNOTES-5.1
RELNOTES-6.0
RELNOTES-6.0.1
RELNOTES-6.1
RELNOTES-6.2
RELNOTES-6.2.1
RELNOTES-6.3
RELNOTES-6.3.1
RELNOTES-6.3.2
RELNOTES-6.4
relnotes-6.4.1.html
relnotes-6.4.2.html
relnotes-6.4.html
relnotes-6.5.1.html
relnotes-6.5.2.html
relnotes-6.5.3.html
relnotes-6.5.html
relnotes-7.0.1.html
relnotes-7.0.2.html
relnotes-7.0.3.html
relnotes-7.0.4.html
relnotes-7.0.html
relnotes-7.1.html
relnotes-7.2.html
relnotes-7.3.html
relnotes-7.4.1.html
relnotes-7.4.2.html
relnotes-7.4.3.html
relnotes-7.4.4.html
relnotes-7.4.html
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
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
shading.html docs: fix glsl_compiler name 2011-02-16 17:05:08 -07:00
sourcedocs.html
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
systems.html
thanks.html
utilities.html
utility.html
VERSIONS
versions.html
webmaster.html
xlibdriver.html

                        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