Commit Graph

117326 Commits

Author SHA1 Message Date
Patrick Mours 515a15f200 Fix syntax error introduced in previous commit 2022-08-12 16:13:09 +02:00
Patrick Mours e7908c0790 Merge branch 'blender-v3.3-release' 2022-08-12 16:04:42 +02:00
Patrick Mours 79787bf8e1 Cycles: Improve denoiser update performance when rendering with multiple GPUs
This patch causes the render buffers to be copied to the denoiser
device only once before denoising and output/display is then fed
from that single buffer on the denoiser device. That way usually all
but one copy (from all the render devices to the denoiser device)
can be eliminated, provided that the denoiser device is also the
display device (in which case interop is used to update the display).
As such this patch also adds some logic that tries to ensure the
chosen denoiser device is the same as the display device.

Differential Revision: https://developer.blender.org/D15657
2022-08-12 16:00:54 +02:00
Bastien Montagne 8af5267495 Merge branch 'blender-v3.3-release'
Conflicts:
	source/blender/editors/space_outliner/tree/tree_element_overrides.cc
2022-08-12 15:22:12 +02:00
Bastien Montagne 27105af938 Cleanup: unused debug variable. 2022-08-12 15:20:43 +02:00
Bastien Montagne 110356d8ad Merge branch 'blender-v3.3-release' 2022-08-12 15:18:37 +02:00
Bastien Montagne 47af1ce8ac Cleanup: leftover debug prints. 2022-08-12 15:18:10 +02:00
Bastien Montagne 4e5f9bbd34 Merge branch 'blender-v3.3-release'
Conflicts:
	source/blender/editors/space_outliner/outliner_tools.cc
2022-08-12 15:17:12 +02:00
Bastien Montagne c73cc15e07 LibOverride: Rework Outliner contextual menu.
Follow-up to design discussions here at the studio, add liboverride
operations into their own sub-menu, with three main entries:
- Create: Create, or enable for user editing, override hierarchies.
- Reset: Keep overrides data, but reset all local changes to the
  reference linked data values.
- Clear: like reset, but also turn editable overrides back to system
  overrides (aka non user editable).

Those three options can all operate either on the selected items, their
content only, or both.

Advanced operations are moved into a "Troubleshoot Hierarchy" sub-menu,
where one can resync, resync enforced, and fully delete library
overrides. Those operations always affect a whole override hierarchy,
regardless of which items are selected or not.
2022-08-12 15:11:59 +02:00
Campbell Barton 886768a699 CMake: correct linking order regression
Library sorting from [0] caused WITH_GPU_BUILDTIME_SHADER_BUILDER
to fail. It's possible there are missing dependencies that caused
the change in order to break, for now revert that change.

[0]: 19b5524d1c
2022-08-12 22:13:50 +10:00
Campbell Barton 223d623891 Cleanup: remove use_normals arugment to MOD_deform_mesh_eval_get
Accessing the normals creates them on demand so there was no need
to pass an argument requesting them.
2022-08-12 22:10:02 +10:00
Campbell Barton afc71a0512 Merge branch 'blender-v3.3-release' 2022-08-12 21:51:18 +10:00
Campbell Barton f4aec3719f Merge branch 'blender-v3.3-release' 2022-08-12 21:51:16 +10:00
Campbell Barton 4dc9a8a21e Fix T100191: Crash with the wave modifier using normals in edit-mode 2022-08-12 21:49:06 +10:00
Brecht Van Lommel 4d2e2a6691 Fix T100350: missing brush falloff preview in sculpt mode 2022-08-12 13:46:34 +02:00
Bastien Montagne d42b61014b Merge branch 'blender-v3.3-release' 2022-08-12 12:42:35 +02:00
Bastien Montagne e0e4005582 Cleanup: Typos in comments. 2022-08-12 12:42:03 +02:00
Bastien Montagne 74645d969b Merge branch 'blender-v3.3-release'
Conflicts:
	source/blender/blenkernel/BKE_lib_override.h
