5 years agoReplace sqrt with hypot for wipe-effect & transform code
Campbell Barton [Sat, 14 Jun 2014 07:27:50 +0000 (17:27 +1000)]
Replace sqrt with hypot for wipe-effect & transform code

5 years agoMath Lib: mat3_to_eulo2 & mat3_to_eul2 mixed float/double differently
Campbell Barton [Sat, 14 Jun 2014 07:10:46 +0000 (17:10 +1000)]
Math Lib: mat3_to_eulo2 & mat3_to_eul2 mixed float/double differently

replace sqrt with hypotf to avoid precision loss instead

5 years agoQuiet warning in Cycles
Campbell Barton [Sat, 14 Jun 2014 07:00:15 +0000 (17:00 +1000)]
Quiet warning in Cycles

5 years agoRename 'Extend Vertex' to be clear it operates on many vertices
Campbell Barton [Sat, 14 Jun 2014 06:15:38 +0000 (16:15 +1000)]
Rename 'Extend Vertex' to be clear it operates on many vertices

5 years agoComment unused macro
Campbell Barton [Sat, 14 Jun 2014 06:16:32 +0000 (16:16 +1000)]
Comment unused macro

5 years agoPolyfill2d: use kd-tree
Campbell Barton [Wed, 11 Jun 2014 00:17:22 +0000 (10:17 +1000)]
Polyfill2d: use kd-tree

Simple search for intersections became slow for larger concave ngons (100+)
Tested to work with ngons up to 75k sides, performance is approx ~6x faster then scanfill.

This is a 2D version of BLI_kdtree with modifications:
- nodes can be removed
- an index -> node map is stored (especially for tessellation)

5 years agoPolyfill2d: avoid calculating polygon winding (its known in all cases)
Campbell Barton [Fri, 13 Jun 2014 21:22:39 +0000 (07:22 +1000)]
Polyfill2d: avoid calculating polygon winding (its known in all cases)

5 years agoPolyfill2d: Switch directions on concave triangles
Campbell Barton [Wed, 11 Jun 2014 00:14:40 +0000 (10:14 +1000)]
Polyfill2d: Switch directions on concave triangles

Better topology and minor speedup

5 years agoPolyfill2d: replace array with linklist, faster resizing
Campbell Barton [Sat, 31 May 2014 12:25:39 +0000 (22:25 +1000)]
Polyfill2d: replace array with linklist, faster resizing

approx 4.0x speedup

5 years agoCycles: Add support for uchar4 attributes.
Thomas Dinges [Fri, 13 Jun 2014 21:40:39 +0000 (23:40 +0200)]
Cycles: Add support for uchar4 attributes.

* Added support for uchar4 attributes to Cycles' attribute system.
* This is used for Vertex Colors now, which saves some memory (4 unsigned characters, instead of 4 floats).
* GPU Texture Limit on sm_20 and sm_21 decreased from 95 to 94, because we need a new texture for the uchar4 attributes. This is no problem for sm_30 or newer.

Part of my GSoC 2014.

5 years agoAttempt to fix sign conversion error happening on buildbot
Sergey Sharybin [Fri, 13 Jun 2014 21:34:30 +0000 (03:34 +0600)]
Attempt to fix sign conversion error happening on buildbot

5 years agoImplement GLSL code for XYZ nodes.
Thomas Dinges [Fri, 13 Jun 2014 21:23:35 +0000 (23:23 +0200)]
Implement GLSL code for XYZ nodes.

5 years agoFollow up for previous commit: need to tweak args for scons as well
Sergey Sharybin [Fri, 13 Jun 2014 21:09:31 +0000 (03:09 +0600)]
Follow up for previous commit: need to tweak args for scons as well

5 years agoOSX: update codesigning rules to 2.71
Jens Verwiebe [Fri, 13 Jun 2014 21:08:49 +0000 (23:08 +0200)]
OSX: update codesigning rules to 2.71

