Commit Graph

3675 Commits

Author SHA1 Message Date
Thomas Dinges
0cbdac99b8 Interface:
* More compact and better looking Vertex Groups panel (Particle System).
* Smaller uiLists for Cycles as well.
2013-10-13 23:45:41 +00:00
Dalai Felinto
fa873f956c fix [#37059] OSX Debug - assert when using external screen with MacBookPro
This was old code, Blender now supports multiple screens.
The assert was breaking my builds with -DWITH_ASSERT_ABORT=ON
2013-10-12 20:01:17 +00:00
Brecht Van Lommel
9d7567d6ac Fix #37002: cycles viewport render shows white on old graphics cards with no
support for non-power-of-two textures.
2013-10-12 13:55:52 +00:00
Thomas Dinges
c0295bd3d3 Code cleanup: Remove some more unused cycles SSS code, related to the lookup table. 2013-10-12 09:54:57 +00:00
Brecht Van Lommel
8f33609374 Code cleanup: remove some unused cycles SSS code. 2013-10-12 00:08:31 +00:00
Brecht Van Lommel
1760f5fdcc Fix FreeBSD build with recent malloc changes, patch by Shane Ambler. 2013-10-11 14:41:00 +00:00
Campbell Barton
e220d3228f add MEM_SIZE_OPTIMAL to avoid memory fragmentation & waste lost to slop-space. 2013-10-10 18:18:13 +00:00
Campbell Barton
8fd52b3433 style cleanup 2013-10-10 17:28:01 +00:00
Thomas Dinges
3d4bbd278a * Code cleanup for M_PI code. 2013-10-10 17:14:04 +00:00
Thomas Dinges
223c637a93 * Fix Windows compiler errors after recent Lock-free memory allocator commit.
Patch by Sergey, thanks. :)
2013-10-10 16:11:57 +00:00
Brecht Van Lommel
b880b01db5 Fix OS X build error in malloc code, and warning in rna. 2013-10-10 15:44:47 +00:00
Dalai Felinto
180de82e41 ocio build fix for Windows
report by email and patch by Benoit Bolsee

"It is a basic compilation bug (variable defined in a c file and declared
in the c++ file: name decoration will change the name in the c++ file
and the linker will not find it)"
2013-10-10 14:24:52 +00:00
Sergey Sharybin
4bd4037276 Lock-free memory allocator
Release builds will now use lock-free allocator by
default without any internal locks happening.

MemHead is also reduces to as minimum as it's possible.
It still need to be size_t stored in a MemHead in order
to make us keep track on memory we're requesting from
the system, not memory which system is allocating. This
is probably also faster than using a malloc's usable
size function.

Lock-free guarded allocator will say you whether all
the blocks were freed, but wouldn't give you a list
of unfreed blocks list. To have such a list use a
--debug or --debug-memory command line arguments.

Debug builds does have the same behavior as release
builds. This is so tools like valgrind are not
screwed up by guarded allocator as they're currently
are.

--
svn merge -r59941:59942 -r60072:60073 -r60093:60094 \
          -r60095:60096 ^/branches/soc-2013-depsgraph_mt
2013-10-10 11:58:01 +00:00
Sergey Sharybin
0a862cb61a Fix compilation error of OCIO with MSVC 2013-10-09 20:45:29 +00:00
Brecht Van Lommel
a200256451 Fix windows scons OSL build error, just use quotes now instead of array. 2013-10-09 20:11:18 +00:00
Sergey Sharybin
ccd2e4375a Fix compilation error after recent libmv change
- Tweaked typedefs in stdint so they match
  what we've got in BLI_sys_types (needed to
  explicitly tell sign to MSVC).

  Not so much harmful to be more explicit here,
  but we really better to have single stdint
  int blender.

- Tweaked allocations macros so MSVC is happy
  with structures allocation.
2013-10-09 19:49:09 +00:00
Brecht Van Lommel
bde4148375 Fix OSL shader build failing with spaces in the path to build directory,
patch by Campbell.
2013-10-09 18:48:32 +00:00
Sergey Sharybin
6e1fe4ddd9 Implementation of curve mapping in GLSL
The title says it all, now having curve mapping
enabled in color management settings wouldn't
force fallback from GLSL to CPU based color space
conversion.
2013-10-09 15:57:32 +00:00
Sergey Sharybin
49bc310671 Move guarded objetc allocation to a guardedalloc header
Also made libmv-capi use guarded objetc allocation.
Run into some suspecious cases when it was not so
clear whether memory is being freed or not.

