Style Cleanup: whitespace
Style Cleanup: whitespace
Cycles: SSE for Voronoi textures (targeted for Haswell CPUs)

Gives up to 15% speedup scenes with voronoi-based textures (up to 25% with volumes) on Haswell. The performance change for other CPUs is much smaller: 1-2%.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D203
Fix compilation for OpenCL (and small stype fixes)
UIList tweak: make active item visible when it changes somehow (useful e.g. when weight-paintings a rigged mesh).
Fix T38124: Grease Pencil Line thickness

Issue was in GP draw code: line thickness was not initiated properly (and a null one makes OGL draw a unity-width line).

Also tweaked threshold (when to start a new, width-different OGL linestrip), to make it inversaly proportional to thickness
(so that now, it's 0.2 for a thickness of 1, 0.1 for a thickness of 2, etc.), avoids too big steps when using large thickness.
Bevel fixes for profiles: better way to calculate.

It is better to keep the profile as it is perpedicular
to the edge, and then project it onto a given plane
at the corners. Also fixed the interpolation to a
different number of segments when the profile is not
round.
Fix some harmless warnings that mostly appeared on MinGW64
Code Cleanup: spelling
Fix cycles standalone compile on some systems, CMAKE_DL_LIBS should be enough.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D205
Select Random: add option to de-select

also made metaball operator behave like the others.

Path originally from Walid Shouman, with own edits.
UI: remove create new directory popup for button in file browser header.

We do keep it when typing an new directory name in the directory text field.

Reviewed By: brecht, billrey

Differential Revision: https://developer.blender.org/D188
Remove direct displist creation from drawing code

It was some kind of workaround for DAG glitch in 2009
(commit hash 8c5c7ebb0) and according to the comment
was needed to make select outline show immediately.

After some tests it appears DAG behaves almost fine now
(just needed to make it so layer is flushed properly to
the set scene) and no reason to have rather confusing
call in the code.
Remove direct displist creation from bevel code

BKE_curve_bevel_make() is only used from object_handle_update()
friends and never called directly. This means if there's no
display list ready for the bevel object it's something wrong
happened with DAG.

In fact, this check goes back to ancient era and from tests
it appears this check is no longer needed.
Remove direct displist creation from object conversion

If the object is visible and editable it means there's no
way DAG to fail to create needed display lists.
Code cleanup: no need to check display list elements in texture space match
Remove direct displist creation from BKE_vfont_to_curve_ex()

This goes back to ancient era again and such a call isn't
safe for threading and really DAG is to make it sure display
list for dependencies is always there.
Remove direct displist creation from curve deform

This solves threading conflict which happens when having
multiple objects using Curve Deform modifier with the same
curve datablock. This conflict was caused by the fact that
curve_deform_verts() used to temporary override curve's
flags to make it path is there.

Actually, it was setting CU_FOLLOW flag temporary which
was only used where_on_path() (only in terms that this
temporary assignment only affected this function) but it
is now commented out for a while, so no reason to set
this flag temporary, If it's ever to be done, we'll need
to pass flags as an additional function argument.

For the path creation i've extended DegNode structure
which now holds extra bits which indicates what additional
data depending on the graph topology is to be evaluated.

Currently this is only used to indicate that curve needs
path to be evaluated regardless to cu->flag state. This
is so Curve Deform modifier is always happy.

In the future this flag might also be used to indicate
whether bmesh verts are to update (see recent commit to
3-vertex parent crash fix) or to indicate that the object
is the motherball etc.
Remove direct displist creation from constraints

Since recent DAG commit for set scenes in DAG_on_visible_update()
it seems there're no longer issues with missing curve_cache after
file load.
Remove direct displist creation from array modifier

First of all, it was needed to have that set scenes fix which
was done recently so curve is being evaluated properly on file
load.

And last but not least, also needed to tag DAG node to evaluate
path regardless to curve datablock settings so curve length is
always known.