2022-08-12 12:40:46 +02:00
Bastien Montagne afd2e9ebc3 Fix (unreported) infinite tie building Outliner liboverride hierarchy tree.
In complex scenes featuring thousands of connections between IDs in
their liboverride hierarchies (e.g. Heist files), the time required to
check if tree items were available (before allocated a new one) would
become insanely long (O(n^2)).

This commit brings it back to roughly a constant time, only re-checking
the whole array for unused items once in a while (once every 10k times
currently), since in almost all cases is the index after `lastused`
value is not unused, and you have reached the end of the currently used
array of items, you actually need to 'allocate' a new one anyway.

It also improves the handling of `lastused` index, in particular in
`tse_group_add_element`.

This makes switching to the Outliner override hierarchy view in Heist
scenes from virtually infinite time (more than 30mins for sure) to about
20 seconds on my machine. Still far from being effectively usable.

Note that this is only a bandaid fix anyway, root of the issue is that
this view has to deal with way too many items in its tree, current code
is not designed for that. Either outliner has to improve its tree
handling (by only building subsets of the whole tree maybe?), or we have
to cull/filter out some of the ID relationships between overridden IDs
to make this view actually usable. Maybe limit the depth of the tree?
2022-08-12 12:37:10 +02:00
Bastien Montagne 7f44dc79a6 Fix (unreported) crashes in Outliner override hierarchy view.
Fix wrong assumption that 'embedded' IDs are only ever used by their
owners. This is especially not true with shape keys.

Also small optimization by adding an eraly abort when both IDs are the
same (i.e. an ID has a pointer to itself).
2022-08-12 12:37:10 +02:00
Bastien Montagne 12b3616895 IDType `get_owner`: add an optional hint about owner ID.
In some cases, there is a chance code already knows who might be the
owner of the given ID, in which case it can be more efficient to check
it first (especially in cases like embedded node trees or scene
collections, where the only other way is to loop over all possible
owners currently).

Will be used in next commit in some Outliner fix.
2022-08-12 12:37:10 +02:00
YimingWu 498e26fa0f Fix T100138: Use `double` for LineArt intersection record.
The use of `float` for intermediate intersection record led to some
inaccuracy which caused flickering in intersection lines. Now fixed.
2022-08-12 15:40:58 +08:00
Campbell Barton 7f733e294d Merge branch 'blender-v3.3-release' 2022-08-12 14:43:53 +10:00
Campbell Barton 95cc5c6081 Fix T96885: Drag Fallback on Tweak is using Move instead
Since [0] (fix for T95591), the tweak tools fallback action used tweak
instead of press.

This was enabled so tools such as "Measure" & "Add Cube" could use
fallback tools (otherwise is wasn't possible to add a new ruler without
also selecting for e.g.), however this is of limited use since both
tools support dragging anywhere to activate, making them less useful
with other selection tools beside tweak (box/lasso for e.g.).

Resolve by disabling the fallback option for tools where using the
tweak tool to select is undesirable. Selection by clicking with
"Measure" & "Add Cube" is still supported as this is also set in the
3D view's key-map.

