1 2 WindML Driver for Mesa 4.0 3 4 5Requirements 6------------ 7 8Tornado 2 + WindML, Cumulative Patchs are recommended. 9 10I suppose you have a valid WindML installation. Double buffer hardware 11gives better performance than double buffer software so if you can 12compile your WindML driver with this option, just do it. I/O 13redirection is adviced in target server. 14 15 16Tested on 17--------- 18 19During the development, my main target was a CoolMonster: 20- Video card: CT69000 21- CPU: PENTIUM 266MHz 22 23and my host a Windows NT + Tornado 2. 24 25 26Installation 27------------ 28 291. Mesa sources must be in root directory (C:\) 30 312. Add the following line to your torVars.bat: 32set MESA_BASE=C:\Mesa 33 34OR copy the new torVars.bat in your bin path: 35c:/Mesa/src/ugl/tornado/torVars.sample -> 36/mnt/nt/Tornado/host/x86-win32/bin/torVars (for example) 37 383. In a command prompt: 39$ torVars 40$ cd c:\Mesa 41$ make -f Makefile.ugl CPU=PENTIUM 42 43Take a long while... 44 455. Include all the files from ugldemos folder to build some downloadable 46 application modules 47 484. Download UGL/Mesa object files on target 49 50For example via the WindShell: 51ld < c:\Tornado\target\lib\objMesaGL.o 52ld < c:\Tornado\target\lib\objMesaUGL.o 53ld < c:\Tornado\target\lib\objMesaGLU.o 54ld < c:\Tornado\target\lib\objGLUTshapes.o 55ld < c:\Tornado\target\lib\objMesaOS.o 56 57You can put the previous lines in a file and use: 58< filename 59 606. Download the application modules. 61 627. In WindShell, run: 63-> uglalldemos 64 65During the show some messages will appear, it provides some useful 66information on key management. 67 68 69Coding 70------ 71 72Sample Usage: 73 74In addition to the usual ugl calls to initialize UGL, (may be find an 75input driver), you must do the following to use the UGL/Mesa interface: 76 771. Call uglMesaCreateContext() to create a UGL/Mesa rendering context, 78 given the display format. 79 802. Call uglMesaMakeCurrent() to bind the UGL/Mesa buffers to an 81 UGL/Mesa Context and to make the context the current one. 82 833. Make gl* calls to render your graphics. 84 854. Use uglMesaSwapBuffers() when double buffering to swap front/back buffers. 86 875. Before the UGL is destroyed, call MesaDestroyContext(). 88 896. Before exiting, call if required uglEventQDestroy and then 90 uglDeinitialize(); 91 92Limitations 93----------- 94 95I found the following limitations in my driver : 96 - Color Indexed management is only in 8 bits 97 - It's possible to mix UGL/OpenGL application with a software 98 double buffer 99 100Modifications 101------------ 102 103New files in Mesa: 104- Makefile.ugl 105- rules.windmlmesa 106- docs/README.UGL 107- include/GL/uglmesa.h 108- si-glu/Makefile.ugl 109- src/Makefile.ugl 110- src/ugl/torGLUTShapesInit.c 111- src/ugl/torMesaUGLInit.c 112- src/ugl/ugl_api.c 113- src/ugl/ugl_dd.c 114- src/ugl/ugl_glutshapes.c 115- src/ugl/ugl_line.c 116- src/ugl/ugl_span.c 117- src/ugl/ugl_tri.c 118- src/ugl/uglmesaP.h 119- ugldemos/* 120 121Modified files in Tornado 2.0: 122- c:\Tornado\host\x86-win32\bin\torVars.bat 123rem Command line build environments 124set WIND_HOST_TYPE=x86-win32 125set WIND_BASE=C:\Tornado 126set MESA_BASE=C:\Mesa 127set PATH=%WIND_BASE%\host\%WIND_HOST_TYPE%\bin;%PATH% 128- c:\Tornado\target\config\comps\VxWorks\01uglmesa.cdf 129- c:\Tornado\target\h\GL\* 130 131Todo 132---- 133- GCC 2.96, ASM compilation 134 135Thanks to: 136---------- 137 138Precision Insight team for their great job around Mesa, XFree, and DRI. 139Wind River Systems to take me as an intern. 140 141 142Stephane Raimbault 143<stephane.raimbault@windriver.com> 144<stephane.raimbault@deesse.univ-lemans.fr> 145 146July 24, 2001 147