Commit Graph

290 Commits

Author SHA1 Message Date
Jörg Müller
a0cbebf404 Audaspace: fixing problems for the merge to master suggested by Campbell and Sergey.
- rename WITH_EXTERNAL_AUDASPACE to WITH_SYSTEM_AUDASPACE.
- rename C/PYAUDASPACE to AUDASPACE_C/PY
- simplifying cmake defines and includes.
- fixing include paths and enabling WITH_SYSTEM_AUDASPACE for windows.
- fixing scons building.
- other minor build system fixes.
2015-07-28 14:01:53 +02:00
Sergey Sharybin
3d36489672 OpenSubdiv: Commit of OpenSubdiv integration into Blender
This commit contains all the remained parts needed for initial integration of
OpenSubdiv into Blender's subdivision surface code. Includes both GPU and CPU
backends which works in the following way:

- When SubSurf modifier is the last in the modifiers stack then GPU pipeline
  of OpenSubdiv is used, making viewport performance as fast as possible.

  This also requires graphscard with GLSL 1.5 support. If this requirement is
  not met, then no GPU pipeline is used at all.

- If SubSurf is not a last modifier or if DerivesMesh is being evaluated for
  rendering then CPU limit evaluation API from OpenSubdiv is used. This only
  replaces the legacy evaluation code from CCGSubSurf_legacy, but keeps CCG
  structures exactly the same as they used to be for ages now.

This integration is fully covered with ifdef and not enabled by default
because there are several TODOs to be solved first:

- Face varying data interpolation is not really cleanly implemented for GPU
  in OpenSubdiv 3.0. It is also not implemented for limit evaluation API.

  This basically means we'll have really hard time supporting UVs.

- Limit evaluation only works with adaptivly subdivided meshes so far, which
  basically means all the points of CCG are pushed to the limit. This gives
  different result from old code.

- There are some serious optimizations possible on the topology refiner
  creation, which would speed up initial OpenSubdiv mesh creation.

- There are some hardcoded asumptions in the GPU and DerivedMesh areas which
  could be generalized.

  That's something where Antony and Campbell can help, making it so the code
  is structured in a way which is reusable by all planned viewport projects.

- There are also some workarounds in the dependency graph to make sure OpenGL
  buffers are only freed from the main thread.

Those who'll be wanting to make experiments with this code should grab dev
branch (NOT master) from

  https://github.com/Nazg-Gul/OpenSubdiv/tree/dev

There are some patches applied in there which we're working on on getting
into upstream.
2015-07-20 22:29:26 +02:00
Sergey Sharybin
5a4b51992e SCons: Enable sm_52 CUDA kernel on all platforms 2015-06-20 17:01:21 +02:00
Sergey Sharybin
029bd44bbd SCons: Fix wrong flags usage after recent stdc89 changes
CCFLAGS are used for both C and C++ compilers and one is better not to pass
C-related flags to C++ compiler. C-compiler flags are to be passed via CFLAGS
variable.
2015-04-29 13:57:02 +05:00
Campbell Barton
eee666583f Use gnu89 for GCC
GCC5 defaults to gnu11, which we may switch to later
but disable for now to prevent accidental use.
2015-04-28 18:59:52 +10:00
Antony Riakiotakis
d58a15c0a6 Windows: Add stacktrace support when unhandled exception occurs.
We need to register the exception handler slightly differently here, as
well as adding DbgHelp as a library, but according to docs it should be
supported in recent Windows editions (Win XP included even).

We can try it first and revert if there are issues.
2015-03-03 13:39:15 +01:00
Joshua Leung
c62c44bdc1 Fix for scons + mingw64 warning flags fix
So, it turns out my changes here the other day were a bit too over-eager:
  -Wdeclaration-after-statement and -Wstrict-prototypes only applied to C code
and not C++ (which that set of flags was getting included for too).

  However, -Wno-char-subscripts is fine where it is now, so I've left it in place
