Commit Graph

137175 Commits

Author SHA1 Message Date
Boltzmachine
9b39950c52 Fix #120399: hidden socket in the Viewer is not shown when a new link to it is created
The hidden socket in the Viewer is not shown when a new link to it is created.
This is because the hidden property of the socket is not updated when a new
link to it is created.

Fixing it by simply manually update the property after a new link is created.

Pull Request: https://projects.blender.org/blender/blender/pulls/120503
2024-06-13 19:29:26 +02:00
Clément Foucault
b0eb156344 EEVEE-Next: Volume: Add artificial backface hit to close volumes
This could happen for non manifold meshes (like a water plane)
when using the accurate method.

If last hit in the volume ray is a frontface, we now consider
everything behind it in volume.
2024-06-13 16:38:49 +02:00
Hans Goudey
2d4c624a87 Fix #123171: Mesh edit mode lines index buffer crash with curve modifier
I didn't think the BMesh extraction mode could arrive at the case where
only loose edges are requested, but turns out it can because of the
mesh wrapper system where the evaluated mesh is actually a BMesh with
deformed positions.
2024-06-13 10:22:11 -04:00
Weizhen Huang
e639c3d6e2 Fix #74816: crash in Cycles light distribution due to integer overflow
`num_distribution` in `KernelIntegrator` has type `int`, which holds a
maximal value of 2147483647. However, when computing the distribution,
`size_t` is used, which can go beyond this value and result in a
negative value when converted to `int`.

This PR handles this case as an error, stops rendering and suggests
alternative solutions.

Also early return when `use_light_tree`. The block was there because
`num_distribution` was needed for light tree before bfd1836861.

Pull Request: https://projects.blender.org/blender/blender/pulls/123177
2024-06-13 15:57:11 +02:00
Miguel Pozo
f251452a4b Fix #123014: Hundreds of empty folders in the %temp% directory
Use BLI_temp_directory_path_get instead of
BKE_tempdir_base.
2024-06-13 15:53:40 +02:00
Bastien Montagne
ffc89446e7 Cleanup: Remove unused rna_ensure_property_realdata helper.
The last use-case was removed in previous commit.
2024-06-13 15:26:30 +02:00
Bastien Montagne
c6f0d8daa6 Fix 'Copy to selected' on dynamic RNA properties failing in some cases.
Related to #119999 and #122059.

In case the _source_ PropertyRNA was unset (i.e. its underlying
IDProperty storage did not exist), the copy operation would silently
fail.

In fact, the existing code handling IDProperties separately in
`RNA_property_copy` was pretty bad, since it would also bypass all the
RNA 'setting value' code (like custom setters, update handling).

Turns out, liboverride RNA apply code can already handle all of these
cases, so simply pass the raw 'unresolved' RNA property to it, and
remove all this special handling code from `RNA_property_copy`, solves
all the issues.
2024-06-13 15:26:30 +02:00
Sybren A. Stüvel
10c4d71fbe Fix #123107: Memory leak when deleting edit bones
The list of bone collections of an edit bone wasn't freed when deleting
that edit bone.

Thanks @lichtwerk for the fix!
2024-06-13 15:09:54 +02:00
Clément Foucault
f289da5bd5 Fix: EEVEE-Next: Mesh see-through in edit mode with orthographic
The stored depth buffer was not considering orthographic
viewport cameras that have negative Z depth values.

Fix #123146
2024-06-13 14:44:51 +02:00
Pratik Borhade
0100be91b6 Fix #123113: Set Default shadow pool size
Add default pool size value in `_DNA_DEFAULT_SceneEEVEE`

Pull Request: https://projects.blender.org/blender/blender/pulls/123114
2024-06-13 14:19:09 +02:00
Clément Foucault
6147a7703c EEVEE-Next: Enable world sun shadow in default scene
Was disabled by versionning of older scene.
2024-06-13 14:12:13 +02:00
Christoph Lendenfeld
9dcc63b76c Fix #122372: Keyingsets not keying custom properties of type EnumProperty
The issue was that when applying the keyingsets
`Whole Character` and `LocRotScale & Custom Properties` the
enum property of a rigify rig was not keyed.
The reason it was not keyed was just because
it was not specified in the compatible types in the keying set.
The fix is to just add `bpy.types.EnumProperty` to the list.

