blender.git
3 months agoAPI doc: info_gotcha: extend description of issues related to memory changes.
Bastien Montagne [Mon, 18 Feb 2019 13:31:42 +0000 (14:31 +0100)]
API doc: info_gotcha: extend description of issues related to memory changes.

* Added a TL;DR first paragraph summarizing that one shall not keep any
reference to Blender data when modifying its container.

* Added some info about fact that adding items to some data containers
(like Collection) can also invalidate existing items (due to array
re-allocation).

* Added a Do/Don't example which shows a crash after adding some items
to a collection.

Related to T61297.

3 months agoCleanup: API doc 'info_gotcha': typos.
Bastien Montagne [Mon, 18 Feb 2019 10:41:01 +0000 (11:41 +0100)]
Cleanup: API doc 'info_gotcha': typos.

3 months agoAdd Abkhaz language to Blender (disabled for until we get some translated content).
Bastien Montagne [Sat, 16 Feb 2019 18:04:45 +0000 (19:04 +0100)]
Add Abkhaz language to Blender (disabled for until we get some translated content).

3 months agoEdit Mesh: Cleanup
Clément Foucault [Mon, 18 Feb 2019 12:04:43 +0000 (13:04 +0100)]
Edit Mesh: Cleanup

3 months agoSculpt Draw: Add support for wireframe geometry
Clément Foucault [Thu, 14 Feb 2019 19:24:13 +0000 (20:24 +0100)]
Sculpt Draw: Add support for wireframe geometry

This introduce the wireframe batches. Creating the indices buffer does
not seems to slow down the sculpt in my testing (but it is kind of hard to
test reliably)

This includes a bit of cleanup in gpu_buffers.c.

3 months agoWireframe: Add workaround for osx wide wires
Clément Foucault [Wed, 13 Feb 2019 17:09:16 +0000 (18:09 +0100)]
Wireframe: Add workaround for osx wide wires

3 months agoCleanup: Remove old wireframe batch cache code
Clément Foucault [Wed, 13 Feb 2019 14:13:47 +0000 (15:13 +0100)]
Cleanup: Remove old wireframe batch cache code

3 months agoWireframe: Fix Artifacts with MSAA
Clément Foucault [Wed, 13 Feb 2019 13:58:29 +0000 (14:58 +0100)]
Wireframe: Fix Artifacts with MSAA

We blit the depth buffer into the MSAA depth buffer so that wires are
properly occluded. This also makes the "In front" option work with MSAA.

3 months agoGPU: Change multisample resolve shader to output min depth
Clément Foucault [Wed, 13 Feb 2019 13:56:29 +0000 (14:56 +0100)]
GPU: Change multisample resolve shader to output min depth

This will effectively make the AA passes thicker in some cases but it is
required for better AA on wireframes. The trick is to occlude the wire
passes so that they do not output fragment that could be behind actual
geometry.

3 months agoWireframe: Add depth offset to prevent zfighting of wireframe overlay
Clément Foucault [Wed, 13 Feb 2019 12:58:45 +0000 (13:58 +0100)]
Wireframe: Add depth offset to prevent zfighting of wireframe overlay

3 months agoWireframe: Refactor to use GL_LINES instead of triangles with alpha blend
Clément Foucault [Tue, 12 Feb 2019 22:22:36 +0000 (23:22 +0100)]
Wireframe: Refactor to use GL_LINES instead of triangles with alpha blend

This gets rid of the progressive fading of the edges as it does not work
with depth perception (sorting problem with alpha blending).

3 months agoClamp value in sheen calculation to fix fireflies.
Alexander Court [Mon, 18 Feb 2019 12:52:25 +0000 (13:52 +0100)]
Clamp value in sheen calculation to fix fireflies.

Fixes T59784.

Reviewers: fclem

Reviewed By: fclem

Subscribers: brecht

Maniphest Tasks: T59784

Differential Revision: https://developer.blender.org/D4269

3 months agoFix T61649: Transform resize from UV editor asserts
Campbell Barton [Mon, 18 Feb 2019 09:03:29 +0000 (20:03 +1100)]
Fix T61649: Transform resize from UV editor asserts

