Mesa3D Graphics Library (Bleeding edge ray tracing branches)
Go to file
José Fonseca bb8f3090ba scons: Disable optimizations only for gcc-4.2
gcc-4.2's optimizer has a strange bug where it looses code from inner
loops in certain situations. For example, if the appearently innocent
looking code below is compiled with gcc-4.2 -S -O1, the inner loop's
code is missing from the outputed assembly.

   struct Size {
      unsigned width;
   };

   struct Command {
      unsigned length;
      struct Size sizes[32];
   };

   extern void emit_command(void *command, unsigned length);

   void
   create_surface( struct Size size, unsigned faces, unsigned levels)
   {
      struct Command cmd;
      unsigned face;
      unsigned level;

      cmd.length = faces*levels*sizeof(cmd.sizes[0]);

      for(face = 0; face < faces; ++face) {
	 for(level = 0; level < levels; ++level) {
	    cmd.sizes[face*levels + level] = size;
	    // This should generate a shrl statement, but the whole for body
	    // disappears in gcc-4.2 -O1/-O2/-O3!
	    size.width >>= 1;
	 }
      }

      emit(&cmd, sizeof cmd.length + cmd.length);
   }

Note that this is not specific to MinGW's gcc-4.2 crosscompiler (the
version typically found in debian/ubuntu's mingw32 packages). gcc-4.2 on
Linux also displays the same error. gcc-4.3 and above gets this
correctly though.

Updated MinGW debian packages with gcc-4.3 are available from
http://people.freedesktop.org/~jrfonseca/debian/pool/main/m/
2009-06-28 11:12:22 +01:00
bin Cygwin build fixes 2009-06-08 14:30:46 -06:00
configs mesa: added linux-osmesa-static config 2009-05-18 08:47:22 -06:00
docs docs: detect when too many varying vars are used 2009-06-26 16:54:44 -06:00
doxygen Merge branch 'gallium-0.1' into gallium-0.2 2008-09-11 16:05:15 +01:00
include glew: correct misspelling of glFramebufferTextureLayer 2009-06-18 10:13:55 +01:00
progs demos: improve argv parsing in fslight.c 2009-06-26 13:16:32 -06:00
scons scons: Disable optimizations only for gcc-4.2 2009-06-28 11:12:22 +01:00
src glsl: check number of varying variables against the limit 2009-06-26 16:53:46 -06:00
windows wgl: Port sharedtex_mt to WGL. 2009-03-17 14:27:47 +01:00
.emacs-dirvars Add emacs dirvars file with Mesa indention definition. 2007-09-18 10:02:51 -04:00
.gitattributes Allow CRLF automatic conversion on MSVC project files. 2008-06-24 22:25:52 +09:00
.gitignore scons: Build progs. 2008-11-21 10:44:30 +09:00
Makefile mesa: bump version to 7.5-rc4 2009-06-26 13:16:34 -06:00
SConstruct scons: Don't use deprecated Options. 2009-05-08 14:57:27 +01:00
acinclude.m4 autoconf: Attempt to figure out the PIC flags for the platform 2008-05-09 07:05:16 -07:00
autogen.sh autogen: Make sure MAKEFLAGS is not set before running autoreconf 2009-02-10 11:58:11 +10:30
common.py Revert "scons: Debug build by default." 2009-06-17 15:24:06 +01:00
configure.ac Cygwin build fixes 2009-06-08 14:30:46 -06:00

docs/README.directfb

                         
                         Mesa DirectFB Information


Requirements
============

  To build Mesa with DirectFB (DirectFBGL) support you need:
     - DirectFB at least 1.0.0 (http://directfb.org)
     - pkg-config at least 0.9 (http://pkgconfig.sf.net)


Installation
============
  Run
     
     make linux-directfb

  to build Mesa and DirectFBGL module,

     make install

  to install OpenGL libraries and

     cd src/mesa/drivers/directfb ; make install

  to install DirectFBGL module in the proper location.
  Actually, that last command may not be needed.  Please provide feedback.