5 years agoCycles: Fix compilation error of AVX2 kernel with GCC/Clang
Sergey Sharybin [Fri, 13 Jun 2014 21:00:32 +0000 (03:00 +0600)]
Cycles: Fix compilation error of AVX2 kernel with GCC/Clang

5 years agoCode cleanup.
Thomas Dinges [Fri, 13 Jun 2014 20:26:01 +0000 (22:26 +0200)]
Code cleanup.

5 years agoCycles: Add an AVX2 CPU kernel.
Thomas Dinges [Fri, 13 Jun 2014 20:23:58 +0000 (22:23 +0200)]
Cycles: Add an AVX2 CPU kernel.

This kernel is compiled with AVX2, FMA3, and BMI compiler flags. At the moment only Intel Haswell benefits from this, but future AMD CPUs will have these instructions as well.

Makes rendering on Haswell CPUs a few percent faster, only benchmarked with clang on OS X though.

Part of my GSoC 2014.

5 years agoCMake fixup for bd43ac04 as indicated by Campbell Barton
Dalai Felinto [Fri, 13 Jun 2014 20:22:54 +0000 (17:22 -0300)]
CMake fixup for bd43ac04 as indicated by Campbell Barton

5 years agoCycles: Add dedicated nodes to split/combine vectors.
Thomas Dinges [Fri, 13 Jun 2014 19:44:48 +0000 (21:44 +0200)]
Cycles: Add dedicated nodes to split/combine vectors.

This was already possible via the RGB nodes, but that seems weird.

5 years agoCycles: Calculate face normal on the fly.
Thomas Dinges [Fri, 13 Jun 2014 19:27:21 +0000 (21:27 +0200)]
Cycles: Calculate face normal on the fly.

Instead of pre-calculation and storage, we now calculate the face normal during render.
This gives a small slowdown (~1%) but decreases memory usage, which is especially important for GPUs,
where you have limited VRAM.

Part of my GSoC 2014.

5 years agoCycles Refactor: Add SSE Utility code from Embree for cleaner SSE code.
Thomas Dinges [Fri, 13 Jun 2014 19:13:18 +0000 (21:13 +0200)]
Cycles Refactor: Add SSE Utility code from Embree for cleaner SSE code.

This makes the code a bit easier to understand, and might come in handy
if we want to reuse more Embree code.

Differential Revision:

Code by Brecht, with fixes by Lockal, Sergey and myself.

5 years agoAttempt to fix guardedalloc on OSX
Sergey Sharybin [Fri, 13 Jun 2014 19:52:02 +0000 (01:52 +0600)]
Attempt to fix guardedalloc on OSX

5 years agoBake-API: increase cage extrusion/ray distance limit
Dalai Felinto [Fri, 13 Jun 2014 18:53:43 +0000 (15:53 -0300)]
Bake-API: increase cage extrusion/ray distance limit

Fix to include in 2.71 (asked via BlenderArtist)

5 years agoResolve MSVC error
Campbell Barton [Fri, 13 Jun 2014 18:43:15 +0000 (04:43 +1000)]
Resolve MSVC error

5 years agoUse advantage of SSE2 instructions in gaussian blur node
Sergey Sharybin [Fri, 13 Jun 2014 18:30:13 +0000 (00:30 +0600)]
Use advantage of SSE2 instructions in gaussian blur node

This gives around 30% of speedup for gaussian blur node.

Pretty much straightforward implementation inside the node
itself, but needed to implement some additional things:

- Aligned malloc. It's needed to load data onto SSE registers
  faster. based on the aligned_malloc() from Libmv with
  some additional trickery going on to support arbitrary
  alignment (this magic is needed because of MemHead).

  In the practice only 16bit alignment is supported because
  of the lack of aligned malloc with arbitrary alignment
  for OSX. Not a bit deal for now because we need 16 bytes
  alignment at this moment only. Could be tweaked further

- Memory buffers in compositor are now aligned to 16 bytes.
  Should be harmless for non-SSE cases too. just mentioning.

Reviewers: campbellbarton, lukastoenne, jbakker

Reviewed By: campbellbarton