Change logic for error checking so it's easier to follow.

3 months agoMarkers: Make marker lines in sequencer and graph editor optional
Jacques Lucke [Mon, 18 Feb 2019 09:42:06 +0000 (10:42 +0100)]
Markers: Make marker lines in sequencer and graph editor optional

- Makes it possible to show a vertical line for every marker in the graph editor.
- Makes the marker line visiblity optional in the sequencer and graph editor.

Request from @hjalti.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4348

3 months agoCleanup: remove unnecessary "_pad*" members
Campbell Barton [Mon, 18 Feb 2019 06:05:27 +0000 (17:05 +1100)]
Cleanup: remove unnecessary "_pad*" members

3 months agoCleanup: use "_pad" prefix for struct members
Campbell Barton [Mon, 18 Feb 2019 05:47:55 +0000 (16:47 +1100)]
Cleanup: use "_pad" prefix for struct members

3 months agoCleanup: move 'orig' into Object_Runtime struct
Campbell Barton [Mon, 18 Feb 2019 05:34:47 +0000 (16:34 +1100)]
Cleanup: move 'orig' into Object_Runtime struct

3 months agoCleanup: remove 'orig' from ObTfmBack
Campbell Barton [Mon, 18 Feb 2019 05:31:02 +0000 (16:31 +1100)]
Cleanup: remove 'orig' from ObTfmBack

This is runtime data and is re-evaluated before use.

3 months agoDNA: rename Object.size -> scale
Campbell Barton [Mon, 18 Feb 2019 04:43:06 +0000 (15:43 +1100)]
DNA: rename Object.size -> scale

Resolves a common cause of confusion.

3 months agoUI: motion paths panel layout tweak
Campbell Barton [Mon, 18 Feb 2019 04:15:43 +0000 (15:15 +1100)]
UI: motion paths panel layout tweak

- User better alignment for the paths_range_update button.
- Use Flow layout for the Display sub-panel items.

3 months agoUI: armature properties layout tweaks
William Reynish [Mon, 18 Feb 2019 04:10:01 +0000 (15:10 +1100)]
UI: armature properties layout tweaks

- Rename 'Draw Mode' to 'Display As', consistent with other properties.
- Use flow layout.

3 months agoRNA: use distance units
William Reynish [Mon, 18 Feb 2019 03:56:37 +0000 (14:56 +1100)]
RNA: use distance units

3 months agoUI: bake panel layout improvements
William Reynish [Mon, 18 Feb 2019 03:47:51 +0000 (14:47 +1100)]
UI: bake panel layout improvements

All the controls were just really thrown in there without any proper
organization.
This gives it more structure.

- Correct use of sub-panels to communicate hierarchy and sections.
- Use flow layout for toggles.
- Use consistent names for "Bake Type".

3 months agoUI: improve light probe properties layout
William Reynish [Mon, 18 Feb 2019 03:10:07 +0000 (14:10 +1100)]
UI: improve light probe properties layout

Smaller adjustments to the Light Probe properties layout.

- Correctly use alignment for multi-property values.
- Correctly use sub-panels.
- Correctly use PROP_FACTOR for visibility_bleed_bias and
  visibility_blur.

3 months agoFix T61187: Fluid Particle settings UI elements
William Reynish [Mon, 18 Feb 2019 02:44:57 +0000 (13:44 +1100)]
Fix T61187: Fluid Particle settings UI elements

Some properties were accidentally hidden for particle fluids.

- Made sure we show the Forces and Integration
  sub-panels for particle fluids.
- Slightly re-ordered the sub-panels here, so that the same sub-panels
  are at the top for Newtonian and Fluid particles.
- Separated the Fluid Interaction sub-panel so we can give it a unique
  name.
- Removed lingering unnecessary 'Keys' label in the Keyed physics.

3 months agoCleanup: spelling
Campbell Barton [Mon, 18 Feb 2019 01:47:17 +0000 (12:47 +1100)]
Cleanup: spelling

