Commit Graph

150077 Commits

Author SHA1 Message Date
Campbell Barton
c7a26cf5c2 Fix #124850: Add-on legacy replacement fails without remote repo data
When the user attempted to install a previously enabled add-on as an
extension after enabling online access and *without* viewing extensions,
installation would fail.

Resolve by adding a check that the remote repository data is available,
adding a button to refresh remote repositories if it's not.
2024-07-17 22:42:16 +10:00
Jeroen Bakker
1497e37728 Cleanup: Vulkan: Descriptor set allocations
During descriptor set update several internal buffers where reallocated
over and over. As descriptor set updates are done very often (1000s
times per frame) some performance could be gained by keeping the
previous allocated buffers around.

Pull Request: https://projects.blender.org/blender/blender/pulls/124877
2024-07-17 14:38:44 +02:00
Sergey Sharybin
a2f825fde5 Cleanup: Strict compiler warning in release mode
Fixes warning: unused variable 'no_resync_recurse_max' [-Wunused-const-variable]
2024-07-17 14:31:48 +02:00
Richard Antalik
6a39d79967 Fix #124767: VSE cache not updated for moved strips
The cache invalidation worked on basis of timeline frame instead of
frame index, which caused, that these images were outside of range, that
was considered to be changed, after strip was moved.

In this case the issue happened only with effect strips. This was not
an issue before, mainly because raw images for these strips were not
stored. For other strip types, raw image does not usually change.

This seems to be "caused" by f4f708a54f .

Pull Request: https://projects.blender.org/blender/blender/pulls/124870
2024-07-17 14:23:57 +02:00
Clément Foucault
dd3a48642e Fix: UI: Assert failure with displaying node editor
Caused by mixing UINT and INT in interface and VBO
descriptor.

Fix #124716

Pull Request: https://projects.blender.org/blender/blender/pulls/124880
2024-07-17 14:20:28 +02:00
Weizhen Huang
c7c55894e4 Fix: EEVEE principled coat has tint when the weight is zero
caused by 26eb5d9899

Pull Request: https://projects.blender.org/blender/blender/pulls/124856
2024-07-17 13:54:26 +02:00
Weizhen Huang
9a69d0cc9f Tests: Update Cycles image colorspace OSL tests
* enable OSL in `image_log_osl.blend`
* update `image_alpha_blend_osl.png`, which renders differently than
previous reference image, but did not fail the threshold

Pull Request: https://projects.blender.org/blender/blender/pulls/124871
2024-07-17 13:53:09 +02:00
Jeroen Bakker
823de4b3b8 Vulkan: Add support for colored particle hair
When using particle hair the optional generated color buffer was bound
as a texture (texel buffer), however in Vulkan texel buffers aren't
textures but buffers.

This change will create a texture, that will pass the needed calls to
the source vertex buffer. Only particle hair does uses
`GPU_texture_create_from_vertbuf`. I would expect that we will phase
this out eventually when particle hair is removed.

This fixes crashes with scenes using particle hair where materials use color
or uv attributes.
![image](/attachments/d5511eee-4db0-4241-bf00-472834c4ca7b)

Pull Request: https://projects.blender.org/blender/blender/pulls/124854
2024-07-17 13:32:06 +02:00
il4n
94d2d64ec7 Fix: Broken menus in VSE
The Select > All menu option was missing, and the logic for showing
the retiming menus was broken.

This was accidentally introduced in 2aa346a123

Pull Request: https://projects.blender.org/blender/blender/pulls/124785
2024-07-17 13:12:43 +02:00
Sebastian Parborg
aac0189e2c Fix #124868: Frame Selected didn't move of the X-axis sometimes
It would not execute the "Frame Selected" action if the viewport already
fully zoomed out on the y-axis. However we still need to center the
viewport around the selected strips x position.
2024-07-17 13:08:34 +02:00
Bastien Montagne
f87b5fdc67 Add FIXME comment about suspicious difference in readfile vs. link code. 2024-07-17 12:57:47 +02:00
Bastien Montagne
ac284c1694 Fix #124777: Segfault when opening .blend file with invalid shapekey.
Prevent doing layer collection resync during most of
`blo_read_file_internal` process. This is dangerous (since during
blendfile read there is no way to ensure that Main is in a fully valid
sate), and a useless costly process.
2024-07-17 12:57:47 +02:00
Bastien Montagne
8df93cd751 BKE: id_delete: Do not forbid layer collection resync in non-Main case.
There is no reason to deal with layer collections resync in non-main
case, deletion code should never trigger it anyway.

This will avoid quite a lot of the non-main-thread calls to
`BKE_layer_collection_resync_forbid` (detected and 'fixed' in previous
commit).
2024-07-17 12:57:47 +02:00
Bastien Montagne
9b8001f370 BKE Layers: make 'no_resync' flag re-entrant and thread-safe.
This commit allows re-entrant calls to
`BKE_layer_collection_resync_forbid` and
`BKE_layer_collection_resync_allow`, such that higher-level code can
block layer collections updates while calling lower-level code that does
the same thing.

