mesa/docs
Paul Berry 43968261e4 docs: Document coding style conventions
This patch documents some Mesa coding style conventions that came up
during the discussion of commit 67b5a32 (Perform implicit type
conversions on function call out parameters).
2011-08-24 10:55:12 -07:00
..
OLD Remove CVS keywords. 2008-09-21 11:00:44 -07:00
ARB_color_buffer_float.txt mesa: implement clamping controls (ARB_color_buffer_float) 2011-03-29 12:04:55 +02:00
autoconf.html docs: Remove GLw from the documentation except for a new FAQ entry. 2011-08-15 13:37:27 -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: replace llvmpipe/README with docs/llvmpipe.html 2011-04-07 13:56:45 -06: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
developers.html docs: remove links to tungstengraphics.com, and misc updates 2010-08-26 11:20:48 -06:00
devinfo.html docs: Document coding style conventions 2011-08-24 10:55:12 -07:00
dispatch.html glapi: drop SOLARIS_THREADS 2010-03-01 20:54:20 +02:00
download.html docs: Remove GLw from the documentation except for a new FAQ entry. 2011-08-15 13:37:27 -07:00
egl.html docs: update EGL for changed configure options 2011-06-20 11:19:16 +09:00
enums.txt docs: updated Mesa extension enum info 2009-03-20 17:15:21 -06:00
envvars.html mesa: new MESA_EXTENSION_MAX_YEAR env var 2011-03-24 11:39:23 -06:00
extensions.html mesa: add new signed rgba texture format 2009-03-28 02:02:42 +01:00
faq.html docs: Remove GLw from the documentation except for a new FAQ entry. 2011-08-15 13:37:27 -07: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
GL3.txt docs: update GL3.txt with new GL 4.2 extensions 2011-08-09 10:39:52 +01: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: Remove GLw from the documentation except for a new FAQ entry. 2011-08-15 13:37:27 -07: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 Squashed commit of the following: 2011-07-14 17:35:05 +01:00
lists.html docs: add links to old mailing list archives 2010-04-23 15:36:40 -06:00
llvmpipe.html docs: replace llvmpipe/README with docs/llvmpipe.html 2011-04-07 13:56:45 -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 docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06: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 egl: Add a cursor use bit to MESA_drm_image 2011-05-06 10:33:50 -04:00
MESA_multithread_makecurrent.spec glx: Adjust the MESA_multithread_makecurrent spec to match implementation. 2011-02-26 12:43:15 -08:00
MESA_pack_invert.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
MESA_pixmap_colormap.spec update my email address 2004-03-25 01:42:41 +00:00
MESA_release_buffers.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
MESA_resize_buffers.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06: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 docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
MESA_swap_frame_usage.spec Fix some silly spelling errors. 2006-05-03 17:12:12 +00:00
MESA_texture_array.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
MESA_texture_signed_rgba.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
MESA_window_pos.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
MESA_ycbcr_texture.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
modelers.html updated vrml link 2007-09-13 14:44:27 -06:00
news.html docs: 7.10.3 updates 2011-06-14 17:19:53 -06:00
opengles.html docs: update EGL for changed configure options 2011-06-20 11:19:16 +09:00
openvg.html docs: update EGL for changed configure options 2011-06-20 11:19:16 +09:00
osmesa.html docs: fix typo: s/osdemo/osdemos/ 2010-02-09 11:21:41 -07:00
patents.txt docs: Reapply some of Marek's typo fixes. 2011-04-16 11:15:29 +01: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
README.3DFX Grammar and spelling fixes 2010-03-12 08:55:05 -07:00
README.AMIWIN
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
README.MINGW32 more Mingw32 fixes 2007-07-27 11:19:35 -06:00
README.MITS
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 docs: Remove MSVS project files. 2011-04-23 13:18:45 +01: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: 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.2.html docs: Import 7.9.2 release notes from 7.9 branch 2011-03-02 14:37:59 -08: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.1.html docs: Import 7.10.1 release notes from 7.10 branch 2011-03-02 14:37:59 -08:00
relnotes-7.10.2.html Import 7.10.2 release notes from 7.10 branch 2011-04-06 13:46:20 -07:00
relnotes-7.10.3.html docs: 7.10.3 updates 2011-06-14 17:19:53 -06: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 i965: Enable extension GL_ARB_shader_texture_lod. 2011-06-18 17:54:01 -07:00
relnotes.html docs: 7.10.3 updates 2011-06-14 17:19:53 -06: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: Remove GLw from the documentation except for a new FAQ entry. 2011-08-15 13:37:27 -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 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
WL_bind_wayland_display.spec WL_bind_wayland_display: clarify that context must be NULL 2011-04-21 23:47:59 -04: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

                        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