blender.git
4 months agoMerge branch 'blender2.7'
Jeroen Bakker [Tue, 19 Feb 2019 07:05:15 +0000 (08:05 +0100)]
Merge branch 'blender2.7'

4 months agoRevert "Cycles: Change OpenCL split kernel to use single program by default"
Jeroen Bakker [Fri, 15 Feb 2019 09:43:26 +0000 (10:43 +0100)]
Revert "Cycles: Change OpenCL split kernel to use single program by default"

This reverts commit c6bf5d47240cebef356276e369881e855dbe7e6d.

Related to D2264: When multi process opencl kernel compilation is in place single-program compiles slower then multi-program. c6bf5d47240cebef356276e369881e855dbe7e6d was created as single-program compiled faster, but this is not the case anymore. So let's revert this change. Production scenes like victor and barbershop even render quicker.

Change in Cycles OpenCL compilation times

>    job    |   scene_name    | compilation_time | render_time
>  Baseline | empty           |            22.73 |       20.63
>  T61514   | empty           |            10.63 |       21.06
>  Baseline | bmw             |            56.44 |      191.00
>  T61514   | bmw             |            17.91 |      198.44
>  Baseline | fishycat        |            59.50 |      393.48
>  T61514   | fishycat        |            19.57 |      394.20
>  Baseline | barbershop      |           212.28 |     1623.53
>  T61514   | barbershop      |            54.10 |     1188.16
>  Baseline | victor          |            67.51 |     1459.80
>  T61514   | victor          |            22.06 |     1381.58
>  Baseline | classroom       |            51.46 |      341.23
>  T61514   | classroom       |            17.55 |      341.08
>  Baseline | koro            |            62.48 |      475.96
>  T61514   | koro            |            18.92 |      472.43
>  Baseline | pavillion       |            54.37 |      903.48
>  T61514   | pavillion       |            17.43 |      905.77
>  Baseline | splash279       |            47.43 |       52.92
>  T61514   | splash279       |            16.48 |       55.26
>  Baseline | volume_emission |           145.22 |       62.38
>  T61514   | volume_emission |            36.22 |       62.59

Reviewers: #cycles, brecht, sergey

Reviewed By: #cycles, brecht

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

4 months agoCleanup: return specific handler types
Campbell Barton [Tue, 19 Feb 2019 05:57:36 +0000 (16:57 +1100)]
Cleanup: return specific handler types

4 months agoCleanup: remove unused default handler type
Campbell Barton [Tue, 19 Feb 2019 05:13:47 +0000 (16:13 +1100)]
Cleanup: remove unused default handler type

4 months agoWM: move keymap handler to it's own type
Campbell Barton [Tue, 19 Feb 2019 05:09:14 +0000 (16:09 +1100)]
WM: move keymap handler to it's own type

Illuminate dead code, using wmEventHandler_KeymapFn from gizmo handler
type where it was never set.

4 months agoWM: move dropbox handler to it's own type
Campbell Barton [Tue, 19 Feb 2019 04:32:01 +0000 (15:32 +1100)]
WM: move dropbox handler to it's own type

4 months agoWM: move operator handler to it's own type
Campbell Barton [Tue, 19 Feb 2019 04:18:56 +0000 (15:18 +1100)]
WM: move operator handler to it's own type

4 months agoWM: move UI handler to it's own type
Campbell Barton [Tue, 19 Feb 2019 02:57:11 +0000 (13:57 +1100)]
WM: move UI handler to it's own type

4 months agoWM: move gizmo handler to it's own type
Campbell Barton [Tue, 19 Feb 2019 01:59:05 +0000 (12:59 +1100)]
WM: move gizmo handler to it's own type

4 months agoWM: move wmEventHandler.type to a boolean
Campbell Barton [Tue, 19 Feb 2019 01:33:01 +0000 (12:33 +1100)]
WM: move wmEventHandler.type to a boolean

Currently it's effectively a boolean for file-select handlers.

Prepare for refactoring event handlers into their own types (keymap,
operator, gizmo, ui & dropbox) to help make logic easier to follow.