3 months agodoxygen: update doxygen & add balembic group
Campbell Barton [Mon, 18 Feb 2019 00:23:17 +0000 (11:23 +1100)]
doxygen: update doxygen & add balembic group

3 months agoDNA: rename Collection.dupli_ofs -> instance_collection
Campbell Barton [Sun, 17 Feb 2019 23:38:34 +0000 (10:38 +1100)]
DNA: rename Collection.dupli_ofs -> instance_collection

3 months agoDNA: support renaming structs that use the old renaming hack
Campbell Barton [Sun, 17 Feb 2019 23:34:48 +0000 (10:34 +1100)]
DNA: support renaming structs that use the old renaming hack

3 months agoRNA: use clog for logging error messages
Campbell Barton [Sun, 17 Feb 2019 22:32:15 +0000 (09:32 +1100)]
RNA: use clog for logging error messages

Some RNA errors are quite similar, use clog for consistent logging that
always includes the file, function and line number - making errors
quicker to troubleshoot.

3 months agoCleanup: style
Campbell Barton [Sun, 17 Feb 2019 21:35:03 +0000 (08:35 +1100)]
Cleanup: style

3 months agoCorrect own mistake in near/far cleanup
Campbell Barton [Sun, 17 Feb 2019 21:46:10 +0000 (08:46 +1100)]
Correct own mistake in near/far cleanup

Error in 2f737c4f475a5

3 months agodoxygen: add newline after \file
Campbell Barton [Sun, 17 Feb 2019 21:08:12 +0000 (08:08 +1100)]
doxygen: add newline after \file

While \file doesn't need an argument, it can't have another doxy
command after it.

3 months agoCleanup: conform headers to have license first
Campbell Barton [Sun, 17 Feb 2019 20:21:50 +0000 (07:21 +1100)]
Cleanup: conform headers to have license first

Also remove doxy comments for licenses and add missing GPL header.

3 months agoDNA: comment on how to avoid DNA rename errors
Campbell Barton [Sun, 17 Feb 2019 08:10:34 +0000 (19:10 +1100)]
DNA: comment on how to avoid DNA rename errors

3 months agoUnits: allow short unit names be case sensitive when needed.
Brecht Van Lommel [Sun, 17 Feb 2019 15:39:28 +0000 (16:39 +0100)]
Units: allow short unit names be case sensitive when needed.

To distinguish mW and MW without having to deviate from the standard
SI unit abbreviation. For all other units there are no changes.

3 months agoUnits: add support for light power units in Watt. Use for Eevee lights.
Brecht Van Lommel [Fri, 8 Feb 2019 11:31:28 +0000 (12:31 +0100)]
Units: add support for light power units in Watt. Use for Eevee lights.

This affects point, spot and area lights. Sun light strength remains without
a unit. This change does not affect .blend file compatibility in any way, as
with the rest of the unit system it's purely a display and editing feature.

Not used for Cycles yet, that will be done after unifying the settings with
Eevee.

3 months agoCleanup: remove leftover hemi light code.
Brecht Van Lommel [Sat, 16 Feb 2019 23:31:51 +0000 (00:31 +0100)]
Cleanup: remove leftover hemi light code.

3 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Sun, 17 Feb 2019 14:57:34 +0000 (15:57 +0100)]
Merge branch 'blender2.7'

3 months agoFix T54504: Cycles wrong backwards compatibility with linked libraries.
Brecht Van Lommel [Sun, 17 Feb 2019 11:27:07 +0000 (12:27 +0100)]
Fix T54504: Cycles wrong backwards compatibility with linked libraries.

The code assumed all datablocks were read from .blend files saved with the
same version. This restructures the Cycles versioning code to take into
account libraries.

3 months agoDNA: rename dup_* struct members to instance_*
Campbell Barton [Sun, 17 Feb 2019 08:00:54 +0000 (19:00 +1100)]
DNA: rename dup_* struct members to instance_*