E.g. `BKE_id_delete` blocks and then re-allows such updates. However,
such code can also be called from other pieces of code that also need
to prevent these updates in their own, broader scope.

In addition, realized that this call had concurrency issues since BKE
code using it is called from non-main thread too (e.g. from depsgraph
evaluation).

So made the counter atomic to ensure all calls to
`BKE_layer_collection_resync_forbid` is matched by a call to
`BKE_layer_collection_resync_allow`. Also added a cap to max amount of
're-entrant' calls (has to be quite high, due to potential concurrent
calls too).

This is required to fix #124777.
2024-07-17 12:57:47 +02:00
Bastien Montagne
6cf4294c68 Comment about known issue with some old blenfiles triggering a write assert.
File from #124777 (from 2.79.1) cause a temp bScreen to not be properly
tagged as such, which prevents its deletion when related window is
closed, and leaves a zero-user bScreen in Main.

While this should not happen, this does not seem trivial to track down,
and not an important enough issue to spend more time on it.

Also reported as #124857.
2024-07-17 12:57:43 +02:00
Sergey Sharybin
e8cfe0d96f Cycles: Add tests for versioning cast_shadow property
Ref #124817
Ref #124834
2024-07-17 12:03:26 +02:00
Alaska
7438bf8e0f Fix #124817: Incorrect Cycles "Cast Shadow" versioning
This commit fixes a issue where the Cycles "cast shadow" setting
versioning from Blender 4.1 to 4.2 wasn't working properly due to the
use of the wrong parameter name when grabbing the Blender 4.1 setting.

Pull Request: https://projects.blender.org/blender/blender/pulls/124834
2024-07-17 11:57:30 +02:00
Omar Emara
3ca6aa19c9 Fix #124788: Missing passes after drag and drop image
Multi-layer image passes are missing after dragging and dropping an EXR
into the compositor editor. To fix this, we tag the new nodes as needing
an update due to changed ID.

Pull Request: https://projects.blender.org/blender/blender/pulls/124855
2024-07-17 11:34:19 +02:00
Richard Antalik
555352faf9 Fix: Retiming keys are not visble
Caused by checking if retiming mode is active to prevent executing
unnecessary code paths.

Check if keys exist instead.

Pull Request: https://projects.blender.org/blender/blender/pulls/124840
2024-07-17 10:58:58 +02:00
Jacques Lucke
136148a668 Cleanup: remove used FileData flag
Pull Request: https://projects.blender.org/blender/blender/pulls/124784
2024-07-17 10:39:19 +02:00
Jacques Lucke
87bee7a431 Cleanup: use Map in read_library_linked_ids
This simplifies the code.

Pull Request: https://projects.blender.org/blender/blender/pulls/124789
2024-07-17 10:38:29 +02:00
Omar Emara
f0ec207e9c Fix #124298: Cryptomatte node makes UI very slow
The Cryptomatte node makes the UI very slow in Image mode. That's
because the node updates its available Cryptomatte layers on every
redraw, which is a blocking operation that is not very fast.

To fix this, we only update the layers when engine layers change for
the Scene mode, and when image settings change for Image mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/124738
2024-07-17 09:40:28 +02:00
Omar Emara
0e7f80b262 Refactor: Remove redundant Cryptomatte frame update
Cryptomatte layer initialization required the active scene to update the
image user frame, but the image user is already updated through other
mechanisms and is thus redundant to do at draw time, so we remove the
frame update call as well as the scene argument from the call chain. The
frame number of the image user is ignored at compositing time in any
case since it is set to the compositing scene frame.

This is needed for #124738.
2024-07-17 10:12:48 +03:00
Campbell Barton
8465ca92d2 Cleanup: quiet some pylint warnings for doc-generation
Also add punctuation.
2024-07-17 16:43:13 +10:00
nutti
b23567f86e Fix Context.active_bone type for API docs
Support multiple types for a single context memeber.

Ref !124406
2024-07-17 16:29:42 +10:00
Campbell Barton
f8f809da19 Cleanup: removed unused variables 2024-07-17 16:17:07 +10:00
Pratik Borhade
16f21e78e5 Fix #124770: File Browser: Crash when going in and out of folders
Caused by 525293a95d
Crash due to attempt of double freeing. Fix is to make first and
last nullptr of list after freeing the memory. This avoids execution of
`folderlist_free` (`if(folderlist_clear_next())` is false)

Pull Request: https://projects.blender.org/blender/blender/pulls/124781
2024-07-17 05:59:51 +02:00
Hans Goudey
58518347f2 Sculpt: Data oriented refactor for "Set Pivot Position" operator
Part of #118145.

Change the "Pivot to Unmasked" and "Pivot to Mask Border" operations
to avoid the vertex iteration macro. The former also uses a proper
weighted average now, so mostly-masked vertices have less influence.
The whole operation is multithreaded now so I expect it's a bit faster,
but I didn't explicitly test that.

