Commit Graph

93500 Commits

Author SHA1 Message Date
Bastien Montagne
ad9b919962 Cleanup: protect parameters of FOREACH_MAIN_ID & co macros. 2020-02-18 14:38:33 +01:00
Bastien Montagne
ce33388413 Fix (unreported) wrong handling of usercount in BKE_workspace_add().
This does not seem to be an actual issue in current master code (as
creating a new ID will assign 1 user to it by default), but is breaking
generic usercount handling in future changes.
2020-02-18 14:38:33 +01:00
Jeroen Bakker
e3e6dc41a7 Code cleanup EEVEE Render Passes
The render passes didn't follow the DrawManager way of doing things. It added new geometry and shading groups during drawing. This would make it harder to migrate to Vulkan later on.

This change will re-implement this part by using uniform references.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D6875
2020-02-18 12:23:04 +01:00
Campbell Barton
f7386b9757 Fix T62612: Saving with "Remap Relative" makes ALL paths relative 2020-02-18 22:12:34 +11:00
Bastien Montagne
d4e38d99b2 libquery: add optional handling of 'UI' ID pointers.
Handling those through different ways /might/ be needed sometimes, but
in most case this is just a nest of issues, since you can easily forget
to take them into account.

Note that this should be a 'non-functional' change, as this new behavior
is not used anywhere yet.
2020-02-18 11:22:32 +01:00
Antonio Vazquez
abfdd1c697 Fix T73960: GPencil can't convert while it is a separate from old strokes
The problem was the new object hadn't any layer active.
2020-02-18 11:11:32 +01:00
Campbell Barton
5343d0f494 Fix making paths relative on windows
Comparing the drive letter was case sensitive,
causing 'BLI_path_rel' to fail in common cases
(manually entering a lower case drive letter for example).

Surprisingly this issue dates back to 2005 and wasn't reported.
2020-02-18 20:56:23 +11:00
Bastien Montagne
8a2228a597 Remove debug prints from blendfile_liblink.
rBf35f7bd97a4151 was the proper fix it seems.
2020-02-18 10:28:33 +01:00
Brecht Van Lommel
79f99becaf Fix T73954: Cycles viewport render from camera not respecting aspect ratio 2020-02-18 10:10:48 +01:00
Bastien Montagne
f35f7bd97a Fix missing output dir for blendfile_liblink test. 2020-02-18 09:53:08 +01:00
Campbell Barton
c83099e987 Cleanup: use doxy sections for BLI_bpath API 2020-02-18 18:21:08 +11:00
Ray Molenkamp
d0c159ae97 build_deps: include venv on windows 2020-02-17 18:41:24 -07:00
Brecht Van Lommel
ca72ff599a Fix Cycles Embree crash with AO shader local only option
Ref T73778
2020-02-18 00:45:30 +01:00
Brecht Van Lommel
1761d65b25 Fix Cycles Embree test failures with shadow catcher
Ref T73778
2020-02-18 00:45:30 +01:00
Brecht Van Lommel
a450bf330c Cleanup: compiler warnings 2020-02-18 00:45:30 +01:00
Campbell Barton
52a475287d Fix T70898: Area.type access fails for topbar & statusbar
Revert change from 5f6c45498c

Excluding enum items meant Python scripts couldn't access them.

This is no longer needed now Area.ui_type is used for the menu.
2020-02-18 10:34:45 +11:00
Stefan Werner
f5740ec8cf Cycles: Enabled quaternion motion blur with Embree.
Bringing Embree's motion blur closer to Cycles' native blur.
This requries Embree 3.8.0 or newer.