3 months agoCleanup: remove unused bStats struct
Campbell Barton [Sun, 17 Feb 2019 07:09:38 +0000 (18:09 +1100)]
Cleanup: remove unused bStats struct

3 months agoCleanup: rename Mesh.edit_btmesh -> edit_mesh
Campbell Barton [Sun, 17 Feb 2019 07:05:18 +0000 (18:05 +1100)]
Cleanup: rename Mesh.edit_btmesh -> edit_mesh

When bmesh was in a branch we had both edit_mesh and edit_btmesh,
now there is no reason to use this odd name.

3 months agoCleanup: move flag definition into screen header
Campbell Barton [Sun, 17 Feb 2019 01:44:03 +0000 (12:44 +1100)]
Cleanup: move flag definition into screen header

This has been moved to screen, move declaration as well.

3 months agoCleanup: move object bounding-box into runtime struct
Campbell Barton [Sun, 17 Feb 2019 01:24:08 +0000 (12:24 +1100)]
Cleanup: move object bounding-box into runtime struct

3 months agoBlenlib/Windows: Fix Build error with clang.
Ray Molenkamp [Sat, 16 Feb 2019 18:42:55 +0000 (11:42 -0700)]
Blenlib/Windows: Fix Build error with clang.

__cpuid comes from intrin.h which was implicitly included somewhere
for msvc builds, but not for clang.

3 months agoWindows: Fix building with llvm/clang 7.0.1
Ray Molenkamp [Sat, 16 Feb 2019 18:36:19 +0000 (11:36 -0700)]
Windows: Fix building with llvm/clang 7.0.1

For llvm 6 the visual studio integration was 'not great' and we had
our own, which broke when llvm 7.0.1 came out. llvm now has properly
supported integration available on the VS market place hence we can
retire our custom support.

3 months agoFix T61591 Bevel tool not executing on mouseup.
Howard Trickey [Sat, 16 Feb 2019 14:45:55 +0000 (09:45 -0500)]
Fix T61591 Bevel tool not executing on mouseup.

When modal map was introduced, left out handling of what
happens when bevel is made active tool in toolbar and user
starts bevel by clicking and dragging.

3 months agoFix T61593: Python can't access HUD region-type
Campbell Barton [Sat, 16 Feb 2019 10:25:29 +0000 (21:25 +1100)]
Fix T61593: Python can't access HUD region-type

3 months agoCleanup: rename SPACE_IPO -> SPACE_GRAPH
Campbell Barton [Sat, 16 Feb 2019 05:42:11 +0000 (16:42 +1100)]
Cleanup: rename SPACE_IPO -> SPACE_GRAPH

3 months agoDNA: rename theme space types
Campbell Barton [Sat, 16 Feb 2019 05:13:12 +0000 (16:13 +1100)]
DNA: rename theme space types

Follow enum naming convention, use "space_" prefix instead of "t".

3 months agoDNA: ensure new names exist when renaming
Campbell Barton [Sat, 16 Feb 2019 01:54:33 +0000 (12:54 +1100)]
DNA: ensure new names exist when renaming

Fail to build on errors in new names - without this renamed values
would be written to DNA breaking backwards & forwards compatibility.

Note that errors in old names aren't detected.

3 months agoDNA: rename near/far -> clip_start/clip_end
Campbell Barton [Sat, 16 Feb 2019 01:21:44 +0000 (12:21 +1100)]
DNA: rename near/far -> clip_start/clip_end

Rename for Camera, View3D (also CameraParams & Render not DNA)

3 months agoDNA: rename SpaceButs -> SpaceProperties
Campbell Barton [Fri, 15 Feb 2019 23:44:15 +0000 (10:44 +1100)]
DNA: rename SpaceButs -> SpaceProperties

3 months agoDNA: rename SpaceIpo -> SpaceGraph
Campbell Barton [Fri, 15 Feb 2019 23:16:16 +0000 (10:16 +1100)]
DNA: rename SpaceIpo -> SpaceGraph

3 months agoDNA: rename SpaceOops -> SpaceOutliner
Campbell Barton [Fri, 15 Feb 2019 22:47:19 +0000 (09:47 +1100)]
DNA: rename SpaceOops -> SpaceOutliner