CC: lockal
Differential Revision:

5 years agoBake-API: handle objects with no faces (fix T40601)
Dalai Felinto [Fri, 13 Jun 2014 17:26:43 +0000 (14:26 -0300)]
Bake-API: handle objects with no faces (fix T40601)

Also it has a better error handling for the BVHTree creation
Fix for 2.71

5 years agoSequencer: add support for grease pencil rendering in previews
Campbell Barton [Fri, 13 Jun 2014 17:25:07 +0000 (03:25 +1000)]
Sequencer: add support for grease pencil rendering in previews

5 years agoCode cleanup: use ED_gpencil_ prefix for grease pencil
Campbell Barton [Fri, 13 Jun 2014 16:54:17 +0000 (02:54 +1000)]
Code cleanup: use ED_gpencil_ prefix for grease pencil

5 years agoUI: Add back ability to select a custom interface font
Campbell Barton [Fri, 13 Jun 2014 16:23:32 +0000 (02:23 +1000)]
UI: Add back ability to select a custom interface font

5 years agoNew Editmesh Tool: Extend Vertex, (Alt+D) D512
Campbell Barton [Fri, 13 Jun 2014 15:38:57 +0000 (01:38 +1000)]
New Editmesh Tool: Extend Vertex, (Alt+D) D512

Helps to easily add details to existing edges.

Similar to the rip tool it depends on cursor location to choose the edge to extend along.

5 years agoAutomatically generate blender.1 man page during build process
Campbell Barton [Fri, 13 Jun 2014 15:19:58 +0000 (01:19 +1000)]
Automatically generate blender.1 man page during build process

Patch T40418 by Lawrence D'Oliveiro

5 years agoRevert part of rB477f35 (error resolving conflict)
Campbell Barton [Fri, 13 Jun 2014 15:06:49 +0000 (01:06 +1000)]
Revert part of rB477f35 (error resolving conflict)

5 years agoCode cleanup: use const for mouse location arg
Campbell Barton [Wed, 11 Jun 2014 01:27:53 +0000 (11:27 +1000)]
Code cleanup: use const for mouse location arg

5 years agoBLI_bitmap: rename macros
Campbell Barton [Fri, 6 Jun 2014 06:05:15 +0000 (16:05 +1000)]
BLI_bitmap: rename macros


5 years agoBLI_bitmap: typecheck maco
Campbell Barton [Fri, 6 Jun 2014 06:00:53 +0000 (16:00 +1000)]
BLI_bitmap: typecheck maco

5 years agoAdd string escaping support for BLI_str_quoted_substrN
Campbell Barton [Thu, 29 May 2014 10:42:09 +0000 (20:42 +1000)]
Add string escaping support for BLI_str_quoted_substrN

5 years agoEditmesh: Replace SmallHash with GSet for MESH_OT_loop_to_region
Campbell Barton [Thu, 29 May 2014 04:03:22 +0000 (14:03 +1000)]
Editmesh: Replace SmallHash with GSet for MESH_OT_loop_to_region

There no reason to assume hash will be small in this case

5 years agoGSet, GHash: Add BLI_gset_add, since its common to add members to a set
Campbell Barton [Thu, 29 May 2014 04:00:11 +0000 (14:00 +1000)]
GSet, GHash: Add BLI_gset_add, since its common to add members to a set

also rename BLI_edgeset_reinsert -> BLI_edgeset_add, in this case its the same.

5 years agoBLF: use NONNULL & WARN_UNUSED_RESULT attrs & remove unneeded NULL check
Campbell Barton [Wed, 28 May 2014 16:47:30 +0000 (02:47 +1000)]
BLF: use NONNULL & WARN_UNUSED_RESULT attrs & remove unneeded NULL check

5 years agoBLI_kdtree: use UNLIKELY
Campbell Barton [Wed, 28 May 2014 16:37:16 +0000 (02:37 +1000)]
BLI_kdtree: use UNLIKELY