Pull Request: https://projects.blender.org/blender/blender/pulls/124743
2024-07-17 04:40:08 +02:00
Hans Goudey
b8eb872583 Sculpt: Simplify gathering of position data
Reduce the number of lines necessary to get positions data local
to a PBVH node.
2024-07-16 17:27:22 -04:00
Hans Goudey
c190d0251b Cleanup: Sculpt: Use utility functions to gather and scatter masks 2024-07-16 17:27:22 -04:00
Sean Kim
76a1e19e79 Cleanup: Extract flood_fill to sculpt_flood_fill.cc
Pull Request: https://projects.blender.org/blender/blender/pulls/124819
2024-07-16 23:14:48 +02:00
Sean Kim
b336448de1 Refactor: Expose specialized nearest_vert_calc methods
Pull Request: https://projects.blender.org/blender/blender/pulls/124820
2024-07-16 23:13:24 +02:00
Sean Kim
2e487ec92e Fix #124484: Debug assert on undoing out of Sculpt Mode
While this is a rather fragile fix, the alternative also seems fragile.
We can instead check the operator name inside `push_begin_ex` to see if
the operator is transitioning into Sculpt Mode and initialize the
StepData.type to a custom "Mode Change" type instead of using "None"

Pull Request: https://projects.blender.org/blender/blender/pulls/124640
2024-07-16 21:27:11 +02:00
Sean Kim
dd86ad6f23 Refactor: Introduce SculptBoundaryPreview
This commit adds SculptBoundaryPreview to reduce the scope of variables
that the SculptSession has access to when displaying the preview for
using the Boundary brush. Further changes in this area will be made once
more of the relevant flood_fill and boundary code is refactored.

In particular, the main algorithm does not need the edge position data.

Pull Request: https://projects.blender.org/blender/blender/pulls/124759
2024-07-16 21:22:00 +02:00
Pratik Borhade
3875ceb280 Fix #124647: UV editing console error due to missing enum
IMAGE_AST_brush_paint poll should check context.space_data.mode
rather than context.space_data.ui_mode.

Pull Request: https://projects.blender.org/blender/blender/pulls/124762
2024-07-16 19:23:22 +02:00
Clément Foucault
2718f24b5c EEVEE: Fix regression with negative colors in closures 2024-07-16 19:08:08 +02:00
Jesse Yurkovich
138e914346 Fix #124745: Wrong stack offset for Voronoi lacunarity parameter
This would cause values plugged into the Smoothness socket to also be
used for Lacunarity.

Pull Request: https://projects.blender.org/blender/blender/pulls/124761
2024-07-16 18:58:25 +02:00
Hans Goudey
1aff9bd9bb Cleanup: Sculpt: Remove unused functions 2024-07-16 11:59:58 -04:00
Hans Goudey
5bd7560894 Sculpt: use new brush API for the rest of the layer brush
Part of #118145.
Replace the PBVH vertex iterator macro.
2024-07-16 11:59:58 -04:00
Hans Goudey
b7ce539305 Refactor: Sculpt: Use local array of displacement factors in layer brush 2024-07-16 11:59:58 -04:00
Hans Goudey
3983486ecc Cleanup: Sculpt: Use local array of masks in layer brush 2024-07-16 11:59:58 -04:00
Hans Goudey
154be4ceef Refactor: Sculpt: Pass attributes directly for layer brush persistent base
Part of #118145.
2024-07-16 11:59:58 -04:00
Hans Goudey
5077df7dbc Cleanup: Sculpt: Remove unnecessary layer brush absolute value operation
The factors are always positive already.
2024-07-16 11:59:57 -04:00
Hans Goudey
2375dfa06e Cleanup: Sculpt: Reduce variable scope 2024-07-16 11:59:57 -04:00
Hans Goudey
d3b2fd5a65 Refactor: Sculpt: Extract persistent base check from layer brush loop 2024-07-16 11:59:57 -04:00
Hans Goudey
17f3f7bbec Cleanup: Sculpt: Use new original position accessors in layer brush 2024-07-16 11:59:57 -04:00
Hans Goudey
dbefe94c04 Cleanup: Sculpt: Pass displacement factor explicitly in layer brush
Since this is such important data for the brush, it's clearer if it's an
argument rather than accessed from the stroke cache for every
vertex.
2024-07-16 11:59:57 -04:00
Hans Goudey
0161a19669 Refactor: Sculpt: Use new API for layer brush factors
Part of #118145.
2024-07-16 11:59:57 -04:00
Hans Goudey
0c6d7fc7d5 Refactor: Sculpt: Specialize layer brush implementation per PBVH type
Part of #118145.
The persistent base only works for base mesh sculpting, so for the other
data structure that code path is removed.
2024-07-16 11:59:57 -04:00
Hans Goudey
73784365f5 Cleanup: Sculpt: Layer brush argument naming, order, use references 2024-07-16 11:59:57 -04:00