Pull Request: https://projects.blender.org/blender/blender/pulls/122377
2024-06-13 13:17:32 +02:00
Damien Picard
f87d4e4e40 I18n: Extract and disambiguate a few messages
Extract
- Cycles denoiser enum.
- Extensions user preferences UI.
- Node operator poll message from new node function.

Improve
- Split "(Enabled|Disabled) on startup, overriding the preference."
into two messages.

Disambiguate
- "Add" when describing the action of adding something should use the
  Operator context.
- "Dimensions", in noise textures.
- "Transform" as a noun, the matrix transform type of Geometry Nodes,
  as opposed to the verb to move things in space.
- "Parent" as a noun or verb (the parent of an object, to parent an
  object to another).

Some issues reported by Satoshi Yamasaki, deathblood, and Gabriel Gazzán.

Pull Request: https://projects.blender.org/blender/blender/pulls/122969
2024-06-13 12:15:55 +02:00
Dalai Felinto
77a69d04f2 Extensions: Changes to the translatable tags table
* Drop the repository - let's combine tags in a single list (per type)
  to avoid duplications in the future.

* Give a more sensitive name for tthe property, to avoid tags.tags.
2024-06-13 10:17:10 +02:00
Omar Emara
95eb3e13bf Fix #119211: Masks do not update in GPU compositor
Masks are not updated when edited when using the GPU compositor. That's
because the GPU compositor caches static resources and invalidates them
according to the recalculate flags that the depsgraph flushes to IDs.
The issue is that the flags are not flushed to the evaluated IDs of the
compositor depsgraph, but rather to some other evaluated versions of the
IDs.

To fix this, we make the compositor depsgraph persistent and store it in
the scene runtime. This allows us to reliably track changes to resources
used by the compositor and also reduces the overhead of depsgraph
creation in the compositor job.

Patch originally provided by Sergey.

Fixes #121188.

Pull Request: https://projects.blender.org/blender/blender/pulls/123085
2024-06-13 07:43:11 +02:00
Ray Molenkamp
0ab1291716 Windows: 4.2 library updates 2024-06-12 13:55:15 -06:00
Brecht Van Lommel
1d45bb705e Fix: EEVEE assert rendering transparent pass 2024-06-12 19:30:52 +02:00
Brecht Van Lommel
87dae7d800 Build: Clean up oneAPI cmake messages
* Always define root directories in LIBDIR even when not needed,
  to silence some warnings.
* Only show warnings about not finding libs when oneAPI is enabled.
* Prefix message for context.
2024-06-12 19:21:43 +02:00
Brecht Van Lommel
c3dcad64c7 Fix #122989: Enabling installed legacy add-on fails without scripts folder
Needs to happen after refreshing the paths.
2024-06-12 18:36:55 +02:00
Brecht Van Lommel
3a7a9c60df Cleanup: Compiler warning building without OIDN 2024-06-12 18:29:49 +02:00
Brecht Van Lommel
397b96ed2e Fix #121819: OpenColorIO GLSL error after recent change, only apply to Metal 2024-06-12 18:29:49 +02:00
Brecht Van Lommel
f969208405 Fix #121819: OpenColorIO Metal GLSL error with grading curve 2024-06-12 18:10:46 +02:00
Sergey Sharybin
e67c95c8c4 Fix: Cycles renders black on AMD Metal
A mistake in the #122015 which lead to discrepancy between
CPU and GPU states: TargetConditionals.h always defines the
target CPU, and defines it to either 1 or 0.

The proper way of checking it is to `#if TARGET_CPU_ARM64`.

Some examples can be seen there:

  https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary

Pull Request: https://projects.blender.org/blender/blender/pulls/123140
2024-06-12 18:06:06 +02:00
Miguel Pozo
a27fa7e46c FIx #122085: Optimize iter_shader_to_rgba_depth_count 2024-06-12 17:07:46 +02:00
Zopolis4
0a74065a19 Build: Disable WITH_MOD_OCEANSIM when WITH_FFTW3 is disabled
Bring behavior in line with other options.

