Commit Graph

110229 Commits

Author SHA1 Message Date
Omar Emara
ce80c3ca23 Merge branch 'blender-v4.2-release' 2024-06-11 12:03:16 +03:00
Omar Emara
b2a58bbdb4 Fix #123007: VSE scene strip crash with GPU compositor
Blender crashes when rendering a scene strip that references a scene
with a GPU compositor active. This is because when rendering a scene
strip, a new render with a nullptr system GPU context is created for the
scene it references, which is then used for compositing.

Ideally, the strip scene would have its own context, but we can't ensure
its context because we are not in the main thread. The alternative is to
then identify scenes that will be rendered before hand and set their
renders before starting the job, which doesn't seem like a great
solution. So for now, we just use the DST context in those cases.

Pull Request: https://projects.blender.org/blender/blender/pulls/123057
2024-06-11 11:02:15 +02:00
Sybren A. Stüvel
8c74056921 Anim: RNA: set Binding.name_display as the 'name property'
In 99.9% of the cases, `Binding.name_display` should be used as the
binding's name. So better mark that as the 'name property' in RNA.
2024-06-11 10:41:39 +02:00
Clément Foucault
1882c2df94 EEVEE-Next: Add automatic convertion of Materials without Shadows
This add the cycles compatible way of disabling shadows
on materials using a node setup.

Pretty straight-forward and only done on EEVEE materials.
2024-06-11 10:33:55 +02:00
Clément Foucault
093997037f EEVEE-Next: Add forward compatibility for blend modes
This makes sure to set the legacy properties when setting
the render method and the use transparent flag.
EEVEE-legacy should be able to render these materials
without issues.
2024-06-11 10:33:55 +02:00
Jeroen Bakker
7a8e04fcb1 Fix #122551: Metal displays black screen on ATI/Intel GPUs
When using Metal backend on ATI/Intel GPUs the stencil buffer doesn't
contain the correct information, skipping diffuse and glossy PBR components.

Failing behavior was introduced by e97e06ea2c
This PR works around this by reverting the code when using ATI/Intel GPUs.
The root cause is somewhere the combination of stencil export support, clear
operations and subpass.

**TODO**

- [ ] Validate that this fixes the ATI issue as well

Pull Request: https://projects.blender.org/blender/blender/pulls/122993
2024-06-11 07:58:03 +02:00
Hans Goudey
c7a0441778 Fix: Mistakes in previous build error fix
- Fix typo in error message
- Add definition so the node actually works
2024-06-10 23:19:13 -04:00
Hans Goudey
a0cf59c186 Fix #122770: Crash with "High Quality Normals" and loose edges/verts
Caused by a simple mistake in 84c4ddbbb9.
2024-06-10 22:33:15 -04:00
Hans Goudey
7e75ef20ca Fix #122770: Crash with "High Quality Normals" and loose edges/verts
Caused by a simple mistake in 84c4ddbbb9.
2024-06-10 22:31:48 -04:00
Hans Goudey
3a31fcebcf Fix: Link error in lite build without STL IO 2024-06-10 22:25:46 -04:00
Julian Eisel
7b1de7e9ba UI: Draw loading label in File Browser when list is empty but loading
Show "Loading..." now when file list loading is unfinished, but no item is
visible yet.

Would show "No items" earlier which is misleading, because the file
loading job may simply not have started yet, or found no relevant files
yet.

Pull Request: https://projects.blender.org/blender/blender/pulls/123029
2024-06-11 00:54:33 +02:00
Harley Acheson
4f36fb1afe Merge branch 'blender-v4.2-release' 2024-06-10 14:39:36 -07:00
Damien Picard
739abf3031 Fix: UI: make statistics for Objects display 0 instead of (null)
Display "0" instead of "(null)" for object stats count when there are no objects.

Pull Request: https://projects.blender.org/blender/blender/pulls/123036
2024-06-10 23:38:35 +02:00
Sean Kim
b1763aa576 Cleanup: Add missing PBVH forward declaration
Pull Request: https://projects.blender.org/blender/blender/pulls/123039
2024-06-10 23:27:32 +02:00
Clément Foucault
8a3979b034 EEVEE-Next: Display warning for world volume manual versioning
This adds a hint to what is the correct procedure.
2024-06-10 22:34:26 +02:00
Clément Foucault
3db4367374 EEVEE-Next: Disable shadows in legacy files
Having the sun extracted is mandatory to keep
the same look and avoid too much light
leaking compared to EEVEE-Legacy. But adding
shadows might create performance overhead and
change the result in a very different way.
So we disable shadows in older file.
2024-06-10 22:34:26 +02:00
Clément Foucault
e6ca5f00d5 EEVEE-Next: Rename lightprobe volume single sided to backface cull
This also modifies the RNA access path for consistency.
This was a long standing change that was oversighted.
2024-06-10 22:34:26 +02:00
Clément Foucault
d5ac372715 Fix: EEVEE-Next: Lightprobe display size unit
The unit was still a distance but it was changed to a factor.
2024-06-10 22:34:26 +02:00
Iliya Katueshenock
35ccb08590 Fix: Geometry Nodes: handle sheared matrices in mixing more gracefully
This fix of the assertion related with using `Combine Matrix` and `Sample UV` nodes in some simple cases.

