progs/egl: Add an OpenGL ES demo for EGL_OES_image_pixmap.
[mesa.git] / docs / README.BEOS
index 46b9691bc5df354a218e85d91d44477d57e42924..efd84e888cba808d75fc9392ddc93c0e14334052 100644 (file)
@@ -3,61 +3,91 @@
 
 
 
-Introduction
+Introduction
 
-Mesa 3.1 features a new driver for the BeOS.  The new driver implements
-a clone of the BGLView class.  This class, derived from BView, allows
-OpenGL rendering into a BeOS window.
+Brian Paul added in Mesa 3.1 a driver for BeOS R4.5 operating system.
+This driver implements a clone of the BGLView class.  This class,
+derived from BView, allows OpenGL rendering into any BeOS window.  His
+driver was updated in Mesa 4.1 and again in version 6.1 by Philippe
+Houdoin, who's maintaining this driver since.
 
 Any application which uses the BGLView should be able to use Mesa
 instead of Be's OpenGL without changing any code.
 
-Since Be's OpenGL implementation (as of R4) is basically just the
+Since Be's OpenGL implementation (as of R5) is basically just the
 SGI sample implementation, it's pretty slow.  You'll see that Mesa
 is considerably faster.
 
 
+* Source Code
 
-Source Code
-
-The source code for the driver is in Mesa-3.1/src/BeOS/GLView.cpp
+The source code for the driver is in src/mesa/drivers/beos/ directory.
 It's not 100% finished at this time but many GLUT-based demos are
 working.  No optimizations have been made at this time.
 
 
+* Compiling
 
-Compiling
+Since Mesa 6.x, it can be build under BeOS with both the R5 builtin gcc version
+or more recent gcc versions available for BeOS, like this gcc version 2.95.3 for BeOS 
+you can find at http://www.bebits.com/app/2157.
+Anyway, keep in mind that to take full advantage of Mesa x86 optimizations, you better
+want to use gcc 2.95.3 or sooner versions...
 
-Simply cd to the Mesa-3.x directory and type "make beos-r4".
-When it finishes the libMesaGL.so and libMesaGLU.so libraries for
-BeOS will be in the Mesa-3.x/lib/ directory.
+To build Mesa-powered BeOS libGL.so version, open an Terminal window,
+move to Mesa root folder and type this command:
 
+$ make beos
 
+Note that the "beos" argument is only needed the first time to setup build config.
+Next times, typing "make" will be enough.
 
-Example Programs
+When it finishes the Mesa based libGL.so library for
+BeOS will be in the lib/ directory, along libglut.so library.
+Several demo/test programs should have been build too under progs/* folders.
+If it stop when building one of the progs/* programs, you may want to ignore it
+and force make to move on next target by adding the -k make option:
 
-Look in the Mesa-3.x/BeOS/ directory for one or two BGLView demo
-programs.  They should have been compiled along with the Mesa
-library.
+$ cd progs
+$ make -k
 
+To install it as Be's default libGL.so replacement, put it in your 
+/boot/home/config/lib/ directory. All your GL/GLUT apps will use 
+the Mesa based then. 
 
+By default, it build a non-debug version library.
+The x86 (MMX, SSE and 3DNOW) optimizations are also supported for x86 target.
+For PowerPC BeOS flavor, sorry, Mesa don't have ppc (Altivec) optimizations
+yet.
 
-GLUT
+To build a DEBUG version, type instead this :
 
-A version of GLUT 2.5 for BeOS can be found in src-glut.beos/.
-The original distribution can be obtained from
-http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip
+$ DEBUG=1 make
+
+
+* Example Programs
+
+Look under progs/beos/ for some BGLView-based programs.
+You should find under progs/samples and progs/redbook directories GLUT-based programs too.
+They all should have been compiled along with the Mesa library.
 
-This is a special version of GLUT adapted for the BeOS.  I don't
-believe Mark Kilgard's normal GLUT distribution includes BeOS
-support.
 
-It seems that you have to recompile GLUT with libMesaGL.so instead
-of libGL.so in order for everything to work.  I'm not sure why.
+* GLUT
 
+A beta version of GLUT 3.7 port for BeOS, made by Jake Hamby, can be found at 
+http://anobject.com/jehamby/Code/Glut-3.7-x86.zip.
+This is the version currently included in Mesa source code, and
+build in lib/libglut.so.
+A previous 3.5 version of this GLUT BeOS port used to be available at
+http://home.beoscentral.com/jehamby/Glut-3.5-x86.zip.
+
+They're special versions of GLUT for the BeOS platform.  I don't
+believe Mark Kilgard's normal GLUT distribution includes BeOS
+support.
 
 
-Special Features
+Special Features
 
 Mesa's implementation of the BGLView class has an extra member
 function:  CopySubBufferMESA().  It basically works like SwapBuffers()
@@ -68,35 +98,39 @@ that you're actually using Mesa (with glGetString) so you don't
 cause a fatal error when running with Be's OpenGL.
 
 
+* Work Left To Do
 
-Work Left To Do
+- BDirectWindow single buffering support is not implemented yet.
+- Color index mode is not implemented yet.
+- Reading pixels from the front buffer not implemented yet.
+- There is also a BGLScreen class in BeOS for full-screen OpenGL rendering.
+  This should also be implemented for Mesa.
+- Multiple renderers add-ons support, first step toward hardware acceleration
+  support.
 
-Color index mode is not implemented yet.
+* Other contributors to this BeOS port
 
-Reading pixels from the front buffer not implemented yet.
+Jake Hamby                      jhamby <at> anobject <dot> com
+Marcin Konicki                  ahwayakchih <at> neoni <dot> net
+Francois Revol                  revol <at> free <dot> fr
+Nathan Whitehorn                nathanw <at> uchicago <dot> edu
 
-There is also a BGLScreen class in BeOS for full-screen OpenGL
-rendering.  This should also be implemented for Mesa.
 
-
-
-Old BeOS Driver
+* Older BeOS Driver
 
 Mesa 2.6 had an earlier BeOS driver.  It was based on Mesa's Off-screen
 rendering interface, not BGLView.  If you're interested in the older
 driver you should get Mesa 2.6.
 
 
-
-BeOS and Glide
+* BeOS and Glide
 
 Mesa 3.0 supported the 3Dfx/Glide library on Beos.  Download Mesa 3.0
 if interested.  Ideally, the 3Dfx/Glide support should be updated to
 work with the new Mesa 3.1 BGLView implementation.
 
-The Glide library hasn't been updated for BeOS R4, to my knowledge, as
-of February, 1999.
+The Glide library hasn't been updated for BeOS R4 and newer, to my knowledge,
+as of February, 1999.
 
 
 ----------------------------------------------------------------------
-$Id: README.BEOS,v 1.5 1999/03/03 02:34:04 brianp Exp $