Pull Request: https://projects.blender.org/blender/blender/pulls/122865
2024-06-12 16:36:50 +02:00
Miguel Pozo
6a9feebf07 EEVEE: Ensure materials use all available sampler slots
This provides 2 extra sampler slots to users for materials in the cases
of meshes, and 1 extra slot for curves and point clouds.

Pull Request: https://projects.blender.org/blender/blender/pulls/123100
2024-06-12 15:43:46 +02:00
Michael Kowalski
724a674bae USD export: fix malformed joint paths
Fixing a bug which was causing forward-slash separators in
skeleton joint paths to be replaced with underscores, resulting in
invalid skeletons.

This was inadevertantly introduced in 9ad2c7df0b.  I should
have caught this when I reviewed #122471.

Pull Request: https://projects.blender.org/blender/blender/pulls/123031
2024-06-12 15:22:37 +02:00
Weizhen Huang
27041ecaf8 Fix #122877: crash in EEVEE due to negative size of IndexRange
since `min_level` is clamped to 0, `max_level` should be clamped too

Pull Request: https://projects.blender.org/blender/blender/pulls/123131
2024-06-12 15:21:20 +02:00
Sergey Sharybin
7f1a671b2a Fix compilation error of the Lite configuration
This is kind of wrong fix from the perspective of properly maintaining dependencies
of static libraries, but having cyclic dependencies and whole-archive for the test suit
makes it very hard to do things properly.

Pull Request: https://projects.blender.org/blender/blender/pulls/123123
2024-06-12 15:10:00 +02:00
Campbell Barton
c6680ce7ca Extensions: include the version by default when building packages
Use the `{manifest_id}-{version}.zip` for the generated file
unless an explicit name is given.

Exclude all *.zip files located in the package root.
2024-06-12 22:38:32 +10:00
Campbell Barton
bda9a44785 Extensions: use "v1" version for the generated repository meta-data 2024-06-12 22:38:32 +10:00
Bastien Montagne
c7bc6ba1f6 Fix #122421: Setting 'render border' is usually not undoable.
Render border is stored either in the current View3D data (UI data, not
undoable), or in Scene's render data when in camera view (only undoable
case).

This commit removes the `UNDO` flag of the related operators, and
instead manually pushes an undo step when executed in camera view.

Pull Request: https://projects.blender.org/blender/blender/pulls/122767
2024-06-12 14:20:13 +02:00
Aras Pranckevicius
b7cd88d502 Fix: VSE strip thumbnails sometimes go 1px outside of boundary
The VSE timeline strip thumbnail code seems to have at least two issues:

Sometimes the thumbnail would go 1px outside of the right side of the strip
itself. This seems to be caused by floating point inaccuracy where current
thumbnail position is tracked in "fractional timeline frames" instead of some
integers like pixels. The last, often clipped, thumbnail would thus spill over
outside of the strip. Fixed this by making sure the last pixel column of the
strip is not included into thumbnail drawing (pointless to draw there since it
is always covered by strip border).

Another problem was that the first thumbnail of the strip was often incorrectly
clipped and the last pixel from it was removed, and so it was leaving a pixel
gap between first and other thumbnails. This was under "Set the clipping bound
to show the left handle moving" comment, where due to inclusive range check it
was always causing the "clipped" part to be set to true for the first thumb.

Also while trying to untangle all of this, moved variables closer to their
usage. Some of them were only used inside the thumb loop but were declared in
whole function (probably coming from when it was C code).

Pull Request: https://projects.blender.org/blender/blender/pulls/123119
2024-06-12 12:42:59 +02:00
Sergey Sharybin
2cdd9c1b2c Fix: Syntax error after recent extensions change
Caused by 4d8eea1402.
2024-06-12 12:08:59 +02:00
David Murmann
4cfae88f09 Fix #122739: mix causes unnecessary evaluation when ints are used
Fixes #122739.

I added all five missing conversions that the convert node can do in the svm code to the constant folding.

Pull Request: https://projects.blender.org/blender/blender/pulls/123035
2024-06-12 10:37:39 +02:00
Campbell Barton
4d8eea1402 Extensions: convert package listings into a dictionary when loaded
Changes to the remote repository JSON format hadn't been properly
accounted for, a quick-fix was left in that converted the JSON
package listing into a dictionary as it was accessed (every redraw).