Pull Request: https://projects.blender.org/blender/blender/pulls/122958
2024-06-10 21:26:47 +02:00
Harley Acheson
1b6910c61c UI: Remove Tooltip Zoom - Never Resize
The UI Module has decided that popup tooltips should never be scaled
with local 2D region zooming. Instead they should only follow the
global resolution scale. This PR just removes tooltip aspect to do so.

Pull Request: https://projects.blender.org/blender/blender/pulls/122854
2024-06-10 20:58:10 +02:00
Devashish Lal
d1455c4138 Geometry Nodes: Add STL Import Node
This commit adds an initial STL import node, the first of the nodes from the
current Google Summer of Code Project [0]. The importer is refactored to
output a mesh pointer, and a node is added to wrap around the importer.
The node supports error messages from the importer. A new experimental
option is added to hide the nodes by default until they're ready to be exposed
generally.

0: https://devtalk.blender.org/t/gsoc-2024-geometry-nodes-file-import-nodes/34482)

Pull Request: https://projects.blender.org/blender/blender/pulls/122418
2024-06-10 20:47:37 +02:00
Hans Goudey
d573ee1e6c Sculpt: Use more specific update tags
BKE_pbvh_node_mark_update shouldn't be used at all except for one we
really want to update "everything" for some reason.
2024-06-10 13:49:17 -04:00
Hans Goudey
7af444da86 Cleanup: Fix typo in comment 2024-06-10 13:49:17 -04:00
Hans Goudey
108c94f736 Cleanup: Reduce indentation, use const variables 2024-06-10 13:49:17 -04:00
Julian Eisel
8c8dcf8aaf Cleanup: Add comment to render job flag
Wasn't exactly clear what this was doing before, and the logic using it
requires a bit of brain gymnastics to follow (with negations, nested
if's and continue's).
2024-06-10 19:09:50 +02:00
Brecht Van Lommel
27f467e028 Draw: Avoid hang when depsgraph update happens during draw
This should not happen and any failure here should be considered a bug.
But for end users better not to hang Blender, and to have a better
diagnostic for developers in bug reports.

Ref #82483

Pull Request: https://projects.blender.org/blender/blender/pulls/123023
2024-06-10 18:11:41 +02:00
Brecht Van Lommel
4f593b5710 Fix: Incorrect layout in vertex color shader node 2024-06-10 17:33:28 +02:00
Brecht Van Lommel
b67ffb9b76 Merge branch 'blender-v4.2-release' 2024-06-10 17:26:18 +02:00
Brecht Van Lommel
6cccbc8df9 Fix #82483: Random Cycles baking hangs with node editor open
CTX_data_ensure_evaluated_depsgraph should not be used in drawing code.
This triggered a depsgraph updated which in turn called
DRW_notify_view_update. This would bind the GPU context a second time
and hang due to recursive mutex calls.
2024-06-10 17:24:49 +02:00
Ray Molenkamp
d49dc4c104 Merge remote-tracking branch 'origin/blender-v4.2-release' 2024-06-10 09:18:06 -06:00
Ray Molenkamp
28f7a467fa cmake: windows: only install fftw's dlls when available
These are no longer used in 4.2 and need not to be installed.
2024-06-10 09:17:11 -06:00
Julian Eisel
1abb633698 Merge branch 'blender-v4.2-release' 2024-06-10 16:56:37 +02:00
Julian Eisel
83edd748a2 Fix #120466: Crash when opening file with inactive asset browser
Issue wasn't directly related to material assets or the shader editor.

Simpler steps to reproduce:
- Open Asset Browser
- Change Asset Browser to different editor type
- Open new file (Ctrl+N)

The asset browser would remain in storage as inactive editor, including
pointers to the asset system. When opening a new file, the asset system
would get freed before the asset browser, which would then access
dangling pointers as part of its own freeing process.

Part of the issue is that `SpaceType.exit()` doesn't get called in this
case, which would remove the asset system references before the asset
system is freed. Will address this in a follow up in main, but best to
not depend on the `exit()` callback too much. Easy to do here.
2024-06-10 16:54:03 +02:00
Sybren A. Stüvel
69e520627f Anim: reset idroot when adding a layer or binding to an Action
Legacy Actions can become a layered Action, simply by removing all the
legacy FCurves and adding a layer or binding. This means that
`Action::idroot` can be non-zero, while it should be zero for layered
Actions. This is now enforced in `Action::layer_add()` and
`Action::binding_add()`.