Differential Revision: https://developer.blender.org/D6575
2020-02-17 23:44:12 +01:00
William Reynish
435476cb87 IC keymap: Use B for Sequencer Blade tool, Ctrl/Cmd-B for Split operator
Also add Q for select tool, as in other editors
2020-02-17 22:50:46 +01:00
Clément Foucault
cc296ef179 DRW: Fix wrong view transform used in solid mode if using workbench engine 2020-02-17 22:49:17 +01:00
William Reynish
d38dfbd13d IC keymap: Fix warnings after recent Cut -> Split name change 2020-02-17 22:42:58 +01:00
Clément Foucault
b117b8e818 Fix T73793 Walk navigation crosshair gets hidden behind objects
This is a bug that the recent refactor exposed. Some widgets were drawing
with alpha set to 0.
2020-02-17 22:39:33 +01:00
Clément Foucault
9491e7d7c2 Fix T73914 Overlay: Unable to select bone in pose mode
It was caused by the bone selection overlay that was delaying the
xray pass. But OVERLAY_pose_draw were never called when doing selection.
2020-02-17 22:20:14 +01:00
Bastien Montagne
a5ac142a31 Temp debug prints for liblink tests to check what happens on windows. 2020-02-17 21:41:15 +01:00
Aaron Carlisle
ff1d307e25 Fix: Alphabeticalize Object Modifiers
Reported by Dalai on the live stream
2020-02-17 15:04:01 -05:00
Clément Foucault
00227edf4c Fix T73748 Overlay: Infront disappearing/glitched while in Xray mode 2020-02-17 20:54:06 +01:00
Clément Foucault
a661ef42fb Overlays: Fixed blending issue when not using smooth wire 2020-02-17 19:37:48 +01:00
Clément Foucault
f78c407aff Fix T73876 Overlay: Armature: Pose bones display randomly
Caused by unitialized value.
2020-02-17 19:37:48 +01:00
Ray Molenkamp
5f3b898638 MSVC: Fix obscure RNA related build error
When you switch between debug/release mode a lot, you could end up
in a situation where the generated RNA code was out of sync between
the two configurations.

There was one function optionally defined with an `#ifndef NDEBUG`
guard, this patch adds a stub implementation for the other configurations
to prevent build errors.

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

Reviewers: brecht
2020-02-17 11:04:55 -07:00
Sergey Sharybin
37cdfac6b9 Codesign: Harden check for archive being ready for sign
Seems like sometimes files are being only partially ready, which makes it so there
are unsigned files, failing to deliver fully signed bundle.

Now expected archive file size is stored into stamp file and is checked against
size of the archive file on another side.

There are some bare prints used for debugging, would need to switch it to a proper
logger (or to be removed).
2020-02-17 18:52:38 +01:00
Brecht Van Lommel
42ff69db25 Embree: avoid potential clashing symbols with external renderer add-ons 2020-02-17 18:44:54 +01:00
Ray Molenkamp
8d60e6fa38 Fix: T73830 OSL not finding stdosl.h on linux
This extends FindOpenShadingLanguage.cmake to also look for the location of
stdosl.h and adds the path to the invocation of oslc to deal with the headers
being in different locations a little better.

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

Reviewers: brecht
2020-02-17 10:28:12 -07:00
Germano Cavalcante
a33b261473 Fix T71455, T73852, T73860: Transform, Redo doesn't work properly in time editors
The redo panel does not consider the position of the mouse.
So it is not possible to know the direction to redo the operator.

The solution is to add a new `direction` parameter that can be
saved and used for redo.

Differential Revision: https://developer.blender.org/D6852
2020-02-17 13:33:29 -03:00
Germano Cavalcante
847bb4c4e0 Fix T73853: Redo does't work properly with NLA "Move" transform mode
The orientation matrix when re-doing some transform operations was negated.
Thanks @lichtwerk for pointing out the problem.
2020-02-17 13:03:58 -03:00
Richard Antalik
4353bc9190 VSE: Fix missed renaming of cut operator
Fix errors introduced by commit rB819af2094b21.

Reviewed By: ISS

Differential Revision: https://developer.blender.org/D6870y
2020-02-17 16:46:59 +01:00
Richard Antalik
1fcca29b47 VSE: Remove atomized image duplication for preprocessing stage
Each image that goes through preprocessing is already duplicated in `input_preprocess()`

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6790
2020-02-17 16:46:59 +01:00
Richard Antalik
18b693bdbd Fix T70229: Show Cache On will cause a lower fps
Use gpu batch drawing for cache content in VSE.
Immediate drawing caused significant dorp in framerate.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6835
2020-02-17 16:46:59 +01:00
Charlie Jolly
20a4cdfd70 Cycles: Vector Rotate Node using Axis and Angle method
This node provides the ability to rotate a vector around a `center` point using either `Axis Angle` , `Single Axis` or `Euler` methods.

Reviewed By: #cycles, brecht