4 months agoCleanup: rename parent_origin_eval to parent_display_origin
Campbell Barton [Tue, 19 Feb 2019 00:37:27 +0000 (11:37 +1100)]
Cleanup: rename parent_origin_eval to parent_display_origin

The term 'eval' is often used by depsgraph result,
where this is just used for drawing.

4 months agoFix edit-curve display for hidden handles
Campbell Barton [Mon, 18 Feb 2019 23:04:15 +0000 (10:04 +1100)]
Fix edit-curve display for hidden handles

When the first handle was hidden, all others would show as hidden too.

4 months agoCleanup: remove unused Object.smoothresh
Campbell Barton [Mon, 18 Feb 2019 22:50:00 +0000 (09:50 +1100)]
Cleanup: remove unused Object.smoothresh

4 months agoDNA: rename select_color -> select_id
Campbell Barton [Mon, 18 Feb 2019 22:42:06 +0000 (09:42 +1100)]
DNA: rename select_color -> select_id

The term color is misleading, it's an integer id that happens to be
written to a color in some cases, then converted back to an integer.

4 months agoDNA: rename Object.col -> color
Campbell Barton [Mon, 18 Feb 2019 21:44:53 +0000 (08:44 +1100)]
DNA: rename Object.col -> color

Was confusing, unrelated to:
colbits, col_mask, col_group, actcol & totcol.

4 months agoFix (unreported) broken-by-design code in depsgraph's `deg_backup_object_runtime()`
Bastien Montagne [Mon, 18 Feb 2019 17:21:44 +0000 (18:21 +0100)]
Fix (unreported) broken-by-design code in depsgraph's `deg_backup_object_runtime()`

Committing this since it does fix broken logic (previously in that
condition obdata would always be set to NULL, since
`BKE_object_runtime_reset()` is called before).

However, this has presumably been broken that way since 05/2018, so
maybe that whole condition is not needed anymore? Or NULL pointer was
working as well here?

@sergey eyes are required here I guess ;)

4 months agoFix Object bbox memleak in depsgraph code.
Bastien Montagne [Mon, 18 Feb 2019 17:15:00 +0000 (18:15 +0100)]
Fix Object bbox memleak in depsgraph code.

Caused by rBae2b677dcb5a70f5, Object.runtime has lot of weird specific
handlings in depsgraph...

For now modified `deg_backup_object_runtime()` and
`deg_restore_object_runtime()` to mimic previous behavior regarding
Object bbox (i.e. pass it around, instead of wiping it clean).

Reported in T61660.

4 months agoCleanup some Object's bbox code.
Bastien Montagne [Mon, 18 Feb 2019 16:55:44 +0000 (17:55 +0100)]
Cleanup some Object's bbox code.

Now that bbox is in runtime, no need to explicitely clear it when we
call BKE_object_runtime_reset() two lines below.

4 months agoFix (unreported) wrong handling of some parameters combination in `bpy.data.user_map()`
Bastien Montagne [Mon, 18 Feb 2019 16:14:40 +0000 (17:14 +0100)]
Fix (unreported) wrong handling of some parameters combination in `bpy.data.user_map()`

Would add undesired keys...

4 months agoID Management Py API: Fix (unreported) crash in some cases.
Bastien Montagne [Mon, 18 Feb 2019 15:55:32 +0000 (16:55 +0100)]
ID Management Py API: Fix (unreported) crash in some cases.

Would crash when passing some kind of invalid parameters, e.g.:

   >>>D.user_map(key_types={'brush'})

4 months agoID management: use FOREACH_MAIN_ID in some places.
Bastien Montagne [Mon, 18 Feb 2019 15:39:12 +0000 (16:39 +0100)]
ID management: use FOREACH_MAIN_ID in some places.

4 months agoID management: use FOREACH_MAIN_ID in some places.
Bastien Montagne [Mon, 18 Feb 2019 15:39:01 +0000 (16:39 +0100)]
ID management: use FOREACH_MAIN_ID in some places.

4 months agoID management: use FOREACH_MAIN_ID in some places.
Bastien Montagne [Mon, 18 Feb 2019 15:15:27 +0000 (16:15 +0100)]
ID management: use FOREACH_MAIN_ID in some places.