3 months agoDNA: rename camera YF_dofdist -> dof_distance
Campbell Barton [Fri, 15 Feb 2019 22:40:19 +0000 (09:40 +1100)]
DNA: rename camera YF_dofdist -> dof_distance

3 months agoDNA: support DNA type & name aliases
Campbell Barton [Tue, 12 Feb 2019 00:43:33 +0000 (11:43 +1100)]
DNA: support DNA type & name aliases

This allows us to rename struct & struct members in the source code
without changing the file format.

This is useful because the code becomes increasingly confusing when
names such as oops, ipo & dupli aren't used anywhere except DNA headers.

dna_rename_defs.h is used to define renaming operations.

The renaming it's self will be done separately.

3 months agoDNA: warn about old versioning being incomplete
Campbell Barton [Fri, 15 Feb 2019 21:51:00 +0000 (08:51 +1100)]
DNA: warn about old versioning being incomplete

Also sync variable names w/ D4342

3 months agoFix T61512: Crash switching workspace with fullscreen area
Dalai Felinto [Fri, 15 Feb 2019 21:13:17 +0000 (19:13 -0200)]
Fix T61512: Crash switching workspace with fullscreen area

In this case we simply create a new screen area that copies the currently
fullscreened area.

Note: At the moment there is no indicative in the non-main window that we are in
fullscreen. That happens because this information is part of the bar and we have
no topbar in this window.

3 months agoFix T61210: Crash/inconsistency when clicking on obdata in outliner
Dalai Felinto [Fri, 15 Feb 2019 17:48:11 +0000 (15:48 -0200)]
Fix T61210: Crash/inconsistency when clicking on obdata in outliner

The problem
===========
For armature, if the active object was in pose mode and the newly
selected armature data (not the pose, but the edit armature) we would
get a crash.

For mesh objects, the issue would happen with the active object in object mode.
Then the new selected object would switch to edit mode, however the overall
mode would still be object mode, leading to unsynced mode across the objects.

The solution
============
Using shift to extend selection makes current selected (compatible)
objects to go to edit mode as well. Otherwise only the newly selected
object will switch to edit mode.

This also works if you are in edit mode for a curve, and click in a mesh icon.

This also changes the rules for multi-object editing (or rather, how we
put objects in and out of it). Now shirt is also taking into
consideration there. So if you simply click in another mesh object's
data, it will have only the newly selected object in edit mode.

To reproduce the old behaviour you need to use shift to include the
newly selected object in the multi-edit party.

Reviewers: campbellbarton

Subscribers: brecht

Differential Revision: https://developer.blender.org/D4344

3 months agoFix T61575: missing Cycles viewport updates when changing settings.
Brecht Van Lommel [Fri, 15 Feb 2019 17:36:59 +0000 (18:36 +0100)]
Fix T61575: missing Cycles viewport updates when changing settings.

This reverts "Depsgraph: Don't tag original IDs", commit:
5f814cb3b47df9255724e979458e05a42ed40f9a.

3 months agoGP: Cleanup old ToDo
Antonioya [Fri, 15 Feb 2019 17:12:32 +0000 (18:12 +0100)]
GP: Cleanup old ToDo

3 months agoFix T61572: Crash when copy/pasting nodes
Philipp Oeser [Fri, 15 Feb 2019 13:29:10 +0000 (14:29 +0100)]
Fix T61572: Crash when copy/pasting nodes

was caused by rBc6e3a20ab60b, copied node was actually added to the
nodetree, resulting in an endless loop.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4360

3 months agoAdd global control over disabling high-resolution smoke draw
Sergey Sharybin [Fri, 15 Feb 2019 16:55:24 +0000 (17:55 +0100)]
Add global control over disabling high-resolution smoke draw

Can be found in the viewport's simplify panel, allows to easily
disable high-res display for all the smokes in the scene.