[0]: 0e51defcf4
2022-08-12 14:24:31 +10:00
Campbell Barton b751275af2 Cleanup: repeated words in strings 2022-08-12 12:46:31 +10:00
Campbell Barton 996cb4008d Cleanup: repeated words in comments 2022-08-12 12:38:54 +10:00
Campbell Barton 266a125b11 Cleanup: use sizeof() for better readability 2022-08-12 12:21:47 +10:00
Campbell Barton f145366ae0 Cleanup: add missing braces, quite warnings by casting 2022-08-12 12:13:45 +10:00
Campbell Barton a6d2fcef9f Cleanup: group translation imports 2022-08-12 12:07:52 +10:00
Campbell Barton a1926c04b4 Cleanup: remove unnecessary ifdef 2022-08-12 11:25:10 +10:00
Campbell Barton 269e037ff4 Cleanup: replace misleading use of 'true' for the bit-field size
Also use a bit-field for SnapObjectParams.keep_on_same_target
2022-08-12 11:20:56 +10:00
Campbell Barton c321572456 Cleanup: screw modifier comments & naming
Rename dist to dist_sq as it's the squared distance,
also prefer __func__ in temporary allocated arrays.
2022-08-12 11:18:00 +10:00
Campbell Barton 408687c75f Cleanup: use 'filepath' for fill paths 2022-08-12 11:14:31 +10:00
Campbell Barton fe63124c3e Cleanup: add missing braces in GHOST 2022-08-12 11:13:07 +10:00
Campbell Barton 7347252f0f Cleanup: remove unnecessary icon assignment 2022-08-12 11:05:45 +10:00
Campbell Barton d99ec7ff9e Cleanup: clang-tidy GHOST Context/Event/TimerManager 2022-08-12 11:04:21 +10:00
Campbell Barton 75c5b21a1c Cleanup: update comments in MANTA_main.cpp 2022-08-12 11:03:24 +10:00
Campbell Barton 42698b2dd9 Cleanup: use enum type for argument 2022-08-12 11:02:37 +10:00
Campbell Barton dfd2570d28 WM: define WM_OT_drop_blend_file path as a file-path, skip-save
File paths have special handling of non-utf8 characters, so it's
best to use the FILE_PATH sup-type for all file-paths.
2022-08-12 10:59:14 +10:00
Campbell Barton d4a082bc70 Cleanup: use short names for verts & polys as they're unambiguous
Follow conventions used in most existing code.
2022-08-12 10:56:27 +10:00
Campbell Barton 0c0c361123 Cleanup: replace magic number with flag 2022-08-12 10:48:15 +10:00
Campbell Barton 8649ac0ca8 Cleanup: early exit ui_but_extra_operator_icon_mouse_over_get
Early exit when the button has no extra icons, avoiding a redundant
transformation from mouse to button coordinates.
2022-08-12 10:41:39 +10:00
Campbell Barton a2247c271c Cleanup: typo in selection check
In practice this is harmless as in most cases checking selected
vertices is enough, however as the intention is to check all 3 elements
it's best to do so.
2022-08-12 10:37:28 +10:00
Campbell Barton 282a861e11 Fix incorrect custom-data layer access for hide layers
Error in [0], missed in review.

[0] 2480b55f21
2022-08-12 09:16:09 +10:00
Campbell Barton 62d1ed0120 Cleanup: replace term face with poly
Be consistent with naming to avoid mixing MPoly/MFace.
2022-08-12 08:57:38 +10:00
Hans Goudey 344919240c Fix: Broken mesh hide status RNA accessors
Mistake in 2480b55f21.
Also deduplicate some of the code to find the indices of mesh elements.
2022-08-11 17:56:08 -04:00
Harley Acheson d2b1e4712d BLF: Mutex Lock Glyph Cache Per Font, Not Global
Only lock access to our glyph caches per-font, rather than globally.
Also upgrade from spinlocks to mutexes.

See D15644 for more details.

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

Reviewed by Brecht Van Lommel
2022-08-11 12:52:07 -07:00
Hans Goudey 2fc7e15164 Fix: Use of uninitialized variable in recent commit
Mistake in 2480b55f21.
2022-08-11 14:40:42 -04:00
Brecht Van Lommel c9d821294f Cycles: take into account time limit for progress bar
This change allows the Cycles progress report system to take into conderation
the time limit property. This allows for more accuracte progress reports for
high sample count renders with short time limits.

Contributed by Alaska.

Differential Revision: https://developer.blender.org/D15599
2022-08-11 19:37:18 +02:00
Brecht Van Lommel ef5a44df2d Merge branch 'blender-v3.3-release' 2022-08-11 19:28:03 +02:00