4 months agoID management: use FOREACH_MAIN_ID in some places.
Bastien Montagne [Mon, 18 Feb 2019 15:15:14 +0000 (16:15 +0100)]
ID management: use FOREACH_MAIN_ID in some places.

4 months agoID management: use FOREACH_MAIN_ID in some places.
Bastien Montagne [Mon, 18 Feb 2019 15:15:01 +0000 (16:15 +0100)]
ID management: use FOREACH_MAIN_ID in some places.

4 months agoID management: use FOREACH_MAIN_ID in some places.
Bastien Montagne [Mon, 18 Feb 2019 15:13:11 +0000 (16:13 +0100)]
ID management: use FOREACH_MAIN_ID in some places.

4 months agoBKE_main: FOREACH macros: fix shadowing 'i' variable.
Bastien Montagne [Mon, 18 Feb 2019 15:12:36 +0000 (16:12 +0100)]
BKE_main: FOREACH macros: fix shadowing 'i' variable.

4 months agoBKE_main: make FOREACH new macros working when deleting some IDs.
Bastien Montagne [Mon, 18 Feb 2019 14:45:52 +0000 (15:45 +0100)]
BKE_main: make FOREACH new macros working when deleting some IDs.

4 months agoWireframe: Fix selection broken since recent wireframe refactor
Clément Foucault [Mon, 18 Feb 2019 16:02:47 +0000 (17:02 +0100)]
Wireframe: Fix selection broken since recent wireframe refactor

4 months agoFix T61473: Crash particle system is updating
Sergey Sharybin [Mon, 18 Feb 2019 15:59:31 +0000 (16:59 +0100)]
Fix T61473: Crash particle system is updating

Original and localized particle settings were sharing some
of the runtime pointers.

4 months agoFix T57457: animated image sequences not working in Eevee.
Brecht Van Lommel [Mon, 18 Feb 2019 12:23:49 +0000 (13:23 +0100)]
Fix T57457: animated image sequences not working in Eevee.

The dependency graph now handles updating image users to point to the current
frame, and tags images to be refreshed on the GPU. The image editor user is
still updated outside of the dependency graph.

We still do not support multiple image users using a different current frame
in the same image, same as 2.7. This may require adding a GPU image texture
cache to keep memory usage under control. Things like rendering an animation
while the viewport stays fixed at the current frame works though.

4 months agoFix image filepath changes not refreshing all image users.
Brecht Van Lommel [Mon, 18 Feb 2019 14:22:02 +0000 (15:22 +0100)]
Fix image filepath changes not refreshing all image users.

4 months agoFix BKE_image_walk_all_users not including all image users.
Brecht Van Lommel [Mon, 18 Feb 2019 15:19:15 +0000 (16:19 +0100)]
Fix BKE_image_walk_all_users not including all image users.

4 months agoCleanup: rename tpageflag to gpuflag, make it purely runtime data.
Brecht Van Lommel [Mon, 18 Feb 2019 13:45:22 +0000 (14:45 +0100)]
Cleanup: rename tpageflag to gpuflag, make it purely runtime data.

4 months agoFix T61373: Crash when selecting the edit mode
mano-wii [Mon, 18 Feb 2019 14:30:22 +0000 (11:30 -0300)]
Fix T61373: Crash when selecting the edit mode

Some GPUs complain about `error C7011: implicit cast from "int" to "uint"` even if the cast is explicit.

4 months agoFix T61636: Drivers don't update on viewport using curves
Sergey Sharybin [Mon, 18 Feb 2019 15:35:56 +0000 (16:35 +0100)]
Fix T61636: Drivers don't update on viewport using curves

4 months agoFix crash toggling edit mode of curve with animation
Sergey Sharybin [Mon, 18 Feb 2019 15:28:25 +0000 (16:28 +0100)]
Fix crash toggling edit mode of curve with animation

The issue was caused by original f-curves being re-allocated
without informing dependency graph about this.

Was reported in T61636#622757

4 months agoDepsgraph: Make node an owner of its name
Sergey Sharybin [Mon, 18 Feb 2019 15:24:51 +0000 (16:24 +0100)]
Depsgraph: Make node an owner of its name

The initial idea of using char pointer was to save some
memory since the dependency graph was kind of the one
with the main database.