5 years agoCode cleanup: UI, unnecessary float/int conversion
Campbell Barton [Mon, 2 Jun 2014 03:15:29 +0000 (13:15 +1000)]
Code cleanup: UI, unnecessary float/int conversion

5 years agoCode cleanup: remove hack for older GCC (4.2x and newer work without)
Campbell Barton [Thu, 29 May 2014 04:53:10 +0000 (14:53 +1000)]
Code cleanup: remove hack for older GCC (4.2x and newer work without)

5 years agoCode cleanup: remove redundant arg from ARRAY_LAST_ITEM
Campbell Barton [Thu, 29 May 2014 03:38:34 +0000 (13:38 +1000)]
Code cleanup: remove redundant arg from ARRAY_LAST_ITEM

5 years agoCode cleanup: remove redundant NULL check
Campbell Barton [Thu, 29 May 2014 02:33:13 +0000 (12:33 +1000)]
Code cleanup: remove redundant NULL check

5 years agoCode cleanup: reorder BKE_scene_use_new_shading_nodes checks last
Campbell Barton [Wed, 28 May 2014 16:32:25 +0000 (02:32 +1000)]
Code cleanup: reorder BKE_scene_use_new_shading_nodes checks last

5 years agoCode cleanup: remove NULL check
Campbell Barton [Wed, 28 May 2014 16:27:51 +0000 (02:27 +1000)]
Code cleanup: remove NULL check

5 years agoCode cleanup: replace interp_v2_v2v2 with mid_v2_v2v2
Campbell Barton [Wed, 28 May 2014 16:23:56 +0000 (02:23 +1000)]
Code cleanup: replace interp_v2_v2v2 with mid_v2_v2v2

5 years agoCode cleanup: avoid call to BLI_countlist
Campbell Barton [Wed, 28 May 2014 16:22:04 +0000 (02:22 +1000)]
Code cleanup: avoid call to BLI_countlist

5 years agoCode cleanup: BLI_strdupn -> BLI_strdup
Campbell Barton [Wed, 28 May 2014 16:09:45 +0000 (02:09 +1000)]
Code cleanup: BLI_strdupn -> BLI_strdup

5 years agoCode cleanup: spelling
Campbell Barton [Mon, 9 Jun 2014 01:01:51 +0000 (11:01 +1000)]
Code cleanup: spelling

5 years agoCycles: Support builtin images for OSL shading backend
Sergey Sharybin [Thu, 12 Jun 2014 07:26:48 +0000 (13:26 +0600)]
Cycles: Support builtin images for OSL shading backend

This means packed images and movies are now supported when using OSL
backend for material shading.

Uses special file name to distinguish whether image is builtin or not.
This part might become a bit smarted or optimized a bit, but it's good
enough with this implementation already.

5 years agoMinor modifications to 2.71 splash (bigger ref text, was unreadable in lowres version).
Bastien Montagne [Fri, 13 Jun 2014 14:27:17 +0000 (16:27 +0200)]
Minor modifications to 2.71 splash (bigger ref text, was unreadable in lowres version).

5 years agoDetect version suffix based on release cycle and version char
Sergey Sharybin [Fri, 13 Jun 2014 14:19:02 +0000 (20:19 +0600)]
Detect version suffix based on release cycle and version char

Should make it less error-prone for release tagging/ahoy.

5 years agoStart of the 2.72 release cycles, BCon1.
Thomas Dinges [Fri, 13 Jun 2014 14:14:15 +0000 (16:14 +0200)]
Start of the 2.72 release cycles, BCon1.

Reminder for developers: Please document new features immediately after commit in the WIP release logs. No commit without docs. :)

5 years agoSplash screen update for 2.71 v2.71-rc1
Campbell Barton [Thu, 12 Jun 2014 18:39:43 +0000 (04:39 +1000)]
Splash screen update for 2.71

Artwork: Event Horizon by pieriko

5 years agoSplash: enable rc label
Campbell Barton [Thu, 12 Jun 2014 18:39:10 +0000 (04:39 +1000)]
Splash: enable rc label

