Commit Graph

40604 Commits

Author SHA1 Message Date
Sergey Sharybin
64bc5da4ba Merging r59083 through r59103 from trunk into soc-2013-depsgraph_mt 2013-08-13 07:37:13 +00:00
Campbell Barton
5b64b66127 add support for loading 8bit BMP images 2013-08-13 07:18:07 +00:00
Lukas Toenne
3e954e95a6 Fix #36451, Particle system crashes blender. The psys_render_restore function was accessing the psys->frand random number array, but since the particle modifier is disabled this array does not get
initialized. Added a sanity check to skip disabled particle systems in BI render. (why wasn't this done before?)
2013-08-13 06:21:39 +00:00
Campbell Barton
730b9c283e change VIEW3D_OT_camera_to_view_selected poll function so it can be called from a script (without a view3d). 2013-08-13 04:35:14 +00:00
Mitchell Stokes
d23b383af0 BGE: Adding a GPU Latency profile category to represent the CPU time spent waiting on the graphics card. 2013-08-13 03:09:58 +00:00
Campbell Barton
5a9c012d86 fix for bug in rip tool, isolated verts would remain selected after ripping. 2013-08-13 01:52:36 +00:00
Campbell Barton
49411a6e37 fix own regression, rip tool wasn't handling selection. 2013-08-13 01:00:07 +00:00
Campbell Barton
fd14c344e0 switch arg order for BM_elem_select_copy(), would like to make this constant for all bmesh functions eventually. 2013-08-13 00:35:23 +00:00
Campbell Barton
726a7d6cd4 bmesh: simplify mode check for setting the edge selection 2013-08-13 00:17:39 +00:00
Campbell Barton
880a86230f bmesh_vert_separate: remove unused return value 2013-08-12 23:49:56 +00:00
Campbell Barton
4a8d4f319f bmesh_edge_separate: avoid counting radial loops when splitting edges, we only need to check if the edge is boundary or not. will speedup edgesplit modifier a little. 2013-08-12 22:36:46 +00:00
Sv. Lockal
c2a8f43e35 Fix [#36439] Switching windows on Win7 x64 under certain outliner conditions will cause crash 2013-08-12 17:05:02 +00:00
Sergey Sharybin
6366a8c611 Fix crash happening in particle code caused by non-reentrant qsort()
Particle system code used global variable to sort hair by orig index,
which is not safe for threading at all.

Replaced this with usage of reentrant version of qsort, which is
now implemented in BLI. It was moved from recast navigation code
to BLI, so more areas could use it (if needed).
2013-08-12 14:37:23 +00:00
Sergey Sharybin
033d395bed Use atomic operations instead of spin lock for threaded update
This replaces code (pseudo-code):

  spin_lock();
  update_child_dag_nodes();
  schedule_new_nodes();
  spin_unlock();

with:

  update_child_dag_nodes_with_atomic_ops();
  schedule_new_nodes();

The reason for this is that scheduling new nodes implies
mutex lock, and having spin around it is a bad idea.

Alternatives could have been to use spinlock around
child nodes update only, but that would either imply having
either per-node spin-lock or using array to put nodes
ready for update to an array.

Didn't like an alternatives, using atomic operations makes
code much easier to follow, keeps data-flow on cpu nice.

Same atomic ops might be used in other performance-critical
areas later.

Using atomic ops implementation from jemalloc project.
2013-08-12 14:37:15 +00:00
Sergey Sharybin
3497b2241e Followup for r58992, fixing user decrement error
Some places like proxy rebuild didn't increent
custom shape user counter which lead to user
decrement errors later when freeing pose channels.

Try to keep custom object counter relevent, but
some corner cases might still be missing.
2013-08-12 13:52:13 +00:00
Sergey Sharybin
3c9c5b42cb Merging r58778 through r59080 from trunk into soc-2013-depsgraph_mt 2013-08-12 09:35:16 +00:00
Sergey Sharybin
bc5dc88bda Fix #36420: ends of curves - caps & twist not good
Forgot to calculate directions of first/last points
for NURBS and POLY splines.
2013-08-12 09:00:48 +00:00
Sergey Sharybin
98e5e544b5 Fix #36408: Setting image.colorspace_settings.name changes saved alpha
Issue was caused by reload caused by input colorspace change.

For generated images generated alpha flags weren't saved to
DNA, which lead to fallback from 32 bit depth to 24 when
doing any kind reload of generated image.

The same alpha loss happens when you save .blend file with
generated images.

Now added generated depth to DNA, so reload image and .blend
file wouldn't loss alpha.
2013-08-12 07:47:44 +00:00
Campbell Barton
68c8530be1 change to object-smooth poll function, no need to check for active object, just check we're not in editmode. 2013-08-12 06:10:29 +00:00
Brecht Van Lommel
33686720f2 Fix RNA parameter passing issue with dynamic arrays, was computing the wrong
size in some cases.
2013-08-11 15:49:27 +00:00
Campbell Barton
910d1ff266 display an error with python driver expressions when script execution is disabled. 2013-08-11 08:29:56 +00:00
Campbell Barton
98c574e41a use 'greater/less then or equal to' operators rather then adding 1. 2013-08-11 05:40:35 +00:00
Campbell Barton
a62163ada3 remove unused auto-key struct-member from uiAfterFunc, add compiler defines to cppcheck utility script. 2013-08-10 23:27:42 +00:00
Campbell Barton
76cb6829e5 edge-split now leaves split edges selected 2013-08-10 23:22:35 +00:00
Mitchell Stokes
3627541894 BGE: Fixing the memory leaks reported when the BlenderPlayer exits.
They were caused by not having a free_windowmanager_cb set and by not having registered SpaceTypes, which meant data allocated for thosse SpaceTypes could not be freed. These were solved by defining a free_windowmanager_cb for the player that just frees wmWindows, and by making sure we only allocate memory for registered SpaceTypes.
2013-08-10 21:17:46 +00:00
Daniel Stokes
d17bf45842 As requested by Mitchell Stokes, reverting r58837 as it is causing some problems with the embedded game engine's python execution. 2013-08-10 01:29:23 +00:00
Brecht Van Lommel
3fbd8abcfd OpenGL VBO's: free VBO pool before redraw, otherwise this just holds onto memory
after objects are deleted until another big object is added. There's no good reason
to do this, or to think that our pool is somehow much faster than using the OpenGL
API to allocate and free buffers.
2013-08-09 19:55:43 +00:00
Lukas Toenne
2ab9cbd208 Fix #36146, Cycles SSS Shader Node - Scale Value Input Box - to sensitive. Changed the ui limit from 1,000,000 to 1,000. Not sure if such huge values are needed in some cases, but they can always be
entered explicitly, bypassing the ui limit.

NOTE: this only applies to newly added nodes. For legacy reasons the limit values are stored directly in each socket, so changing them for existing nodes would require a do_versions, seems unnecessary
for such a minor change.
2013-08-09 11:41:01 +00:00
Brecht Van Lommel
d5fae4409a Fix #36417: vertex weight mix modifier crash with texture mask and subsurf modifier
preceding it, was writing past end of array.
2013-08-08 20:35:19 +00:00
Brecht Van Lommel
9a04785243 Fix #36298 and #36359: timeline no longer did redraw during animation render.
This got broken in 58217, but before that it only worked by accident because
of a missing break statement in a switch.
2013-08-08 19:04:28 +00:00
Brecht Van Lommel
f07fda5a85 Fix #36274: empty particle texture slots should not have any influence, same
as for materials, world, lamps, etc.
2013-08-08 18:12:07 +00:00
Brecht Van Lommel
d0e5c26e83 Fix incorrect display of constraint names on retina / high DPI. 2013-08-08 17:36:19 +00:00
Brecht Van Lommel
044be1d88d Fix #36317: keyframing metaball elements did not work yet, now you can keyframe
properties like stiffness.
2013-08-08 17:22:49 +00:00
Brecht Van Lommel
d2d9004991 Fix #36243: one screen should never be used by multiple windows, but this could
happen when a screen was maximized to a single editor, now that case is disabled
too.
2013-08-08 17:05:09 +00:00
Brecht Van Lommel
af807bd24d Fix #36394: rendering a point density texture with a hair particle system did
not work correct, the positions would change over time and child particles did
not render.
2013-08-08 15:36:03 +00:00
Antony Riakiotakis
a6c4c6dbc6 Linking Brushes did not link the mask texture properly 2013-08-08 09:45:59 +00:00
Campbell Barton
26c0839220 disable cycles when building without python, also use const for function args in more places. 2013-08-07 22:40:03 +00:00
Tamito Kajiyama
67ae5e8158 Fix for a formatting error in the docstring of SVertex.viewvertex(). 2013-08-07 21:49:11 +00:00
Tamito Kajiyama
65e7039f8d Fix for docstrings of CurvePoint.first_svertex() and CurvePoint.second_svertex(). 2013-08-07 21:40:59 +00:00
Brecht Van Lommel
7108ec9d1e Fix #36383: add object to group check for dependency cycles did not work correctly
when the group contained two objects duplicating the same group. Also added the
dependency check to the "add to active group" operator now for consistency.
2013-08-07 20:16:36 +00:00
Brecht Van Lommel
9a80fc62d4 Fix crashes that could still happen opening files with the outliner bug that existed
between revision 58855 and 58959. Now it ensures the memory is not freed before reading.
2013-08-07 19:29:15 +00:00
Sergey Sharybin
4941cafa09 Fix #36007: ends of curves do not fit
Made first/last tessellated curve have proper
direction and tilt. Before direction/tilt
from second/previous to last tessellated curve
segments.

Thanks Brecht for review and tests!
2013-08-07 18:22:15 +00:00
Sv. Lockal
82aa90b2d6 Another preview fix for SplitViewer node
Use the same logic as in ViewerNode to update preview when backdrop is disabled.
2013-08-07 18:01:25 +00:00
Brecht Van Lommel
438b50022e Fix #36391: removing an armature with a custom bone shape object would not
decrement the object user count when removing the armature. This could cause
the object to stick when it shouldn't, in particular when that object is part
of a group.
2013-08-07 15:23:09 +00:00
Lukas Toenne
8d879829da Fix #36266, First undo in compositor decrements usercounter without a reason. The handling of scene backpointers in render layer/composite nodes changed slightly recently, which caused a double increment
of the scene user count. The node->id pointer for these nodes is now initialized in the respective init callbacks already. The explicit assignment and increment in the ED_node_composit_default is not
necessary and just adds an increment without checking previous values and decrementing them properly.

Note that the current system still leaves the scene with "fake" users (rlayer + composite nodes) which are actually part of the scene data itself. But that's design issue with the "local" node tree data
and doesn't do any real harm.
2013-08-07 13:14:50 +00:00
Campbell Barton
9bfbdd8118 remove assert in check_for_dupid() function for rare but valid renaming situation. 2013-08-07 08:20:37 +00:00
Daniel Stokes
29c8e4512c Adding a fov attribute to KX_Camera. This attribute converts the field of view value and uses it to set lens. 2013-08-07 05:24:47 +00:00
Campbell Barton
f5c66a3676 quiet shadow warnings and remove redundant NULL check 2013-08-07 04:31:05 +00:00
Campbell Barton
00b39c4e5b code cleanup: more confusion with 0/NULL/false 2013-08-07 03:55:21 +00:00
Campbell Barton
4f29aeeff2 code cleanup: some structs were declaring data when only typedef's were intended, make local vars and functions static. 2013-08-07 03:44:05 +00:00