Differential Revision: https://developer.blender.org/D3789
2020-02-17 15:43:18 +00:00
Patrick Mours
ab3a6e050c Fix artifacts with Cycles viewport denoising when rendering with multiple CUDA devices
Rendering with multiple CUDA devices but denoising with OptiX caused parts of the image to go
missing at the start while the resolution was scaled. This is because the copy operation in
`MultiDevice::map_neighbor_tiles` which slices the copy across all devices would slice based on the
full resolution and not the scaled one and therefore copy incorrect data between devices.
Since this is not the recommended way of using viewport denoising anyway, simply avoid those
incorrect copies for now by disabling denoising while the resolution is scaled. Doing both rendering
and denoising with OptiX is not affected by this, since it avoids those copies altogether anyway.
2020-02-17 16:15:56 +01:00
Bastien Montagne
3a53ae8d4b Fix T73817: Shape key users not properly mapped when duplicating their obdata.
Once again those crappy weirdos IDs with their crappy weirdos 'loopback'
pointers...

This is a quick hack for now, think id_copy needs to be reworked a bit
to supported re-entrant sub-ID copying (also an issue with nodes I bet).
2020-02-17 15:49:39 +01:00
Clément Foucault
852cdd476b ColorManagement: Dithering Improvement
- Unlock property range.
- Use triangular noise to keep perceptual noise error more uniform.
  Remap range to preserve perceptual intensity.
- Center noise distribution around 0 for GPU implementation because of
  rounding.
- Do dithering after merging overlays.

Effect of using triangular noise is not really noticeable if you don't use
really low bitdepth. But doing a test in the shader were we artificially
reduce the bitdepth (`col = (col * 16) / 16;`) reveals the real difference.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6850
2020-02-17 15:47:17 +01:00
OmarSquircleArt
5231d06d4c Cleanup: Remove period from RNA description. 2020-02-17 16:37:59 +02:00
Jacques Lucke
dcb905a58f Cleanup: add extern "C" to UI_interface.h 2020-02-17 15:07:03 +01:00
Jeroen Bakker
e64166652b Fix T68749: BPY: Deprecate height of popup
`invoke_props_dialog` and `invoke_popup` had a width and a height field. The height field was ignored as the height is determined based on the content. This change removes the field from the BPY + WM_api

Reviewed By: Campbell Barton, Jacques Lucke

Differential Revision: https://developer.blender.org/D6694
2020-02-17 15:03:11 +01:00
Jeroen Bakker
e2e2a98573 Fix T73518: Normal Overlay
This change will not render the normals for faces that are hidden.
Before we had instance drawing the hidden faces were registered in the
index buffer. During the overlay refactoring the rendering was migrated
to instance rendering. Instance rendering does not use the index buffer
so the data was ignored.

This patch stored the normal visibility in the .w part of the normal or
for face normals it will set the normal to zero. The shader looks at
this and renders the normals fully transparent when detected.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D6798
2020-02-17 14:59:30 +01:00
Dalai Felinto
d5d235c44f UI: Create quads > Create Quads 2020-02-17 14:44:22 +01:00
Patrick Mours
2278aa0da9 Cycles: Add support for adaptive kernel compilation to OptiX device
This modifies the common CUDA implementation for adaptive kernel compilation slightly to support both CUBIN and PTX output (the latter which is then used in the OptiX device). It also fixes adaptive kernel compilation on Windows.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6851
2020-02-17 14:27:44 +01:00
Brecht Van Lommel
12b6ddaf95 Fix OpenCL issue after recent code cleanup
Thanks Patrick Mours for finding it.
2020-02-17 14:09:46 +01:00
Brecht Van Lommel
5b22713c22 Cleanup: compiler warning 2020-02-17 13:24:07 +01:00
Bartosz Moniewski
67d12bb519 Shading: add direction modes and phase offset to wave texture node
* Direction mode X, Y and Z to align with axes rather than diagonal or
  spherical as previously. X is the new default, existing files will
  use diagonal or spherical for compatibility.
* Phase offset to offset the wave along its direction, for purposes like
  animation and distortion.

https://developer.blender.org/D6382
2020-02-17 13:24:07 +01:00
OmarSquircleArt
ae9bbb4d03 Python: Expose WM is_interface_locked to python.
This patch exposes the Window Manager `is_interface_locked` as a read
only property to python.

This property is needed to allow script writers to detect if a job is
running with locked interface like the Alembic exporter.

Reviewed By: Brecht

Differential Revision: https://developer.blender.org/D6749
2020-02-17 14:06:57 +02:00