3 months agoCleanup: More obvious name for the flag
Sergey Sharybin [Fri, 15 Feb 2019 16:28:25 +0000 (17:28 +0100)]
Cleanup: More obvious name for the flag

Not sure what BIG is, it is HIGH RESOLUTION.

3 months agoCleanup: Naming, BKE prefix
Sergey Sharybin [Fri, 15 Feb 2019 16:26:57 +0000 (17:26 +0100)]
Cleanup: Naming, BKE prefix

Done for smoke functions.

Smoke modifier functions seems an oddballs here,
but probably also to be renamed.

3 months agoFix T61567: Object loose its rigid body data when moving to collection
Dalai Felinto [Fri, 15 Feb 2019 14:55:54 +0000 (12:55 -0200)]
Fix T61567: Object loose its rigid body data when moving to collection

At some I unified the "move to collection" with the remove from all collections
functionality. That meant that even when we were still to keep the object in one
of the collections we would clear its rigid body data.

Now why to even remove the rigidbody data when removing an object from all
collections? That mimics the 2.79 behaviour when we were to unlink an
object from a scene. I suspect it has to do with the rigid body data
being tied to the scene rigid body. Which is a strange design anyways
(add to the list?) since an object can be in more than one scene.

3 months agoCleanup: Line wrapping
Sergey Sharybin [Fri, 15 Feb 2019 15:00:54 +0000 (16:00 +0100)]
Cleanup: Line wrapping

3 months agoDepsgraph: Speedup constraint source lookup
Sergey Sharybin [Fri, 15 Feb 2019 14:06:44 +0000 (15:06 +0100)]
Depsgraph: Speedup constraint source lookup

Is mainly used by drivers variables. The slow part was about
iterating over all pose channels to find the one which has a
given constraint.

Now we build a look up table, so this operation is way cheaper,

Brings down relations update time from 0.7sec to 0.4 with Spring
production file.

3 months agoDepsgraph: Move RNA lookup to an own query class
Sergey Sharybin [Fri, 15 Feb 2019 11:45:56 +0000 (12:45 +0100)]
Depsgraph: Move RNA lookup to an own query class

Currently should have no functional changes, but allows to
implement runction optimizations more localized and easily.

3 months agoDepsgraph: Correct logging of build time
Sergey Sharybin [Fri, 15 Feb 2019 14:33:50 +0000 (15:33 +0100)]
Depsgraph: Correct logging of build time

3 months agoCleanup: Indentation
Sergey Sharybin [Fri, 15 Feb 2019 11:30:06 +0000 (12:30 +0100)]
Cleanup: Indentation

3 months agoBevel: remove workspace text message when exiting bevel.
Howard Trickey [Fri, 15 Feb 2019 14:15:32 +0000 (09:15 -0500)]
Bevel: remove workspace text message when exiting bevel.

The message with shortcuts was hanging around after bevel
exited.

3 months agoBevel: fix twist on bevel of cylinder with >= 200 sides.
Howard Trickey [Fri, 15 Feb 2019 13:32:07 +0000 (08:32 -0500)]
Bevel: fix twist on bevel of cylinder with >= 200 sides.

This triggered an "almost parallel" case in setting the
offset meet points, which is OK but code needed improvement
put the meet point in a more accurate place.
This ia fix for part of the report T61214.

3 months agoDepsgraph: Show build time on --debug-depsgraph-time
Sergey Sharybin [Fri, 15 Feb 2019 11:27:36 +0000 (12:27 +0100)]
Depsgraph: Show build time on --debug-depsgraph-time

Previously was only shown on --debug-depsgraph-build which
had other unwanted noise.

3 months agoFix T61570: Monkey primitive fill color wrong
Antonioya [Fri, 15 Feb 2019 11:00:43 +0000 (12:00 +0100)]
Fix T61570: Monkey primitive fill color wrong

This was introduced by error in a previous commit.

3 months agoFix Spring characters being in the rest pose on file open
Sergey Sharybin [Fri, 15 Feb 2019 09:54:46 +0000 (10:54 +0100)]
Fix Spring characters being in the rest pose on file open