5 years agoFix T40596: Node link menus flipped & events inverted
Campbell Barton [Thu, 12 Jun 2014 18:04:19 +0000 (04:04 +1000)]
Fix T40596: Node link menus flipped & events inverted

5 years agoWe're entering 2.71rc state now
Sergey Sharybin [Thu, 12 Jun 2014 16:16:43 +0000 (22:16 +0600)]
We're entering 2.71rc state now

Meaning we do subversion bump and hopefully only splash
screen separates us from the final release. Unless some
bad regression is being discovered..

5 years agoQuiet double promotion warning & ws edit
Campbell Barton [Thu, 12 Jun 2014 16:22:40 +0000 (02:22 +1000)]
Quiet double promotion warning & ws edit

5 years agoFix crash running in background mode
Campbell Barton [Thu, 12 Jun 2014 15:05:20 +0000 (01:05 +1000)]
Fix crash running in background mode

5 years agoFix Bevel bug T39746, small scale gives flat profile.
Howard Trickey [Thu, 12 Jun 2014 14:22:10 +0000 (10:22 -0400)]
Fix Bevel bug T39746, small scale gives flat profile.

With very small meshes or very small bevel amounts, the bevel
profile would be flat even if a round one was requested.
Problem was that the code was checking the length of a cross
product for closeness to zero to test coplanarity. Needed
to normalize things before making that test to account for scale.

5 years agoUI: correct __contains__ use, no need for substring check
Campbell Barton [Thu, 12 Jun 2014 12:00:26 +0000 (22:00 +1000)]
UI: correct __contains__ use, no need for substring check

5 years agoFix T40559: Maya keymap node selection bug
Sergey Sharybin [Thu, 12 Jun 2014 08:33:28 +0000 (14:33 +0600)]
Fix T40559: Maya keymap node selection bug

5 years agoFix T40582: issues with apply scale when having multires and scene simplify
Sergey Sharybin [Thu, 12 Jun 2014 07:49:46 +0000 (13:49 +0600)]
Fix T40582: issues with apply scale when having multires and scene simplify

Reshape and applying scale matrix on multires needs to create DM with simplify
setting disabled. Added a special flag to modifier apply for this now.

5 years agoBake-API: Set Custom Cage to be Cage Object
Dalai Felinto [Thu, 12 Jun 2014 01:46:35 +0000 (22:46 -0300)]
Bake-API: Set Custom Cage to be Cage Object

Suggestion by Andy Davies (metalliandy) to conform with industry standard (custom cage is something else apparently)

Note: this is the last bake related commit I plan for 2.71/rc (unless
everyone agrees that we could squeeze in D546 - custom UVs, which would
be really nice to add for 2.71 scripters)

Note 2: I'll update the wiki docs shortly

5 years agoblenderplayer stuff
Antony Riakiotakis [Wed, 11 Jun 2014 23:28:48 +0000 (02:28 +0300)]
blenderplayer stuff

5 years agoFix flickering when transform snapping in edit mode and cursor is
Antony Riakiotakis [Wed, 11 Jun 2014 22:43:38 +0000 (01:43 +0300)]
Fix flickering when transform snapping in edit mode and cursor is
slightly outside the mesh.

