Commit Graph

9802 Commits

Author SHA1 Message Date
Sergey Sharybin
2d7a425381 Merging r58362 through r58463 from trunk into soc-2013-depsgraph_mt 2013-07-21 08:14:59 +00:00
Daniel Stokes
318aacbc8c Cleaning up some warnings that occur when an invalid navmesh is generated. 2013-07-19 22:07:38 +00:00
Campbell Barton
397da50002 style cleanup: switch statements, include break statements within braces & indent.
also indent case's within the switch (we already did both of these almost everywhere)
2013-07-19 15:23:42 +00:00
Thomas Dinges
b1990fa1b1 Blender 2.69 Release Cycle:
* BCon1: Alpha.
2013-07-19 12:33:09 +00:00
Campbell Barton
02468b290a code cleanup: use MEM_mallocN rather then MEM_callocN when the array is
overwritten immediately after.
2013-07-19 10:41:16 +00:00
Campbell Barton
3daa153d74 code cleanup: use boolean for derived mesh face test function 2013-07-19 10:40:52 +00:00
Campbell Barton
f4609acedc optimization: avoid memcpy with shake key vertex array. 2013-07-19 10:40:20 +00:00
Campbell Barton
965d2fd426 code cleanup: inconsistent 'break' placement in BKE_object_minmax 2013-07-19 10:40:12 +00:00
Campbell Barton
b7826c42df enable type limits warning when compiling with gcc. 2013-07-19 10:39:25 +00:00
Campbell Barton
4e1afbe7cd fix [#36218] Crash attempting to delete right side of hard cut in VSE on movie strip
deleting a strip would try free the anim membe twice.
2013-07-19 08:04:05 +00:00
Ton Roosendaal
530bcc422e Tradtional release commit! 2.68 splash and the numbering.
- This should then follow the tagging
- And I would still prefer to have at least 24 hours full freeze, for proper test
  and avoid last minute errors.
2013-07-18 10:08:28 +00:00
Sergey Sharybin
a9257b0982 Merging r58330 through r58361 from trunk into soc-2013-depsgraph_mt 2013-07-18 09:29:12 +00:00
Campbell Barton
66f6ace938 fix for action editor view-selected behaving strangely.
- when an fcurve had no selected keyframes, a default fallback value was used which caused view-selected to include frame 1, even when no selected frames were there.

- the vertical axis was always reset, ideally we would center vertically too but the way this operator currently works we only know about the frame range,
  now don't change the vertical scroll when viewing selected since it would always jump to the top of the screen (view-all still acts this way).
2013-07-18 02:59:28 +00:00
Campbell Barton
d527c669f7 fix [#36176] Connected font Bevel moves inwards for some letter combinations
bevel wasn't taking into account overlapping text (bug goes back to 1.8).
2013-07-17 14:05:50 +00:00
Sergey Sharybin
30445b8252 Merging r58280 through r58329 from trunk into soc-2013-depsgaph_mt 2013-07-17 09:31:57 +00:00
Sergey Sharybin
f2e8df2ee2 Remove workaround for draw object free
Code around draw objects became safe for threading
and no special workaround is needed in scene update
anymore.

Unused buffers will be freed next time window is
drawing. Some further tweaks maybe needed to how
buffers are freeing, but things shall work for now
nice and stable.
2013-07-16 20:11:08 +00:00
Sergey Sharybin
52c0940c6d Statistics calculation for threaded update
This commit adds per-thread statics for object
update threads which would give you information
about:

- How much objects each thread handled
- How much overall time thread spend on running
  object_handle_update.
- How long each of object_handle_update took.

Enabled by ./blender -d

The code is surrounded by ifdef, so shall be
not a problem to drop the code when we don't
need it anymore.

Also added special value for rt (debug_value)
of 13666 which switches scene update to a
single thread. Useful for benchmarking.
2013-07-16 20:11:05 +00:00
Campbell Barton
925c5010e8 fix for checking char arrays against NULL, instead check their first character. also remove some dead code (return directly after return). 2013-07-16 11:42:07 +00:00
Antony Riakiotakis
e68618a5f2 Fix memory leak in BKE_mesh_vert_poly_map_create. 2013-07-16 00:34:03 +00:00
Sergey Sharybin
2f0e79b684 This shouldn't have gone to svn 2013-07-15 19:18:48 +00:00
Sergey Sharybin
82570cbd47 Utility benchmarking macros
This new macros could be used to benchmark overall
execution time of some chunk of code, running in cycle.

The usage is:

  void foo(void) {
    TIMEIT_BLOCK_INIT(overall_bar);

    for (...) {
      ...

      TIMEIT_BLOCK_BEGIN(over_bar);
      bar();
      TIMEIT_BLOCK_END(oberall_bar);

      ...
    }

    TIMEIT_BLOCK_STATS(overall_bar)
  }

This would print total time which was spent on
running function bar().
2013-07-15 19:17:45 +00:00
Sergey Sharybin
9dc2fa3e92 Merging r58266 through r58279 from trunk into soc-2013-depsgraph_mt 2013-07-15 18:48:34 +00:00
Sergey Sharybin
c8d39fb0c2 Made armatures evaluation safe(r) for threading
Apparently, some routines in armature deformation code
were using static arrays. This is probably just an
optimization thing, but it's very bad for threading.

Now made it so bbone matrices array is allocating in
callee function stack. This required exposing
MAX_BBONE_SUBDIV to an external API, This is not so
much crappy from code side, and it shall be the same
fast as before.
2013-07-15 18:46:19 +00:00
Sergey Sharybin
70de1690b8 Make lattice deform safe for threading
Lattice deformation used to store some runtime data
inside of lattice datablock itself. It's something
which is REALLY bad. Ideally DNA shouldn't contain
and runtime data.

For now solved it in a way that initialization of
lattice deform will create a structure which contains
lattice object for which deformation is calculating
and that runtime data which used to be stored in
lattice datablock itself.

It works really fine for mesh deform modifier, but
there's still runtime data stored in particle system
DNA, It didn't look something easy to be solved, so
leaving this as-is for now.
2013-07-15 18:46:15 +00:00
Sergey Sharybin
1dd7156c4c Fix #36058: Displace Modifier errors using a baked Image and displace baking inconsistency between 2.67/2.68RC and previous versions
This was in fact really nasty bug, caused by multitex_nodes
function using global variable R (which is a copy of current
renderer). this variable is not initialized to anything
meaningful for until first rendering (preview or final)
happened.

Since multitex_nodes might be used outside of render pipeline,
made it so whether CM is on or off as an argument to functions
multitex_ext_safe and multitex_ext. Now multitex_nodes() is
only shall be used for stuff happening from render pipeline!

Also needed to make some changes to other places, so all the
usages of texture sampling knows for the fact whether CM is
on or off.

And one more change is related on behavior of dispalcement,
wave, warp, weightvg modifiers and smoke. They'll be always
using CM off since texture is used for influence, not for
color.

It's rather bigger patch, but it's mostly straightforward
changes, which we really need to be done.

Reviewed by Brecht, thanks!
2013-07-15 14:47:58 +00:00
Campbell Barton
8a2a323991 fix for sequence strips being given non utf8 names, where the filepath wasn't utf8.
also correct bad assumption in BKE_image_load_exists() that all paths are relative to the current blend file.
2013-07-15 11:26:43 +00:00
Sergey Sharybin
d44fb5bd8b Merging r58196 through r58265 from trunk into soc-2013-depsgraph_mt 2013-07-15 11:25:56 +00:00
Brecht Van Lommel
abe84a4f43 Fix #36139: cycles not taking texture spacing settings into account for
generated coordinates on text objects.
2013-07-15 11:11:36 +00:00
Campbell Barton
dc591a633e previous commit r58256, had error in editmode (somehow it worked in most tests still).
also don't decrement active indices below zero (also a problem in 2.67).
2013-07-15 09:03:28 +00:00
Sergey Sharybin
c0b28134cb Fix #36124: VSE - Input Color doesn't invalidate cache properly for movies
Animation structure holds some buffers inside,
so for proper cache invalidation we need to
re-open the animation.
2013-07-15 07:58:15 +00:00
Campbell Barton
dc9beee3e2 fix for error (-1 index into array) when removing customdata layers with no data, delete_customdata_layer was using layer data pointer to check weather to adjust index values (but both pointers can be NULL). Remove this code and do in customdata.c 2013-07-15 06:29:09 +00:00
Campbell Barton
bf77d35f69 fix for bad lengths being passed to string functions. 2013-07-15 05:11:14 +00:00
Campbell Barton
2b6f35d686 fix for error in string copy
- BLI_strncpy_wchar_from_utf8 wasn't NULL terminating the destination string, caused uninitialized memory use in BPY_python_start().
- BLI_strncpy_wchar_as_utf8 could write one byte past the buffer bounds.
2013-07-15 05:09:06 +00:00
Campbell Barton
878608d1cf fix regression [#36141] Crash with skin and remesh modifier in edit mode. 2013-07-14 23:27:47 +00:00
Campbell Barton
83a172e40c fix for case where negative index was used when rendering particles with UV's, also removed redundant array check. 2013-07-14 13:18:05 +00:00
Campbell Barton
a1138d2500 recent changes to particle normal orientation change behavior in a way you might not want (even though in general I think its an improvement).
split this into 2 options, added 'Normal-Tangent' orientation that makes the mesh orient towards the tangent, otherwise it uses Z-Up as before.
2013-07-14 10:57:43 +00:00
Campbell Barton
18cf21bbfe fix relating to [#36093] Stationary Particle system - particle Y axis fails to follow emitter object rotation
With deformations and on a simple cube you could get axis flipping with normal-particle alignment.
now use the normal & tangent to create the orientation to give a stable matrix that wont flip.
2013-07-14 07:27:44 +00:00
Campbell Barton
b7396654e1 fix for bad NULL check in bmo_connect_pair, also remove duplicate checks in if statements and redundant initialization vars. 2013-07-13 16:25:47 +00:00
Campbell Barton
4a39a4a92a fix for more errors with switch missing break
- boids random option was falling through to average.
- (NC_OBJECT | ND_DRAW) notifier was falling through to ND_SHADING button preview updates.
2013-07-13 14:44:04 +00:00
Campbell Barton
edb850c842 remove redundant null checks and avoid divide by zero in driver evaluation 2013-07-13 05:53:14 +00:00
Campbell Barton
fa3699f067 fix errors in code
- BKE_mball_center_median(), didn't work.
- clip_refresh was removing handlers from wrong space.
- new_modifier, replace strcpy with BLI_strncpy
2013-07-13 05:50:35 +00:00
Campbell Barton
eedd541929 fix for misc errors
- reference to out of scope stack var
- freeing fixes size array (never allocated)
- add matching va_end for va_start
2013-07-13 05:46:48 +00:00
Campbell Barton
8a40444d6b fix bad uses of sizeof() with memory allocation. 2013-07-13 05:43:35 +00:00
Brecht Van Lommel
7e304b13e7 Fix #36115: dynamic paint not showing correct result after file load or undo. 2013-07-12 16:33:37 +00:00
Gaia Clary
24c77647d2 Moved code for calculating local_matrix to BKE funtion for reuse 2013-07-12 12:58:01 +00:00
Sergey Sharybin
e3c645fe46 Merging r58194 through r58195 from trunk into soc-2013-depsgraph_mt 2013-07-12 11:31:15 +00:00
Sergey Sharybin
da0ea30866 Get rid of global originmat matrix from object.c
This matrix was used to store the space the object is in,
which then was accessed by snapping code. No reason to
keep it as a global variable (which isn't safe for threading,
unlikely it'll give issues now, but it's easy to avoid
issues early here).

Now made it so BKE_object_where_is_calc_ex will get an
optional parameter originmat and set this matrix in
solve_parent.

Original patch by self, minor changes by Campbell, thanks!
2013-07-12 11:18:34 +00:00
Sergey Sharybin
eec1f31708 Merging r58166 through r58193 from trunk into soc-2013-depsgraph_mt 2013-07-12 09:13:15 +00:00
Campbell Barton
ce172d60ce fix [#36093] Stationary Particle system - particle Y axis fails to follow emitter object rotation 2013-07-12 08:41:27 +00:00
Sergey Sharybin
9aade87606 Code cleanup: de-duplicate display list minmax routines 2013-07-11 11:29:45 +00:00