This partially reverts bf2c5217 and makes it so animation is evaluated
for datablocks which were never evaluated within the dependency graph.

Not ideal, but safest way currently.

Animation for already evaluated datablocks will only be evaluated on
manual edits, so the initial bugfix is still valid.

3 months agoCleanup: Argument wrapping
Sergey Sharybin [Fri, 15 Feb 2019 09:52:53 +0000 (10:52 +0100)]
Cleanup: Argument wrapping

3 months agoDepsgraph: Don't tag original IDs
Sergey Sharybin [Thu, 14 Feb 2019 11:20:51 +0000 (12:20 +0100)]
Depsgraph: Don't tag original IDs

This is unreliable for cases when multiple dependency graphs
are to be updated.

The only reason why it was attempted to be made is to deal
with cases when ID appears in the dependency graph for the
first time. But even then it should be smart enough bring
itself to an up-to-date state without any extra tricks.

3 months agoCleanup: Attempt to clarify some ID_RECALC flags
Sergey Sharybin [Thu, 14 Feb 2019 11:17:29 +0000 (12:17 +0100)]
Cleanup: Attempt to clarify some ID_RECALC flags

3 months agoCycles: Support multithreaded compilation of kernels
Brecht Van Lommel [Fri, 15 Feb 2019 07:18:38 +0000 (08:18 +0100)]
Cycles: Support multithreaded compilation of kernels

This patch implements a workaround to get the multithreaded compilation from D2231 working.
So far, it only works for Blender, not for Cycles Standalone. Also, I have only tested the Linux codepath in the helper function.
Depends on D2231.

Patch by lukasstockner97, jbakker, brecht

    job    |   scene_name    | compilation_time
----------+-----------------+------------------
    Baseline | empty           |            22.73
    D2264    | empty           |            13.94
    Baseline | bmw             |            56.44
    D2264    | bmw             |            41.32
    Baseline | fishycat        |            59.50
    D2264    | fishycat        |            45.19
    Baseline | barbershop      |           212.28
    D2264    | barbershop      |           169.81
    Baseline | victor          |            67.51
    D2264    | victor          |            53.60
    Baseline | classroom       |            51.46
    D2264    | classroom       |            39.02
    Baseline | koro            |            62.48
    D2264    | koro            |            49.03
    Baseline | pavillion       |            54.37
    D2264    | pavillion       |            38.82
    Baseline | splash279       |            47.43
    D2264    | splash279       |            37.94
    Baseline | volume_emission |           145.22
    D2264    | volume_emission |           121.10

This patch reduced compilation time as the split kernels and base
kernels are compiled in parallel. In cycles debug mode (256) you can set
unmark the opencl single program file, what reduces the compilation time
even further (bmw 17 seconds, barbershop 53 seconds).

Reviewers: brecht, dingto, sergey, juicyfruit, lukasstockner97

Reviewed By: brecht

Subscribers: Loner, jbakker, candreacchio, 3dLuver, LazyDodo, bliblubli

Differential Revision: https://developer.blender.org/D2264

3 months agoCycles: Support multithreaded compilation of kernels
Brecht Van Lommel [Fri, 15 Feb 2019 07:18:38 +0000 (08:18 +0100)]
Cycles: Support multithreaded compilation of kernels

This patch implements a workaround to get the multithreaded compilation from D2231 working.
So far, it only works for Blender, not for Cycles Standalone. Also, I have only tested the Linux codepath in the helper function.
Depends on D2231.

Reviewers: brecht, dingto, sergey, juicyfruit, lukasstockner97

Reviewed By: brecht

Subscribers: Loner, jbakker, candreacchio, 3dLuver, LazyDodo, bliblubli

Differential Revision: https://developer.blender.org/D2264

3 months agoFix DNA struct member versioning logic
Campbell Barton [Fri, 15 Feb 2019 07:09:02 +0000 (18:09 +1100)]
Fix DNA struct member versioning logic

Possible error changing names which are shared between structs.
While the problem doesn't occur at the moment, avoid future problems.