Reported by Thomas Beck on irc. Issue here is that the mesh bounding box
changes as we are transforming the vertices. Solution is to collide
against the initial bounding box. Unfortunately the snapping functions
are made in a way that a lot of code needed to be tweaked here, but the
change should be straightforward and harmless (famous last words, I

Ideally we might want to even increase the size of the bounding box a
little (as seen in screen space) to allow snapping even in cases where,
cursor is slightly outside the bounding box, but since this is not so
straightforward to do for all cases, at least for me, leaving this as

5 years agoFix T40561: cycles refraction node with sharp distribution gives black.
Brecht Van Lommel [Wed, 11 Jun 2014 17:52:14 +0000 (19:52 +0200)]
Fix T40561: cycles refraction node with sharp distribution gives black.

5 years agoAdd patchset to recent Carve changes
Sergey Sharybin [Wed, 11 Jun 2014 07:13:36 +0000 (13:13 +0600)]
Add patchset to recent Carve changes

In the future i'd rather have this reported to an
upstream instead of adding local changes. It's really
easy to override this changes if patchset is not added
and this is to be fixed in upstream. Also the function
was never used so it was rather totally harmless warning
for us.

5 years agoCMake: quite warnings with 3.0 (without breaking < 3.0 CMakes)
Campbell Barton [Wed, 11 Jun 2014 05:59:03 +0000 (02:59 -0300)]
CMake: quite warnings with 3.0 (without breaking < 3.0 CMakes)

5 years agoBake-API: new approach for cage
Dalai Felinto [Wed, 11 Jun 2014 05:39:35 +0000 (02:39 -0300)]
Bake-API: new approach for cage

There is a new option to select whether you want to use cage or not.
When not using cage the results will be more similar with Blender
Internal, where the inwards rays (trying to hit the highpoly objects)
don't always come from smooth normals. So if the active object has sharp
edges and an EdgeSplit modifier you get bad corners.

This is useful, however, to bake to planes without the need of adding
extra loops around the edges.

When cage is "on" the user can decide on setting a cage extrusion or to
pick a Custom Cage object. The cage extrusion option works in a
duplicated copy of the active object with EdgeSplit modifiers removed to
inforce smooth normals. The custom cage option takes an object with the
same number of faces as the active object (and the same face ordering).

The custom cage now controls the direction and the origin of the
rays casted to the highpoly objects. The direction is a ray from the
point in the cage mesh to the equivalent point to the base mesh. That
means the face normals are entirely ignored when using a cage object.

For developers:
When using an object cage the ray is calculated from the cage mesh to
the base mesh. It uses the barycentric coordinate from the base mesh UV,
so we expect both meshes to have the same primitive ids (which won't be
the case if the cage gets edited in a destructive way).

That fixes T40023 (giving the expected result when 'use_cage' is false).

Thanks for Andy Davies (metalliandy) for the consulting with normal
baking workflow and extensive testing. His 'stress-test' file will be
added later to our svn tests folder. (The file itself is not public yet
since he still has to add testing notes to it).

Many thanks for the reviewers.

More on cages:

Reviewers: campbellbarton, sergey

CC: adriano, metalliandy, brecht, malkavian
Differential Revision:

5 years agoRevert "CMake: quiet warnings with 3.0"
Dalai Felinto [Wed, 11 Jun 2014 05:39:16 +0000 (02:39 -0300)]
Revert "CMake: quiet warnings with 3.0"

This reverts commit da7bdf1b47d4490c1a6f35740a9392cb9b5dd42e.

This broke compilation in OSX and some Linux boxes.
Error:  Policy "CMP0043" is not known to this version of CMake

Shall we leave those for after RC (or even 2.71) is out? ;)

5 years agoRegression Bugfix T40332: Bad driver behaviour on small distances.
Joshua Leung [Wed, 11 Jun 2014 03:48:43 +0000 (15:48 +1200)]
Regression Bugfix T40332: Bad driver behaviour on small distances.


I've reduced the size of the threshold for the keyframe lookup here. This threshold
determines the minimum time in frames between keyframes (i.e. "how close" to each
other they can get). Making this too small causes problems like T39207, but it seems
that the threshold we've been using makes it impossible to get accurate behaviour on
driver curves with keyframes, when the driver target only moves 2cm (i.e. 0.02 BU).

So far, all of the test cases from T39207 seem to work fine, as well as Caminandes 2
files, and Kenny the Caterpillar. The Kiribati rigs/shots (thanks jpbouza for helping
to check on these!) also seem to be fine.

5 years agoCMake: quiet warnigns with 3.0
Campbell Barton [Wed, 11 Jun 2014 03:46:19 +0000 (13:46 +1000)]
CMake: quiet warnigns with 3.0

5 years agocorrection from last commit
Dalai Felinto [Wed, 11 Jun 2014 00:36:48 +0000 (21:36 -0300)]
correction from last commit