2015-02-06 23:51:31 +13:00
Joshua Leung
31425f9225 Compiler warnings tweak for scons + mingw64
The warning flags in C_WARN were not actually getting included
(most notably, the one disabling the pointless + braindead one
about using chars to index into arrays - given that we only use
unsigned chars everywhere). Maybe this should get done for the
other scons platforms too?
2015-02-05 00:50:50 +13:00
Martijn Berger
ce6e71ea90 Make MSVC 2013 win32 also use new OpenEXR 2.2 2015-02-02 21:30:28 +01:00
Martijn Berger
d7ad64cc5e Bump OpenEXR to 2.2 for windows MSVC 2013 2015-02-02 19:44:49 +01:00
Sergey Sharybin
424100cecb Update scons build documentation
- fix dead blender.org link (build dependencies)
  - rewrite $BLENDERHOME/{config,tools}/* to $BLENDERHOME/build_files/scons/{config,tools}/*

Patch by David Creswick, thanks!

Reviewers: jesterking

Differential Revision: https://developer.blender.org/D798
2015-01-28 23:40:41 +05:00
Martijn Berger
ce52e781b0 Switch windows MSVC builds to OpenAL-soft 2015-01-28 10:36:19 +01:00
Sergey Sharybin
7b6c9d23cf Cycles: Fix compilation error with MinGW and logging enabled 2014-12-08 19:37:41 +05:00
Severin
e81d077c85 Input Method Editor (IME) support for text buttons
Original patch by @random (D765) with some minor work done by @campbell
and me.

At this place, I'd like call out a number of people who were involved and
deserve a big "Thank you!":
* At the first place @randon who developed and submitted the patch
* The Blendercn community which helped a lot with testing - espacially
* @yuzukyo, @leon_cheung and @kjym3
* @campbellbarton, @mont29 and @sergey for their help and advises during
* review
* @ton who realized the importance of this early on and asked me for
* reviewing

We are still not finished, as this is only the first part of the
implementaion, but there's more to come!
2014-12-07 00:58:17 +01:00
Joshua Leung
abab4f19e6 Fix scons+mingw64 compiling - Ensure WITH_BF_CYCLES_LOGGING is defined and turned off 2014-12-05 13:13:34 +13:00
Sergey Sharybin
2f637004d5 Buildbot: Enable sm_52 for OSX
This actually enables it in the darwin scons config, that's how it always
used to be configured there.
2014-12-04 19:30:35 +05:00
Thomas Dinges
4649f17c38 Cycles: Enable native sm_52 kernel for Windows. 2014-12-02 13:41:43 +01:00
Sergey Sharybin
82d2718c8f Switch to SDL2 on OSX 2014-11-19 19:41:41 +01:00
Sergey Sharybin
80d1d624d3 Support dynamic loading of SDL libraries
This is mainly to address old issue when one need to have SDL library installed
in order to use our official builds. Some hip distros already installs SDL,
but it's not quite the same across all the variety of the distros.

We also now switching to SDL-2.0, most of the distros have it in repositories
already, so it shouldn't be huge deal to install it if needed.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D878
2014-11-17 17:43:18 +05:00
Martijn Berger
96ca64629d Windows (MSVC2013) move to SDL2 2014-11-13 16:23:27 +01:00
Jens Verwiebe
c8a62319cf Linux/scons: fix compile, BF_BOOST_LIB_STATIC string was miising a space 2014-10-21 18:47:52 +02:00
Sergey Sharybin
9b9ddb4669 Make SCons's DEBUG/_DEBUG consistent with CMake
Also move this to a generic place in SConstruct instead of having this
defines in 6 different configurations.

Should not be functional changes, but please verify all the platforms.
2014-08-27 14:49:47 +06:00
Thomas Dinges
2b1bacddec Scons / Buildbot: Remove code for Visual Studio 2008.
Probably the vc2013 builder can become a more generic name now, but I will double check this with Martijn.
2014-08-12 12:32:39 +02:00
Martijn Berger
e7b396c954 fix check for not llvm 2014-08-02 15:30:28 +02:00
Martijn Berger
249fbbf764 Collada and llvm both use the same functions and they clash.
Since we have older llvm for msvc2008 and new one for msvc2013 we need to work around it.
2014-08-02 15:20:03 +02:00
Martijn Berger
bc9bbca41b Move to OIIO 1.4 also for windows x86 2014-08-02 09:59:09 +02:00
Martijn Berger
c9366a2969 Make build work with llvm3.4 and oiio 1.4 2014-08-01 13:43:12 +02:00
Jens Verwiebe
9a904a3857 OSX: adaptions needed for renewed osl/oiio/llvm 2014-07-25 10:27:30 +02:00
Jens Verwiebe
c4eeda2673 OSX: Jpeg2000 was formely handled by quicktime, after QT removal it was forgotten to move it to openjpeg, doing this now
Note: In releases this was missing since 2.69, so we may want an ‘a’ release for 2.71
2014-07-04 15:02:05 +02:00
Sergey Sharybin
72ac596e19 Update Ceres to latest upstream version
Brings new bounds limiting and also prepares build system
for the changes in the upstream.

Namely shared_ptr header and namespace is now being detected
by a build system rather than by hacks in the code.

This commit includes some changes to auto-detection flags
in SCons, presumably adding more consistency there. This
is main changes which are suppoed to be reviewed here.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D581
2014-06-27 14:08:27 +06:00
Thomas Dinges
11d1fea285 Windows: Enable numpy again, as we do have libs again for vc2013 and against py3.4. 2014-06-25 22:23:47 +02:00
Martijn Berger
07e8096c63 Promote MSVC 2013 to be the official platform (without a numbered suffix) for scons 2014-05-18 15:36:46 +02:00
Thomas Dinges
2eeab8f191 Windows: Remove support for MSVC 2012 (VC11).
The officially supported compiled is now MSVC 2013, and MSVC 2008 will be faded out slowly over the coming weeks.
2014-05-15 07:50:02 +02:00
Campbell Barton
ba88824f32 Remove unused scons config files 2014-05-08 14:16:26 +10:00
Thomas Dinges
d1009bdad5 Windows: Disable Numpy for now, we miss the libs for Python 3.4.
Also make the flag WITH_BF_PYTHON_INSTALL_NUMPY flag actually work on Windows.
2014-04-30 16:49:49 +02:00
741f17f05b Cycles CUDA: make CUDA toolkit 6.0 the official supported version.
This also updates the configurations to build kernels for compute capability
5.0 cards, when using and older CUDA toolkit version this will be skipped.

Also includes tweaks to improve performance with this version:
* Increase max registers on sm_30, sm_35 and sm_50
* No longer use texture storage on sm_30
2014-04-30 16:07:27 +02:00
Campbell Barton
b96d531bc9 Python: move to version 3.4x on all platforms 2014-04-30 23:19:16 +10:00
Campbell Barton
417efb0e8b Remove hard coded Python version for scons
note: this isn't best way of extracting version without '.'
2014-04-30 22:29:28 +10:00
Jens Verwiebe
cddbe87ae5 OSX/python: update to py 3.4 2014-04-15 14:12:22 +02:00
Antony Riakiotakis
3ab0a4da73 Enable openmp in MinGW-w64 2014-04-07 19:01:19 +03:00
Antony Riakiotakis
cc439f683b fix scons ffmpeg libraries for mingw32 2014-03-30 01:35:39 +02:00
Sergey Sharybin
d3a73d0845 Windows: Upgrade FFmpeg from 0.10 to 2.1.4
Fixes T39423: Blender crashes on iv41 encoded videos in thumbnail display mode

Libraries are still being committed to the svn, so compilation might be broken
for a while. Sorry for this, but can't really be avoided.

Also, some typos in scons are possible.
2014-03-27 16:52:59 +06:00
Campbell Barton
13290d5a16 Scons: remove lcms reference 2014-03-04 12:42:17 +11:00
Martijn Berger
4903544cad On MSVC 2013 64 bit set the default to build a vista API targetted binary. 2014-02-24 23:14:12 +01:00
Campbell Barton
a6b87853cb MSVC: add more warnings to match OSX/Linux 2014-02-19 18:05:37 +11:00
Campbell Barton
d76bcf98a3 MSVC: improve warnings for scons and cmake
Some int/float conversion warnings were disabled by buildsystems but
re-enabled by BLI_winstuff.h, the warnigns relate to conversions not
considered issues on other systems so better just quiet them.
2014-02-19 17:37:02 +11:00
Martijn Berger
ace071f99e prepare 32bit build msvc2013 scons/buildbot 2014-02-18 23:15:40 +01:00
Martijn Berger
727ef0dfde win32 MSVC 2013 add scons support 2014-02-13 19:15:43 +01:00
Jens Verwiebe
a84bcea070 OSX/scons: allow for compiling with clang-openmp-3.4
See: http://clang-omp.github.io
+ fix a longstanding bad include in darwin-config
2014-02-09 18:03:13 +01:00
Lawrence D'Oliveiro
cb0a5adc56 SCons: cleaner determination of 32-bit/64-bit builds
Try not to be x86-centric, remove unneeded blenderdeps variable.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D240
2014-02-04 19:01:10 +01:00