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
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
bugs.html
cell.html
conform.html
contents.html docs: replace llvmpipe/README with docs/llvmpipe.html 2011-04-07 13:56:45 -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: 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
envvars.html mesa: new MESA_EXTENSION_MAX_YEAR env var 2011-03-24 11:39:23 -06:00
extensions.html
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
gears.png
GL3.txt docs: update GL3.txt with new GL 4.2 extensions 2011-08-09 10:39:52 +01:00
glfbdev-driver.html
glu.html
helpwanted.html
index.html
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
libraries.html
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
mesa.css
MESA_agp_offset.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
MESA_copy_sub_buffer.spec
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
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
MESA_shader_debug.spec
MESA_swap_control.spec docs: fix typos in Mesa specs 2011-04-10 09:58:53 -06:00
MESA_swap_frame_usage.spec
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
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
precompiled.html
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: Remove MSVS project files. 2011-04-23 13:18:45 +01: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
relnotes-7.5.2.html
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
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
shading.html docs: fix glsl_compiler name 2011-02-16 17:05:08 -07:00
sourcedocs.html
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
systems.html
thanks.html
utilities.html
utility.html
VERSIONS
versions.html
webmaster.html
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

                        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