aboutsummaryrefslogtreecommitdiffstats
path: root/scons/gallium.py
Commit message (Collapse)AuthorAgeFilesLines
* scons: Re-enable SSE on MinGW.José Fonseca2010-09-051-11/+11
| | | | | It seems to be working correctly with gcc 4.4, and enabling it allows to test some of the llvmpipe instrinsics on Windows.
* scons: Add -fno-common for 64-bit builds on Mac OS X.Vinson Lee2010-08-171-0/+2
| | | | | This option is also needed for 64-bit builds if llvm is enabled. Other the build fails during linking.
* scons: Use '-Wmissing-field-initializers' on GCC 4.0 and greater only.Vinson Lee2010-07-231-1/+4
|
* scons: Fix Mac OS X SCons build on 32-bit CPUs.Vinson Lee2010-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | The Mac OS X SCons build failed on 32-bit CPUs starting with commit 2f6d47a7c8d6e69e5154de44115aab9ba35a41d2 during linking of graw-null. The build succeeds though on a 64-bit CPU. See FDO bug 29117. This was the compiler error. scons: building associated VariantDir targets: build/darwin-x86-debug Linking build/darwin-x86-debug/gallium/targets/graw-null/libgraw.dylib ... Undefined symbols: "_lp_swizzled_cbuf", referenced from: _lp_swizzled_cbuf$non_lazy_ptr in libllvmpipe.a(lp_rast.os) _lp_swizzled_cbuf$non_lazy_ptr in libllvmpipe.a(lp_rast_tri.os) (maybe you meant: _lp_swizzled_cbuf$non_lazy_ptr) "_lp_dummy_tile", referenced from: _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_rast.os) _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_rast_tri.os) _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_setup.os) (maybe you meant: _lp_dummy_tile$non_lazy_ptr) The patch adds -fno-common to all Mac OS X builds to work around this issue.
* scons: Make PIPE_ALIGN_VAR() of static/global vars work on MinGW.José Fonseca2010-07-161-0/+3
| | | | Workaround http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216
* scons: Make LLVM a black-white dependency.José Fonseca2010-04-111-2/+4
| | | | | | | Now that draw depends on llvm it is very difficult to correctly handle broken llvm installations. Either the user requests LLVM and it needs to supply a working installation. Or it doesn't, and it gets no LLVM accelerate pipe drivers.
* scons: Control caching via new SCONS_CACHE_DIR environment variable.José Fonseca2010-02-141-1/+3
| | | | | | | | | | | | | | This serves several purposes: - disable caching in situations were is it useless or undesired - share caches among all trees - simplify purging the cache (when it's a single location) - move the cache out of the tree, since that slows downs IDEs considerably To retain previous behavior just define do export SCONS_CACHE_DIR=$PWD/build/cache before invoking scons.
* scons: Undo bad merge from cherry-pick.José Fonseca2010-02-121-2/+0
|
* scons: Target Windows7.José Fonseca2010-02-121-2/+5
|
* scons: Eliminate mixed space/tabs.José Fonseca2010-02-041-10/+10
|
* scons: Only override scons CC selection in the embedded platform.José Fonseca2010-02-041-12/+16
|
* scons: Promote EMBEDDED from subsystem to full os.José Fonseca2010-02-041-1/+1
|
* another gcc 4.2.x check for mstackrealignAlan Hourihane2010-01-291-1/+4
|
* add PIPE_SUBSYSTEM_EMBEDDED when embedded platform usedAlan Hourihane2010-01-281-0/+2
|
* scons: Do not use linker option '-Bsymbolic' on Mac OS X.Vinson Lee2010-01-281-3/+4
| | | | ld on Mac OS X does not recognize the option '-Bsymbolic'.
* Duplicate CCVERSION check code to compensate for different env CC.Alan Hourihane2010-01-271-2/+16
|
* scons: Use '-Werror=' option on GCC 4.2.x and greater.Vinson Lee2010-01-261-1/+2
| | | | The existing code only checked for GCC 4.2.x and 4.3.x.
* fix typoAlan Hourihane2010-01-261-2/+1
|
* only use -Werror flags with gcc 4.2.x and 4.3.x.Alan Hourihane2010-01-261-2/+8
| | | | could use a better test here though.
* Merge branch 'mesa_7_7_branch'Brian Paul2010-01-251-1/+4
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/intel/intel_screen.c src/mesa/drivers/dri/intel/intel_swapbuffers.c src/mesa/drivers/dri/r300/r300_emit.c src/mesa/drivers/dri/r300/r300_ioctl.c src/mesa/drivers/dri/r300/r300_tex.c src/mesa/drivers/dri/r300/r300_texstate.c
| * scons: Do not use ld options start-group and end-group on Darwin.Vinson Lee2010-01-231-1/+4
| | | | | | | | Mac OS X ld does not support these options.
* | scons: Put glut and glew shared libraries into build/xxx/bin or lib.José Fonseca2010-01-021-17/+21
| | | | | | | | Use bin subdir for windows dlls, lib for unices.
* | scons: Disable version symlinking for DLLs.José Fonseca2010-01-021-6/+10
| | | | | | | | Fixes windows build.
* | scons: Don't globally define WIN32_LEAN_AND_MEAN.José Fonseca2010-01-011-2/+0
| | | | | | | | | | | | | | | | Some of the demo progams legitimately need the functionality that's disabled by WIN32_LEAN_AND_MEAN. Instead the solution should be to define WIN32_LEAN_AND_MEAN just before including windows.h on a case by case basis.
* | scons: Expose convienience libraries to the host environment.José Fonseca2010-01-011-115/+1
| | | | | | | | | | This fixes MinGW cross compilation build, recently broken due to the use of convenience libraries in the GLSL preprocessor.
* | scons: Put the configuration info in the build directory too.José Fonseca2009-12-261-0/+2
| | | | | | | | | | It fixes cached configuration results from one platform being erroneously used in other platforms.
* | llvmpipe: Install unit tests on build/xxx/binJosé Fonseca2009-12-231-0/+7
| |
* | Revert "scons: Pass -fno-strict-aliasing to gcc."Brian Paul2009-12-111-1/+0
|/ | | | | | This reverts commit a2937a2f4ecf22a5a4242cd0a350f20228f50232. Per Jose's comment, We don't want this on master.
* scons: Tweak MSVC release options.José Fonseca2009-12-111-2/+7
| | | | Enable whole program optimizations and fast math.
* scons: Pass -fno-strict-aliasing to gcc.José Fonseca2009-12-111-0/+1
| | | | | | | Strict aliasing tule violations were fixed on master, but they're still causing problem in this branch, so disable this assumptions. Do not apply this fix to master (revert when you merge).
* scons: Promote pointer arithmetic to error.José Fonseca2009-11-271-1/+1
| | | | | All code covered by scons is being built on multiple OSes, so pointer arithmetic must really be addressed when spotted.
* util: Remove homegrown Windows KM profiler.José Fonseca2009-11-041-5/+0
| | | | | It's not sampling based so its results are biased towards functions called many times.
* scons: Define _USE_MATH_DEFINES on MSVC.José Fonseca2009-10-261-0/+1
|
* scons: Disable more MSVC pedantic security warnings.José Fonseca2009-10-221-0/+3
|
* scons: Disable SSE intrinsics on MinGW.José Fonseca2009-10-141-2/+10
| | | | | | | | | | | | | | | | -mstackrealign causes stack corruption on MinGW. And without it the ability to use SSE instrinsics goes down the drain. Even if we use __attribute__((force_align_arg_pointer)) for the functions we explicitly use SSE instrinsics, the SSE code automatically generated by gcc will cause assertion failures. What a nightmare. Thankfully LLVM gets this right, so all runtime generated SSE code just works. rtasm code doesn't assume 16byte alignment. Therefore the bulk of our performance sensitive code is not affected by this. Still, intrinsics can be convenient, and it would be nice to get this working again some day, sp will try to get a reduced test case.
* scons: Drop gprof support for profile builds; tweak optimization flags instead.José Fonseca2009-09-201-1/+5
| | | | | | gprof is useful for shared libraries, hence our drivers. Nevertheless profilers like oprofile can benefit from disabling some relatively minor optimizations for more accurate / complete results.
* scons: Pass -mstackrealign option to gcc.José Fonseca2009-09-091-0/+1
| | | | | It is impossible to have gcc generate SSE code without it, as thirdparty applications often call us with an unaligned stack pointer.
* scons: Handle Circular dependencies in the libraries.José Fonseca2009-08-131-0/+2
|
* Merge branch 'mesa_7_5_branch'Brian Paul2009-07-171-0/+2
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: Makefile progs/glsl/multitex.c src/mesa/main/enums.c src/mesa/main/state.c src/mesa/main/texenvprogram.c src/mesa/main/version.h
| * scons: Monkey patch os.spawnve on Windows to become thread safe.José Fonseca2009-07-141-0/+2
| | | | | | | | | | | | See also: - http://bugs.python.org/issue6476 - http://scons.tigris.org/issues/show_bug.cgi?id=2449
* | Merge branch 'mesa_7_5_branch'Jakob Bornecrantz2009-06-141-2/+9
|\|
| * scons: Disable optimizations only for gcc-4.2José Fonseca2009-06-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/
| * scons: Use -Bsymbolic linker option.José Fonseca2009-06-281-0/+5
| | | | | | | | | | | | | | | | This prevents the error relocation R_X86_64_PC32 against symbol `_gl_DispatchTSD' can not be used when making a shared object; recompile with -fPIC when building on x86_64 architecture.
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-261-20/+25
|\| | | | | | | | | | | | | | | Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
| * scons: Don't use C specific options with g++José Fonseca2009-06-261-20/+25
| |
* | scons: Indent abbreviated command line strings, so command messages stand out.Michel Dänzer2009-06-111-11/+12
|/ | | | Also add ASPPCOMSTR.
* Revert "scons: Less aggressive optimizations for MSVC 64bit compiler."José Fonseca2009-06-081-16/+1
| | | | This reverts commit fc7f92478286041a018ac4e72d2ccedeea7c0eca.
* scons: Less aggressive optimizations for MSVC 64bit compiler.José Fonseca2009-06-021-4/+17
| | | | | | MSVC 64bit compiler takes forever on some of the files. Might want to revisit this again later.
* scons: Output nice summary messages instead of long command lines.José Fonseca2009-06-021-4/+9
| | | | You can still get the old behavior by passing the option quiet=no to scons.
* scons: mingw is broken with -O1 and higherKeith Whitwell2009-05-081-0/+2
|