Update the behavior to perform the conversion when loading the data
from the JSON. This is also needed for multi platform & blender-version
support.
2024-06-12 16:50:08 +10:00
Campbell Barton
c99a40b286 Extensions: basic validation of remote repository data
Prevent non-compliant data in remote repositories from causing errors
in Blender's interface.

Move from a dictionary to a named-tuple which uses normalized values.
2024-06-12 15:13:04 +10:00
Campbell Barton
820fc124d4 Extensions: store repository data in a named tuple
No functional changes, adding more specific typing information helps
with further improvements.
2024-06-12 12:41:40 +10:00
Campbell Barton
cd741650d0 Fix incorrect check for the extension manifests time-stamp
The time-stamp on the directory was checked, not the manifest file.
2024-06-12 12:36:55 +10:00
Campbell Barton
eaa3f4c034 Cleanup: double-quote plain text strings 2024-06-12 10:56:12 +10:00
Campbell Barton
91d45db8bb Remove use of potentially unsafe strncat & strcpy 2024-06-12 10:52:09 +10:00
Campbell Barton
a5f331afc0 Fix linux build error in x265.cmake
The `ar` wrapper script wasn't handling arguments correctly,
causing it not to merge x265 static libraries.
2024-06-12 10:30:31 +10:00
Miguel Pozo
6f724b83c6 Fix #122929: Freestyle options not visible in view layer properties (EEVEE) 2024-06-11 21:22:27 +02:00
Nathan Burnham
6ea1d2131d Fix: PyAPI Doc: unexpected indentation error
7413031dd6 introduced an error and related warning when generating Py API docs:

```
/blender/doc/python_api/sphinx-in/bpy.app.translations.rst:132: ERROR: Unexpected indentation.
...
/blender/doc/python_api/sphinx-in/bpy.app.translations.rst:132: WARNING: Lexing literal_block 'See :func:`pgettext` notes.' as "python3" resulted in an error at token: '`'. Retrying in relaxed mode.
```

Pull Request: https://projects.blender.org/blender/blender/pulls/123097
2024-06-11 19:55:24 +02:00
Fabian-Herb
354b1a5db9 Fix #122933: Enable Compositor OpenImageDenoise on Linux ARM64
Pull Request: https://projects.blender.org/blender/blender/pulls/123066
2024-06-11 19:29:42 +02:00
Fabian-Herb
1dfdf098d2 Fix #122933: Enable Cycles OpenImageDenoise on Linux ARM64
_M_ARM64 is defined on Visual Studio only, but OpenImageDenoise 2.2 works on
ARM64 Linux, too. ARM64 always has NEON, so that remark was a no-op.

Pull Request: https://projects.blender.org/blender/blender/pulls/122948
2024-06-11 19:28:59 +02:00
Julian Eisel
e02e78d840 UI: Separate job type for asset library and file list loading
Asset library loading uses the file browser backend (file-list), so it
would use the same job type. The job system makes sure that jobs of the
same type (or actually, with the same start callback)
wait for others of the same type to finish. This can be a problem here,
since loading asset libraries (which can take a while) could conflict
with regular file browers. Having both run in parallel is no issue, they
use local data only.

Also see #123033 to address the added TODO comment.

Fixes #121235

Pull Request: https://projects.blender.org/blender/blender/pulls/123027
2024-06-11 18:31:39 +02:00
Aras Pranckevicius
c38951d0f5 Fix #123016: inconsistent VSE timeline strip pixel grid rounding
Previous commit that made VSE strip controls not be blurry (91fa37fecb)
applied "snap to pixel grid" in a wrong place - the rectangle corners
should be snapped, not the center and half-size of it.

Pull Request: https://projects.blender.org/blender/blender/pulls/123065
2024-06-11 18:12:32 +02:00
Dalai Felinto
188b6fd3d0 Extensions: List of tags to be used for translation
Internal module used for translation.

Pull Request: https://projects.blender.org/blender/blender/pulls/123069
2024-06-11 17:42:56 +02:00
Miguel Pozo
cfd64f2e85 Fix: EEVEE: Fix valid_N setup 2024-06-11 16:55:33 +02:00