WindML Driver for Mesa 4.0

来源:互联网 发布:淘宝洗照片不清楚 编辑:程序博客网 时间:2024/06/14 01:18
                        WindML Driver for Mesa 4.0Requirements------------Tornado 2 + WindML, Cumulative Patchs are recommended.   I suppose you have a valid WindML installation. Double buffer hardwaregives better performance than double buffer software so if you cancompile your WindML driver with this option, just do it. I/Oredirection is adviced in target server.Tested on---------During the development, my main target was a CoolMonster:- Video card: CT69000- CPU: PENTIUM 266MHzand 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:/MesaOR 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=PENTIUMTake a long while...5. Include all the files from ugldemos folder to build some downloadable   application modules4. Download UGL/Mesa object files on targetFor example via the WindShell:ld < c:/Tornado/target/lib/objMesaGL.old < c:/Tornado/target/lib/objMesaUGL.old < c:/Tornado/target/lib/objMesaGLU.old < c:/Tornado/target/lib/objGLUTshapes.old < c:/Tornado/target/lib/objMesaOS.oYou can put the previous lines in a file and use:< filename6. Download the application modules.7. In WindShell, run:-> uglalldemosDuring the show some messages will appear, it provides some usefulinformation on key management.Coding------Sample Usage:In addition to the usual ugl calls to initialize UGL, (may be find aninput 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 bufferModifications------------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.batrem Command line build environmentsset WIND_HOST_TYPE=x86-win32set WIND_BASE=C:/Tornadoset MESA_BASE=C:/Mesaset 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 compilationThanks 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
see:
http://www.mesa3d.org/