mesa/docs
Ian Romanick 1f47388dfe Add language about implicit flush and command completion
Copied language from the glXSwapBuffers manual page about the implicit
glFlush and expected command completion.  This just codifies what
people already expect from glXCopySubBufferMESA.  The intention of
this command is to work like glXSwapBuffers but on a sub-rectangle of
the drawable.

Acked-by: Brian Paul <brianp@vmware.com>
2009-01-13 12:36:03 -08:00
..
OLD Remove CVS keywords. 2008-09-21 11:00:44 -07: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: updated Cell docs, from gallium-0.2 branch 2009-01-08 16:15:31 -07:00
conform.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
contents.html mesa: updated compilation documentation 2008-12-30 07:57:16 -07:00
COPYING clarified what this file covers 1999-07-20 00:35:22 +00:00
debugging.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
demos.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
developers.html assorted documentation updates 2007-04-04 09:31:41 -06:00
devinfo.html autoconf: Scrape the version from configs/default 2008-05-05 14:21:28 -07:00
dispatch.html Added dispatch.html. 2006-10-09 18:26:03 +00:00
download.html docs: more 7.3 doc updates 2009-01-08 16:14:19 -07:00
enums.txt Commit enums for GL_MESA_shader_debug.spec. 2006-07-30 15:19:19 +00:00
envvars.html document MESA_TEX/TNL_PROG env vars 2006-06-01 20:22:30 +00:00
extensions.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
faq.html Merge branch 'master' into autoconf2 2007-12-26 15:41:24 -06:00
fbdev-dri.html miniglx doc updates 2008-02-14 09:33:26 -07: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 updated list 2007-10-31 09:57:47 -06:00
index.html fix a bunch of html errors 2005-05-06 22:17:24 +00:00
install.html docs: prerequisite updates 2009-01-10 11:52:55 -07:00
intro.html asst. html doc updates 2008-08-26 12:36:39 -06: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 asst. html doc updates 2008-08-26 12:36:39 -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
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_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 Remove CVS keywords. 2008-09-21 11:00:44 -07:00
MESA_swap_control.spec updates from Ian 2003-05-02 15:04:20 +00: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_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
MiniGLX.html Assorted miniglx updates. 2007-05-04 18:26:41 -06:00
modelers.html updated vrml link 2007-09-13 14:44:27 -06:00
news.html docs: more 7.3 doc updates 2009-01-08 16:14:19 -07:00
osmesa.html updated docs for off-screen rendering 2006-05-19 03:42:16 +00:00
pbuffers.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
perf.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
precompiled.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
README.3DFX misc cleanup 2004-12-20 08:09:25 +00: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.D3D Initial revision 1999-02-10 13:14:53 +00:00
README.directfb Remove DirectFBGL header from Mesa bacause since 1.0.0 DirectFB installs its own header. 2006-12-01 14:12:05 +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.OpenStep 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.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 Convert crlf->lf line endings. 2008-02-28 16:34:32 +09: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
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: fixes since 7.3-rc1 2009-01-13 09:03:43 -07:00
relnotes.html docs: import 7.2 relnotes, start on 7.3 relnotes 2009-01-08 16:12:23 -07:00
repository.html added git on Windows section 2008-02-28 08:03:34 -07:00
science.html Use a simple CSS style sheet. 2005-01-20 03:55:10 +00:00
shading.html mesa: updated GLSL docs 2008-12-15 18:30:40 -07:00
sourcedocs.html updated doxygen info 2006-09-21 22:54:53 +00:00
subset-A.html subset spec (was subset.html in embedded-1-branch) 2003-03-22 18:35:53 +00:00
subset.html Assorted miniglx updates. 2007-05-04 18:26:41 -06:00
systems.html Replace old README.X11 with updated xlibdriver.html 2006-04-19 03:25:06 +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 fix Xlib driver mem leaks 2006-08-30 22:04:09 +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 updated Pixmap vs. XImage info 2006-06-07 14:01:31 +00:00

                        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