3 months agoCleanup: sync minor changes from D4342
Campbell Barton [Fri, 15 Feb 2019 06:20:11 +0000 (17:20 +1100)]
Cleanup: sync minor changes from D4342

Use naming conventions from the patch so they match when it's applied.

3 months agoUI: impossible to activate RMB menu on menu items
Campbell Barton [Fri, 15 Feb 2019 04:18:35 +0000 (15:18 +1100)]
UI: impossible to activate RMB menu on menu items

Right clicking on a menu item now closes it's sub-menus and opens
the button's context menu.

This is needed for adding them to the quick favourites menu.

Resolves T58729, T61015.

3 months agoFix T60905: Crash using smooth tool
Campbell Barton [Fri, 15 Feb 2019 02:32:31 +0000 (13:32 +1100)]
Fix T60905: Crash using smooth tool

Tools were relying on gizmos drawing to initialize their gizmos,
now tool gizmos are initialized immediately.

3 months agoFix T58090: Selected curve vertex should stand out
Campbell Barton [Fri, 15 Feb 2019 00:58:36 +0000 (11:58 +1100)]
Fix T58090: Selected curve vertex should stand out

D4002 by @slumber w/ edits.

Use text colors, blending to background if they don't contrast.

3 months agomakesdna: correct function docs
Campbell Barton [Thu, 14 Feb 2019 23:31:51 +0000 (10:31 +1100)]
makesdna: correct function docs

Also use doxy sections & remove parens from return values.

3 months agoctodata: make stripping the last byte optional
Campbell Barton [Thu, 14 Feb 2019 21:39:15 +0000 (08:39 +1100)]
ctodata: make stripping the last byte optional

3 months agoFix T61427: Bevel crash with patch miter.
Howard Trickey [Thu, 14 Feb 2019 22:21:50 +0000 (17:21 -0500)]
Fix T61427: Bevel crash with patch miter.

The adjustment phase had broken assumptions after adding miters,
and sent a null problem to eigen. Fixed code to check assumptions.

3 months agoFix outliner box select not working when using search filter.
Brecht Van Lommel [Thu, 14 Feb 2019 19:08:10 +0000 (20:08 +0100)]
Fix outliner box select not working when using search filter.

3 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Thu, 14 Feb 2019 19:00:37 +0000 (20:00 +0100)]
Merge branch 'blender2.7'

3 months agoCleanup: fix compiler warnings.
Brecht Van Lommel [Thu, 14 Feb 2019 18:28:19 +0000 (19:28 +0100)]
Cleanup: fix compiler warnings.

3 months agoFix T61470: incorrect saturation clamping in recent bugfix.
Brecht Van Lommel [Thu, 14 Feb 2019 18:03:59 +0000 (19:03 +0100)]
Fix T61470: incorrect saturation clamping in recent bugfix.

We should clamp the result after multiplication.

3 months agoUI: reword error message when Python script fails.
Francesco Siddi [Thu, 14 Feb 2019 17:16:18 +0000 (18:16 +0100)]
UI: reword error message when Python script fails.

Differential Revision: https://developer.blender.org/D4353

3 months agoFix Cycles Embree crash on macOS, due to too small thread stack size.
Brecht Van Lommel [Thu, 14 Feb 2019 13:37:57 +0000 (14:37 +0100)]
Fix Cycles Embree crash on macOS, due to too small thread stack size.

3 months agoFix Cycles build error with OpenImageIO 2.x.
Brecht Van Lommel [Thu, 14 Feb 2019 12:57:28 +0000 (13:57 +0100)]
Fix Cycles build error with OpenImageIO 2.x.

3 months agoGP: Cleanup some lowercase texts
Antonioya [Thu, 14 Feb 2019 15:51:50 +0000 (16:51 +0100)]
GP: Cleanup some lowercase texts

3 months agoGP: Don't activate Fill for new materials
Antonioya [Thu, 14 Feb 2019 15:42:07 +0000 (16:42 +0100)]
GP: Don't activate Fill for new materials

As the fill color alpha is set to zero, it's better keep fill option disabled.