5 years agoBake-API: removal of unecessary UV tests, as suggested by Campbell Barton
Dalai Felinto [Tue, 10 Jun 2014 23:50:55 +0000 (20:50 -0300)]
Bake-API: removal of unecessary UV tests, as suggested by Campbell Barton

5 years agoFix a warning in carve by initializing var
Jens Verwiebe [Tue, 10 Jun 2014 18:15:50 +0000 (20:15 +0200)]
Fix a warning in carve by initializing var

5 years agoFix Bevel multisegment profile bugs T39184, T37502 and last part of T40365.
Howard Trickey [Tue, 10 Jun 2014 15:07:06 +0000 (11:07 -0400)]
Fix Bevel multisegment profile bugs T39184, T37502 and last part of T40365.

When doing a 'weld' type join where there are two non-beveled edges
in the same plane one beveled one but not the other, then there
should be a curved profile; bug was creating a straight one.

5 years agoFix missing notifier when inserting keyframe
Sergey Sharybin [Tue, 10 Jun 2014 15:15:35 +0000 (21:15 +0600)]
Fix missing notifier when inserting keyframe

Reported by Sebastian Koenig in IRC

5 years agoFix T40551: Boolean Modifier distorts UVs
Sergey Sharybin [Tue, 10 Jun 2014 13:25:35 +0000 (19:25 +0600)]
Fix T40551: Boolean Modifier distorts UVs

Mapping to original face was never working 100% reliably actually,
now use more robust method for this.

5 years agoCurve: skip curves when matching bevel-fac (like 2.70)
Campbell Barton [Tue, 10 Jun 2014 12:32:33 +0000 (22:32 +1000)]
Curve: skip curves when matching bevel-fac (like 2.70)

5 years agoFix wrong memory write in partial render update with Save Buffers enabled
Sergey Sharybin [Tue, 10 Jun 2014 11:10:37 +0000 (17:10 +0600)]
Fix wrong memory write in partial render update with Save Buffers enabled

No idea why this issue hasn't been spotted before. Took several hours to
figure out where exactly wrong memory access happens..

P.S. I really want to switch ImBuf->rect from int* to unsigned char*...

5 years agoFix T40498 invalid textures flickering.
Antony Riakiotakis [Mon, 9 Jun 2014 22:36:53 +0000 (01:36 +0300)]
Fix T40498 invalid textures flickering.

Issue here is most likely sampler uniforms and textures not being
updated properly when zero binding is created. Solution for now is to
allow zero binding but when this happens use sexy pink invalid texture
instead :p.

5 years agoUsual UI message handling...
Bastien Montagne [Mon, 9 Jun 2014 19:52:10 +0000 (21:52 +0200)]
Usual UI message handling...

5 years agoFix for slowdown converting mesh to curve with large polygons
Campbell Barton [Mon, 9 Jun 2014 15:18:05 +0000 (01:18 +1000)]
Fix for slowdown converting mesh to curve with large polygons

Walk the linked list rather then doing index lookups.

5 years agoFix T40549: box selection starting point in the file requester.
Bastien Montagne [Mon, 9 Jun 2014 13:31:27 +0000 (15:31 +0200)]
Fix T40549: box selection starting point in the file requester.

We need to 'reset' mouse coordinates to the one it was when the gesture handling started,
else org coords are where the tweak event is created, which gives a noticeable gap
(several pixels) and unwanted behavior like the one retported about file box selection.

5 years agoFix T40057: invisible hair particles slowing down mesh edits
Sergey Sharybin [Mon, 9 Jun 2014 11:32:19 +0000 (17:32 +0600)]
Fix T40057: invisible hair particles slowing down mesh edits

Skip doing particle update in object_handle_update if object is in
edit mode.

Object will be re-evaluated on exit from edit mode anyway, so it's
_expected_ to be a safe change.

5 years agoQuiet assert in debug mode, deleting mask/gpencil keys
Campbell Barton [Mon, 9 Jun 2014 10:03:28 +0000 (20:03 +1000)]
Quiet assert in debug mode, deleting mask/gpencil keys