Now we'll know for sure whether there're leaks or not :)

Having this macros in a guardedalloc header helps
using them in other areas (for now it's OCIO and libmv,
but in the future it'll be more places).
2013-10-09 08:46:02 +00:00
Thomas Dinges
e6ce07a5d4 Cycles / SSS:
* Remove the compatible falloff SSS implementation. We shouldn't support two implementations in the long term, and 2.7x is a good release number do break some compatibility as well. 

* Version patch added, so Files with Compatible falloff will automatically use Cubic now. 

It was already mentioned in the manual, that Compatible is deprecated. 
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#BSSRDF
2013-10-08 17:07:18 +00:00
Thomas Dinges
b5a5773fa9 Cycles / CUDA:
* Remove support for  CUDA Toolkit 4.x, only Toolkit 5.0 and above are supported now.
* Remove support for sm_1x cards (< Fermi) for good. We didn't officially support those cards for a few releases already, now remove some special code that was still there.
2013-10-08 15:29:28 +00:00
Campbell Barton
916f793a70 code cleanup: strange formatting. 2013-10-08 11:27:39 +00:00
Antony Riakiotakis
1beec5ba47 Add GLEW_STATIC definition for CMake as well. 2013-10-07 18:56:21 +00:00
Sergey Sharybin
098207e634 Fix regression in r59316
Different version could be passed here, added check
cached path is calculated with the proper one.
2013-10-07 16:06:15 +00:00
Brecht Van Lommel
03bb0f5c72 Revert revision 59985, 59986, 60046 and 60067. These were fixes to improve save
and restore of window setups with multiple monitors, but they are also causing
regressions, in particular issues with Blender overlapping the taskbar and the
user preferences opening wrong. We decided to revert to the old behavior for
the release.

See bug #36707 for the full explanation.
2013-10-06 14:32:53 +00:00
Brecht Van Lommel
e9d03296c7 Better fix for #36935 and 36316:
* 32 bit GCC builds now have the SSE BVH optimizations turned off, but still
  compile with SSE flags for better performance.

* White color when rendering on Windows seems to have been unrelated to SSE,
  rather it was a graphics driver not supporting half float textures, added a
  check for that now.
2013-10-05 19:56:34 +00:00
Lukas Toenne
4aacb0eda9 Fix #36962, "Render emitter" option for hair is ignored in Cycles. Hair particles use the hide_tris boolean to disable rendering of the emitter, but this was still ANDed with the "experimental" flag.
Hair is not experimental any longer, so this has to be removed.
2013-10-05 12:46:32 +00:00
Brecht Van Lommel
4c5d6dcbaf Fix cycles hair render UI panel showing for particles that are not hair,
patch by Greg Zaal.
2013-10-04 18:04:29 +00:00
Brecht Van Lommel
6737a04061 Attempt to fix #36935: disable SSE optimizations on 32 bit windows too. Something
strange is going on here, but I don't think it can be fixed before the release,
if it is worth at all spending time on this.
2013-10-04 14:47:37 +00:00
Sergey Sharybin
9e00a48511 Typo in variable name from previous commit, sorry. 2013-10-03 16:39:30 +00:00
Sergey Sharybin
94fdaa5d41 Fix crash starting game engine on linux
Issue was caused by bug in mesa #54080 which makes
glXQueryDrawable fail with GLXBadDrawable for any
request with direct context.

Worked around by temporary overriding X error handling
when getting old interval value and disablingintervals
extension if this query fails.

Also added check for glXSwapIntervalEXT which is
apparently NULL here with GLX_EXT_swap_control=1.
2013-10-03 13:15:53 +00:00
Jens Verwiebe
be20171f39 OSX/GHOST: fix own issue in 60510, should now (hopefully) cover all multiple window combinations 2013-10-02 19:54:24 +00:00
Brecht Van Lommel
e308c2f166 Fix #36316: dots in cycles render on certain CPUs with 32 bit linux builds.
There is some sort of problem with the SSE2 code path, but I couldn't find
the cause, maybe a compiler bug due to the large amount of inlining? For
now I've disabled SSE2 optimizatons in 32 bit GCC builds.
2013-10-02 19:00:16 +00:00
Jens Verwiebe
8686f9fe03 OSX/GHOST: refine #60409 and better take multiple windows into account 2013-10-02 18:49:32 +00:00
Brecht Van Lommel
a47e6810a2 Fixes for cycles Mapping and Vector Transform node:
* Keep the Mapping node default type as Point for now, instead of Texture. The
  latter is a better default, but this is breaking API compatibility and it's
  too close to release to expect addons to be fixed in time.

* Vector Transform and Mapping nodes had properties with name "type" to set the
  type of vector, but this conflicts with the node type property, so renamed to
  vector_type now.
2013-10-02 17:02:59 +00:00
Brecht Van Lommel
cbb783f1d6 Fix cycles OpenCL compile error on AMD, and fix assert in debug builds. 2013-10-02 14:41:04 +00:00
Brecht Van Lommel
15e5d3ef7b Fix #36891: on OS X, cmd+s or cmd+o did not work when pressing them over the
text editor.
2013-09-30 19:58:56 +00:00
Brecht Van Lommel
31e6181187 Fix #36873: cycles opencl render status show negative sample count. 2013-09-30 12:11:25 +00:00
Thomas Dinges
85cb0bc19d Fix [#36863] OSL clamp, min and max functions have wrong signature when arguments are integers
* This was fixed in OSL 1.3.2, but we used an outdated stdosl.h.
2013-09-29 23:24:45 +00:00
Campbell Barton
3407a2e145 name cocoa functions in keeping with convention with similar functions for other ghost classes. 2013-09-29 13:14:09 +00:00
Jens Verwiebe
d528b4c9bb OSX: more descriptive comment 2013-09-29 10:11:49 +00:00
Jens Verwiebe
20053f4954 OSX: cleanup for 60409, let m_window protected and use rather a public function for getting it public 2013-09-29 10:00:34 +00:00
Jens Verwiebe
1a30e52142 OSX: make sure closing the mainwindow forewards to the quitdialog - todo: check if m_window now public is a problem 2013-09-28 17:55:22 +00:00
Brecht Van Lommel
7c29744111 Fix build error when building without OpenMP. 2013-09-27 19:44:06 +00:00
Brecht Van Lommel
fa352bb749 Fix #35684: cycles unable to use full 6GB of memory on NVidia Titan GPU. We now
use arrays instead of textures for general storage on this card (image textures
are still stored as texture). Textures were found to be faster on older cards,
but the limits on 1D texture size have not increased along with the memory size,
which meant that the full 6 GB could not be used.

The performance actually seems to be slightly better with arrays in some tests
on Titan. For older cards there seems to be a bit of a mix, some are better and
others not. We may change those to use arrays too, but more testing is needed,
only Titan and Tesla K20 (sm_35) is changed for now.

The fact that arrays are faster is a bit surprising, as others found textures
to be faster on Kepler. However even if they were, the memory limitation is
more important to solve anyway.
https://research.nvidia.com/publication/understanding-efficiency-ray-traversal-gpus-kepler-and-fermi-addendum
2013-09-27 19:09:31 +00:00
Sergey Sharybin
dad37860e2 Elbeem: fix memory leak and add guarded allocator directives 2013-09-27 18:55:26 +00:00
Sergey Sharybin
16da43ef19 Elbeem: Use pragma directive instead of overriding number of omp threads
Global OpenMP threads override is not a good idea because this would affect
all possible OpenMP blocks running at the same time as simulation.

And that was actually a big on restoring number of threads: code needed to
store current number of threads, not maximal one.
2013-09-27 18:55:15 +00:00
Thomas Dinges
d0a092be5c Fix [#36822], Sky Turbidity values > 10 could result in weird behavior and crashes with the new sky model.
Soft UI range is 10 already, now clamp inside the code as well.
2013-09-27 10:26:00 +00:00
Brecht Van Lommel
c3d3d8be36 Fix cycles issue with mapping node rotation and scale order. When using both
scale and rotation in mapping node, there would be shearing, and the only way
to avoid that was to add 2 mapping nodes. This is because to transform the
texture, the inverse transform needs to be done on the texture coordinate

Now the mapping node has Texture/Point/Vector/Normal types to transform the
vector for a particular purpose. Point is the existing behavior, Texture is
the new default that behaves more like you might expect.
2013-09-25 20:28:49 +00:00
Brecht Van Lommel
eaf354e222 Fix related to #36319: restore SDL_VIDEODRIVER=dummy environment variable, it
seems that somehow not having this is causing keyboard events to be caught by
SDL. This was removed because it broke addons that could use SDL, now set the
environment variable only temporary during SDL initialization.

This may have been causing issues with keyboard events getting missed in the
game engine, but I couldn't confirm the issue here.
2013-09-23 14:48:28 +00:00