Nowadays dependency graph should be separatable from the
main database and being self-sustainable.

Other issue which was caused by this pointer is the
re-tagging of operations during relations update: it is
possible to have node which as tagged for update but had
the owner of the name removed (i.e. driver or bone was
removed).

4 months agoCleanup: Remove unused field
Sergey Sharybin [Mon, 18 Feb 2019 15:01:31 +0000 (16:01 +0100)]
Cleanup: Remove unused field

4 months agoDRW: Fix Crash when enabling object wireframe option
Clément Foucault [Mon, 18 Feb 2019 15:02:19 +0000 (16:02 +0100)]
DRW: Fix Crash when enabling object wireframe option

4 months agoOverlay: Remove extra contour drawing in wireframe mode
Clément Foucault [Mon, 18 Feb 2019 14:52:00 +0000 (15:52 +0100)]
Overlay: Remove extra contour drawing in wireframe mode

This removes the overhead of rendering the object one more time.

4 months agoFix T61660: Wrong user counter on curves with shared material.
Bastien Montagne [Mon, 18 Feb 2019 14:24:23 +0000 (15:24 +0100)]
Fix T61660: Wrong user counter on curves with shared material.

Patch by @sergey.

Note that this is really a bad thing actually, ideally we should never
get that situation (IDs in Main referencing temp IDs outside of it).
That can lead to many possible similar cases...

Fixing that is not trivial though, so for now we'll have to live with
it, until we have migrated *all* of our temp datablocks generation
outside of Main's.

4 months agoID management: forbid refcount of used IDs when user ID is outside of Main.
Bastien Montagne [Mon, 18 Feb 2019 14:17:06 +0000 (15:17 +0100)]
ID management: forbid refcount of used IDs when user ID is outside of Main.

This is related to T61660, but actually does not fix that specific issue
(which is even worse - outside-of-Main ID using inside-of-Main IDs... yuck).

4 months agoFix T61666: missing NULL_UNIT that stops iteration over units
Jacques Lucke [Mon, 18 Feb 2019 13:20:55 +0000 (14:20 +0100)]
Fix T61666: missing NULL_UNIT that stops iteration over units

4 months agoCycles: Keep all hair strands
Sergey Sharybin [Mon, 18 Feb 2019 13:17:16 +0000 (14:17 +0100)]
Cycles: Keep all hair strands

Previously, hair strands of zero length of too few control
points would have been ignored. This is fine for a render
without motion blur. But once motion blur is enabled it is
becoming more tricky to match topology.

Even more, it was causing access (and possibly writes) past
the array boundaries in case when time step 0 ignored some
strands and steps around it did not.

If this is becoming problematic for BVH to do reliable
intersections this is to be solved on the BVH builder side.
The export from Blender to Cycles shouldn't really make
decisions there.

4 months agoJpeg: Fix write past array boundary
Sergey Sharybin [Mon, 18 Feb 2019 13:15:06 +0000 (14:15 +0100)]
Jpeg: Fix write past array boundary

Was happening when image buffer had cryptomatte pass, which can easily
exceed 530 bytes used by the buffer.

Now default buffer is bumped to 1K, and also allowed to be heap-allocated
when really need bigger buffer.

Possible optimization is to allocate buffer once, but in practice those
re-allocations will not happen often, so keeping code simpler is not an
issue. Just something for a rainy day.

4 months agoFix broken Cycles test build after recent commit.
Bastien Montagne [Mon, 18 Feb 2019 14:00:17 +0000 (15:00 +0100)]
Fix broken Cycles test build after recent commit.

Broken by rB4ce9785e0158, please do full complete build before
committing!

4 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.

4 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.

4 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).

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

4 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.

4 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

4 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

4 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.

4 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.

4 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

4 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).

4 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

4 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.

4 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

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

4 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

4 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

4 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.

4 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.

4 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.

4 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.

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

4 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".

4 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.

4 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.

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

4 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

4 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

4 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

4 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.

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

4 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

4 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.

4 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.

4 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

4 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.

4 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.

4 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.

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

4 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.

4 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_*

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

4 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.

4 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.

4 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

4 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.

4 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.

4 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.

4 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

4 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

4 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".

4 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.

4 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)