5 years agoFix T40534: Multi-button editing, hard to distinguish sliders
Campbell Barton [Mon, 9 Jun 2014 08:47:56 +0000 (18:47 +1000)]
Fix T40534: Multi-button editing, hard to distinguish sliders

5 years agoFix T40547: Can't read single channel EXRs
Sergey Sharybin [Mon, 9 Jun 2014 10:41:28 +0000 (16:41 +0600)]
Fix T40547: Can't read single channel EXRs

The root of the issue goes to the fact that we only can
read RGB EXR files, but they could be YCbCr or just Luma.
Added support for this two cases.

Note: internally EXR would still be 3 channels, so no
big memory save would happen here, at least yet.

5 years agoFix cycles CUDA error when trying to use >= 100 image textures.
Brecht Van Lommel [Mon, 9 Jun 2014 10:38:46 +0000 (12:38 +0200)]
Fix cycles CUDA error when trying to use >= 100 image textures.

5 years agoRevert "Fix T40382: 2D stabilization uses disabled markers"
Sergey Sharybin [Mon, 9 Jun 2014 08:11:48 +0000 (14:11 +0600)]
Revert "Fix T40382: 2D stabilization uses disabled markers"

It's not that trivial to support disapearing tracks in the sequence,
and since we're having ongoing 2D stabilization rework patch wouldn't
want to start doing rather bigger changes here now.

Let's just stick to legacy behavior for this release.

This reverts commits 91429d0543ce85

5 years agoFix T40529: Euler Rotation F-Curve Handlers wrong behaviour on moving keyframes
Sergey Sharybin [Mon, 9 Jun 2014 07:43:56 +0000 (13:43 +0600)]
Fix T40529: Euler Rotation F-Curve Handlers wrong behaviour on moving keyframes

5 years agoFix T40543: Duplicators draw with 'Render Only'
Campbell Barton [Mon, 9 Jun 2014 05:55:18 +0000 (15:55 +1000)]
Fix T40543: Duplicators draw with 'Render Only'

5 years agoFix T40538: Multi-button canceling edit-text could leave edited value
Campbell Barton [Mon, 9 Jun 2014 05:35:34 +0000 (15:35 +1000)]
Fix T40538: Multi-button canceling edit-text could leave edited value

5 years agoFix mempool bottleneck alloc & freeing a single item
Campbell Barton [Sun, 8 Jun 2014 13:07:00 +0000 (23:07 +1000)]
Fix mempool bottleneck alloc & freeing a single item

Would continuously reinitialize the first chunk of the mempool,
now check for at least 2 blocks.

5 years agoBMesh: avoid recursion for BM_mesh_edgenet, runs out stack memory on large nets
Campbell Barton [Sun, 8 Jun 2014 12:20:03 +0000 (22:20 +1000)]
BMesh: avoid recursion for BM_mesh_edgenet, runs out stack memory on large nets

5 years agoFix T40510, revert openmp thread count to how it was in
Antony Riakiotakis [Sat, 7 Jun 2014 22:13:28 +0000 (01:13 +0300)]
Fix T40510, revert openmp thread count to how it was in
2.70 for non Apple systems.

Also refactored the code that restores the previous openmp thread count.
The logic here was weird, mostly due to all the commit madness with
Apple openmp support. The restored thread count though should not depend
on the on/off state of threaded sculpting (since it has to do with
systems other than sculpting only). For OSX threads are restored to the
system thread count but Jens should recheck here.

5 years agoReplace open() with BLI_open
Campbell Barton [Sat, 7 Jun 2014 01:30:08 +0000 (11:30 +1000)]
Replace open() with BLI_open

5 years agoOSX: Ideasman does not like using utsname, so i use the always satisfactorily working...
Jens Verwiebe [Fri, 6 Jun 2014 20:06:26 +0000 (22:06 +0200)]
OSX: Ideasman does not like using utsname, so i use the always satisfactorily working sysctl method now for runtime OS detection