Find a file
George Sapountzis 20ec486baf Drop XFree86Server from execmem.c
This is a remnant from the libcwrapper days that can be removed now. It is the
last XFree86 glitch in Mesa core.

Reverts the following commit (thanks to Brian Paul for pointing to it):

commit 8b1dc68662
Author: Alan Hourihane <alanh@tungstengraphics.com>
Date:   Tue Jan 24 21:40:53 2006 +0000

    pull in fix from 6.4 branch for XFree86Server definition

commit cc7b6810e2
Author: Ian Romanick <idr@us.ibm.com>
Date:   Fri Oct 21 18:09:24 2005 +0000

    Make execmem.c compile in the server (libGLcore).  Since xf86mmap
    doesn't know about MAP_ANONYMOUS, this is the only viable fix.  This
    issue will likely have to be revisited at some point.
2007-04-07 18:41:14 +03:00
bin simplify .a suffixing 2007-03-27 07:58:47 -06:00
configs bump version to 6.5.3 to match version.h 2007-03-28 09:07:41 -06:00
docs assorted updates 2007-04-04 09:33:12 -06:00
doxygen doxygen: update doxygen project number to 6.5 2007-02-16 23:22:04 +01:00
include Remove SI imports/exports remnants. 2007-04-05 19:01:51 +03:00
progs added glActiveStencilFaceEXT 2007-04-07 08:38:36 -06:00
src Drop XFree86Server from execmem.c 2007-04-07 18:41:14 +03:00
vms Committing in . 2003-06-17 07:20:22 +00:00
windows Move mipmap generation functions, texture scaling functions into new 2006-09-29 01:24:26 +00:00
.gitignore Make git ignore Emacs backup files. 2006-12-06 18:39:05 +01:00
descrip.mms Correcting directory name in OpenVMS-Makefile 2006-09-22 11:09:07 +00:00
Makefile set version for tarballs to 6.5.3pre for now 2007-04-07 08:48:07 -06:00
Makefile.DJ DMesa now uses OSMesa as a back-end. 2006-03-31 20:53:12 +00:00
Makefile.mgw remove stupid flags 2005-05-23 22:02:53 +00:00
mms-config. Committing in . 2003-06-17 07:20:22 +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