Commit Graph

150077 Commits

Author SHA1 Message Date
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
Weizhen Huang
6ce09bdc02 Merge branch 'blender-v4.2-release' 2024-06-12 15:22:37 +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
d69eed0d0b Merge branch 'blender-v4.2-release' 2024-06-12 15:10:31 +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
Pratik Borhade
d80569cdd9 Fix #123116: Regression: F3 search crash in pose mode
Caused by 0089a90625
Return empty struct for ids that don't support attributes. Also add a check
for owner ptr.

Pull Request: https://projects.blender.org/blender/blender/pulls/123117
2024-06-12 15:02:20 +02:00
Campbell Barton
17ca15526d Merge branch 'blender-v4.2-release' 2024-06-12 22:40:20 +10:00
Campbell Barton
8e12af9c85 Merge branch 'blender-v4.2-release' 2024-06-12 22:40:18 +10: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
Pratik Borhade
52121edd96 Fix #123106: Custom panel name can't auto translate in GN modifier
Add `IFACE_` macro to translate the custom subpanel header.

Pull Request: https://projects.blender.org/blender/blender/pulls/123124
2024-06-12 14:37:18 +02:00
Bastien Montagne
5080bbf9ab Merge branch 'blender-v4.2-release' 2024-06-12 14:21:46 +02: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
7ef654db50 Merge branch 'blender-v4.2-release' 2024-06-12 13:48:53 +03: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
64df87978a Merge branch 'blender-v4.2-release' 2024-06-12 12:10:43 +02:00
Sergey Sharybin
2cdd9c1b2c Fix: Syntax error after recent extensions change
Caused by 4d8eea1402.
2024-06-12 12:08:59 +02:00
Sergey Sharybin
ad0bd9ba9f Merge branch 'blender-v4.2-release' 2024-06-12 10:38:39 +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
2665be7834 Merge branch 'blender-v4.2-release' 2024-06-12 12:50:04 +10:00
Campbell Barton
b37c4ae28c Merge branch 'blender-v4.2-release' 2024-06-12 12:50:02 +10:00
Campbell Barton
8112ee47d9 Merge branch 'blender-v4.2-release' 2024-06-12 12:49:59 +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
1d94c34f2a Merge branch 'blender-v4.2-release' 2024-06-12 10:54:06 +10:00
Campbell Barton
91d45db8bb Remove use of potentially unsafe strncat & strcpy 2024-06-12 10:52:09 +10:00
Campbell Barton
346ed47c3e Merge branch 'blender-v4.2-release' 2024-06-12 10:38:55 +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
Hans Goudey
8726157489 Sculpt: Initial data oriented refactor for nudge brush
Part of #118145.
Reuse the draw brush code, since the brushes are exactly the same
except with a different offset direction. There may be better ways to
share the code besides defining them in the same file, but it doesn't
really matter either way currently.
2024-06-11 17:18:12 -04:00
Hans Goudey
c5864a3dcb Sculpt: Initial data oriented refactor for inflate brush
Part of #118145.
The inflate brush is also very simple. Compared to the draw brush,
it just uses the normal as an offset instead of a global one calculated
from surrounding vertices.
2024-06-11 16:34:11 -04:00
Hans Goudey
bfb7918ac5 Cleanup: Sculpt: Avoid repeated access of CCG position 2024-06-11 16:05:15 -04:00
Hans Goudey
c93c7cbc4c Sculpt: Initial data oriented refactor for flatten brush
Part of #118145.
This brush is exactly the same as the fill brush, except with the check
for which side of the brush plane each vertex is on removed. This
commit introduces more duplication than we'll have eventually.
2024-06-11 15:58:10 -04:00
Miguel Pozo
22788ad1cf Merge branch 'blender-v4.2-release' 2024-06-11 21:22:55 +02:00
Miguel Pozo
6f724b83c6 Fix #122929: Freestyle options not visible in view layer properties (EEVEE) 2024-06-11 21:22:27 +02:00
Hans Goudey
50ad82cdd1 Cleanup: Fix missing type name with typedef 2024-06-11 14:56:03 -04:00
Hans Goudey
fb3ac0d178 Cleanup: Remove unnecessary draw brush function declaration
Removed in 782f3411d0
2024-06-11 14:54:00 -04:00
Hans Goudey
68ef1d6f36 Sculpt: Initial data oriented refactor for scrape and fill brushes
Part of #118145.
These two are almost exactly the same. The difference between them
is just an inverted condition and negating the radius. That can be changed
later, maybe by implementing a more advanced fill algorithm. But for the
purposes of this refactor, mainly keep the duplication. I just shared two
functions as a compromise to not duplicate *everything*. It also shows
the reader that the implementations are currently linked without fully
conflating the two and making future changes harder.

Pull Request: https://projects.blender.org/blender/blender/pulls/123038
2024-06-11 20:28:24 +02:00
Bastien Montagne
286319bbe3 Merge branch 'blender-v4.2-release' 2024-06-11 19:56:13 +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
Brecht Van Lommel
deedb52a7e Merge branch 'blender-v4.2-release' 2024-06-11 19:31:12 +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
Fabian-Herb
45447e8b2f 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:17:01 +02:00
Hans Goudey
6191212a0f Fix: New sculpt brushes apply inverse deformation to deformed mesh
Currently we have to maintain an array of deformed positions on the
PBVH for historical reasons (once all brushes are refactored it can be
removed). The ported brushes handled it incorrectly though-- they
applied the inverse deformation to the translations applied to the
deformed mesh. Instead we have to apply the inverse deformation
after updating the PBVH's deformed positions.

Pull Request: https://projects.blender.org/blender/blender/pulls/123087
2024-06-11 18:35:10 +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
Pratik Borhade
950f5eef91 Fix #122883: Crash converting to curves object with no GPv3 drawings
When converting GPv3 object with zero drawings to curves, Blender crashes
due to accessing invalid drawing/offset value.

With `curve to mesh` node, the evaluated `gemoetry_set` had
a dummy GPv3 object data with zero drawings, see
`BKE_grease_pencil_data_update`. Hence, the crash in
`object_convert_exec` while accessing the offset array.

Pull Request: https://projects.blender.org/blender/blender/pulls/123067
2024-06-11 18:29:05 +02:00