Pull Request: https://projects.blender.org/blender/blender/pulls/123004
2024-06-10 15:57:47 +02:00
Sybren A. Stüvel
3c01ff0824 Anim: Bump subversion to 1 for 'generated' keytype theme versioning
Bump the sub-version to get 3089ac97b1
applied properly to 4.3-alpha user prefs files as well.
2024-06-10 15:54:01 +02:00
Sybren A. Stüvel
e566dc3c3c Merge remote-tracking branch 'origin/blender-v4.2-release'
This is just a merge, a version bump is still necessary. Will do that in
a subsequent commit.
2024-06-10 15:51:28 +02:00
Miguel Pozo
4b3b4a9d8b Merge branch 'blender-v4.2-release' 2024-06-10 15:28:32 +02:00
Sybren A. Stüvel
3089ac97b1 Anim: add new keytype 'generated' styling to the Sequencer theme
Add the color for the new keytype 'generated' to the VSE theme settings
as well.

This includes the versioning code that loads the default from the scene.
Without this, the preference would be initialised to black.

Note that the 'Blender Light' theme does not have any colors for any of
the key types, so I also didn't add the 'generated' type there.

Pull Request: https://projects.blender.org/blender/blender/pulls/123005
2024-06-10 15:28:05 +02:00
Miguel Pozo
1ed2779abc Fix #122973: Subprocesses aren't closed if Blender crashes
Assigns all subprocesses to a job owned by the main Blender instance,
so they're closed when it ends.

Pull Request: https://projects.blender.org/blender/blender/pulls/123001
2024-06-10 15:27:14 +02:00
Hans Goudey
729bfe7800 Cleanup: Rename more paint variables
Avoid the one letter variable names and rename "tar" to "dst".
2024-06-10 09:04:35 -04:00
Sybren A. Stüvel
3f0114730d Anim: UI: Action selector now always lists layered Actions
The Action selector (in the Action editor) now lists all layered
Actions. Legacy Actions are limited to specific ID types (via their
`idroot` property), whereas layered Actions are not (it's their Bindings
that are limited in this way, not the Actions themselves).

Pull Request: https://projects.blender.org/blender/blender/pulls/123003
2024-06-10 15:02:18 +02:00
Hans Goudey
daefd4f838 Cleanup: Rename paint/brush variables
Avoid one/two letter variable names.
2024-06-10 08:50:05 -04:00
Bastien Montagne
11462dd5c3 Merge branch 'blender-v4.2-release' 2024-06-10 14:46:44 +02:00
Bastien Montagne
17332da834 Fix (unreported) path_resolve returns string instead of bytes for bytes idprops.
The following code in py console would return a python string object,
instead of the expected bytes one.

```python
value = b"Hello World"
key = "a"
C.object[key] = value
C.object[key]
>>> b"Hello World"
C.object.path_resolve('["%s"]' % key)
>>> "Hello World"
```

Now it will return a byte object as it should.

Found while investigating #122843 .
2024-06-10 14:27:04 +02:00
Campbell Barton
8749a9c917 Merge branch 'blender-v4.2-release' 2024-06-10 22:23:24 +10:00
Campbell Barton
554b3c5bd9 Extensions: support custom-directory for system repositories
While this is reasonably obscure, not supporting this caused the UI
to be confusing and there is no strong reason not to support this.
2024-06-10 22:22:07 +10:00
Lukas Tönne
ddd079b54f Fix #122756: Crash when node outputs an empty GVolumeGrid
`GVolumeGrid` and `VolumeGrid<T>` are basically pointer wrappers.
Assigning a nullptr is possible and allowed by code, but node socket
code doesn't currently check if a grid pointer is null before accessing
it.

Disallow null grid pointers in socket values. Asserts are added for this
purpose. The Points-to-SDF node checks the grid value before writing to
output.

Pull Request: https://projects.blender.org/blender/blender/pulls/122996
2024-06-10 13:55:15 +02:00
Campbell Barton
3bd5baa3fd Merge branch 'blender-v4.2-release' 2024-06-10 21:31:12 +10:00
Damien Picard
de139dd7e4 UI: Fix and improve a few messages
- "Show the result of running commands in the main interface...": add
  punctuation.
- "Re-Installed" -> "Reinstalled" seems more common.
- "increase_" and "decrease_subdivision" in the Grease Pencil
  modal...: use title case instead of snake case for label.
- "Use a automatic number..." -> "an", typo.
- "... points,{} splines": missing space.
- "End Frame is larger than Start Frame": wrong order in error message.
- "Approximate the object as sphere, which diameter is equal to
  thickness the defined...": grammar.
- "Show Seconds" -> "Use Timecode": this option is not necessarily about
  seconds. Suggested by Pablo Vasquez.
- Brightness and contrast node input descriptions: add missing spaces.
- "Gamma controls the relative intensity... full white.": remove
  trailing ".".

Pull Request: https://projects.blender.org/blender/blender/pulls/122972
2024-06-10 13:26:05 +02:00
Sergey Sharybin
6334fdc988 Merge branch 'blender-v4.2-release' 2024-06-10 11:46:48 +02:00