Commit Graph

150077 Commits

Author SHA1 Message Date
Jacques Lucke
66e5004d95 Fix: handle unknown node types more gracefully
I found this assert to be not helpful a couple of times in the past already.
Now it was triggered again by #122928.
2024-06-14 11:50:24 +02:00
Aras Pranckevicius
60d8802ffc Merge branch 'blender-v4.2-release' 2024-06-14 12:46:10 +03:00
Jacques Lucke
086f6f07d9 Fix #122960: multiple geometry outputs connect to single input on viewer 2024-06-14 11:33:29 +02:00
Jacques Lucke
8ee231b6f6 Fix: crash when interpolating subframes of baked caches
`get_simulation_item_cpp_type` returns `SocketValueVariant` for these types
nowdays, which is not what we want here.
2024-06-14 11:27:36 +02:00
Jacques Lucke
d088c3dfe5 Fix #123098: rotation attribute in baked data not loaded correctly 2024-06-14 11:27:36 +02:00
Aras Pranckevicius
d61db84153 Fix #123136: Very narrow VSE strips flicker when zoomed out
Make sure they are at least 1px wide when evaluating the rounded rectangle SDF.

Pull Request: https://projects.blender.org/blender/blender/pulls/123221
2024-06-14 11:19:43 +02:00
Jeroen Bakker
58ecfb869d Vulkan: Remove render graph switch
As render graph is now the default, we can remove the
render graph switch. This allows us to cleanup unused
functions and classes.

Pull Request: https://projects.blender.org/blender/blender/pulls/123219
2024-06-14 09:44:59 +02:00
Jeroen Bakker
07ea6a5c23 Vulkan: Enable render graph
This PR hooks up the vulkan backend with the render graph
for drawing. It can run Blender better than the previous
implementation so we also flipped it to be the default
implementation.

**Some highlights**
- Adds support for framebuffer load/store operations
- Adds support for framebuffer subpass transitions
- Fixes workbench shadows
- Performance is just below OpenGL performance when comparing
  fps. But the screen feels more fluent when using complex
  scenes.
- Current performance is without doing any optimizations so
  will improve in the future.
- EEVEE will not crash but has artifacts and many parts that
  require more work.

**Related to**
- #121648
- #118330

**Known Limitation**
- Similar to previous implementation resources can be freed when
  still in use crashing Blender. This is typically the case when
  playing back an animation or updating a material icon.

**Next steps**
- Remove old implementation
- Get EEVEE to work
- Fix double resource freeing
- Improve performance by identifying hotspots and change them

Pull Request: https://projects.blender.org/blender/blender/pulls/121787
2024-06-14 08:46:33 +02:00
Campbell Barton
32657349cc Merge branch 'blender-v4.2-release' 2024-06-14 15:46:31 +10:00
Campbell Barton
e0bdb74d8d Merge branch 'blender-v4.2-release' 2024-06-14 15:46:24 +10:00
Campbell Barton
f94daa4545 Merge branch 'blender-v4.2-release' 2024-06-14 15:45:48 +10:00
Campbell Barton
f8af70f0b6 Merge branch 'blender-v4.2-release' 2024-06-14 15:43:07 +10:00
Campbell Barton
f5711ff505 Merge branch 'blender-v4.2-release' 2024-06-14 15:43:04 +10:00
Campbell Barton
21a2d4f962 Merge branch 'blender-v4.2-release' 2024-06-14 15:43:00 +10:00
Campbell Barton
ba77cd42dc Merge branch 'blender-v4.2-release' 2024-06-14 15:42:57 +10:00
Campbell Barton
a25c386c4a Extensions: remove add-on local preferences
This was only being used for a single debugging option,
additional developer reports are now used when enabling
the extensions debugging option (under experimental).
2024-06-14 15:32:07 +10:00
Campbell Barton
e93f0ee53a Extensions: add network timeout and connection limit preferences
These settings are used when running extension updates but may be
used for any operations that perform online access.
2024-06-14 15:32:07 +10:00
Campbell Barton
176864ab03 Extensions: install all updates in parallel
Run each update as a separate job, previously updates for each
repository was split into a separate job however that would only
use parallel connections with multiple online repositories which
isn't used by default. Currently the connection limit is hard-coded but
will be made into a preference.
2024-06-14 15:12:23 +10:00
Campbell Barton
04f310a19a Extensions: simplify access to manifests when refreshing the remote
The internal API call to refresh remote data wasn't returning
the resulting data, making it inconvenient to refresh & access
remote meta-data from a single repository.
2024-06-14 15:12:21 +10:00
Campbell Barton
2dd339bff3 Extensions: quiet warnings from pylint
Some warnings remain which need further investigation.
2024-06-14 15:12:19 +10:00
Campbell Barton
7952f35292 Extensions: filter out extensions by platform and blender version
Exclude extensions which aren't supported by the Blender version or
the platform (for platform dependent extensions).
2024-06-14 15:12:18 +10:00
Campbell Barton
248a5258e0 Extensions: various fixes
- Fix an unhandled exception listing a repository with no remote data.
- Exclude dot-files from being listed when generating a repository.
- Fix missing import (in an unlikely corner case) when accessing
  tags before the repository data was initialized.
- Fix refresh refreshing the remote not updating the
  internal remote meta-data.
- Suppress warnings in tests caused by default repositories
  (now removed before resting).
2024-06-14 15:12:16 +10:00
Nathan Burnham
c810d1413d PyAPI Doc: fix doc gen warning wrt loadLeftHrtfSet
Pull Request: https://projects.blender.org/blender/blender/pulls/123147
2024-06-13 21:22:25 +02:00
Bastien Montagne
e30dbd2472 Merge branch 'blender-v4.2-release' 2024-06-13 20:50:51 +02:00
Bastien Montagne
b03a6bbd60 Cleanup: Remove left-over debug print in tests. 2024-06-13 20:50:13 +02:00
Bastien Montagne
ddd366c5b2 Merge branch 'blender-v4.2-release' 2024-06-13 20:48:17 +02:00
Bastien Montagne
5dfc197262 IDProp: BPY: Support assigning large int values to float properties.
Allow assigning integer values beyond int32 range to float/double
IDProperties. Extract the py object value into a temporary int64 value
in these cases.
2024-06-13 20:47:46 +02:00
Clément Foucault
7a7f64cf9d Fix: EEVEE-Next: Broken area and spot light culling in planar probes
These two lights have a second culling pass that
uses some shapes defined in view space.

These shapes need to have their handedness flipped
otherwise the test fails.

Fix #122614
2024-06-13 20:40:02 +02:00
Anthony Roberts
bd764a5796 Windows: 4.2 Library updates for ARM64
Pull Request: https://projects.blender.org/blender/blender/pulls/123203
2024-06-13 20:37:43 +02:00
Harley Acheson
fb20e818ef Merge branch 'blender-v4.2-release' 2024-06-13 10:59:05 -07:00
Bastien Montagne
9c41bf4fa2 IDProps: Make GeometryNode modifier properties statically typed.
Conceptually, these are the same as IDProps used for regular dynamic RNA
data (should have been done that way from the beginning). At least make
them statically typed, to avoid all kind of issues when the IDProp type
change and does not match expectations from the geometry nodes anymore.

Ref. #122743.

Pull Request: https://projects.blender.org/blender/blender/pulls/122891
2024-06-13 19:58:23 +02:00
Bastien Montagne
76f03eb141 IDProps: Make overridable IDProps systematically statically typed.
LibOverride gets practically useless when types of 'matching' data
differs between the linked reference data and the overridden one.

Ref. #122743.
2024-06-13 19:58:22 +02:00
Bastien Montagne
b278e37f70 IDProps: Make 'dynamic RNA' IDProperties statically typed.
All IDProperties generated as part of 'storage backend' for dynamic RNA
properties are now statically typed.

Also adds some basic unittests for the new statically typed IDProperty
system, based on py-defined RNA data.

Ref. #122743.
2024-06-13 19:58:22 +02:00
Bastien Montagne
4d1fe98604 IDProps: Add 'static type' option to IDProperties.
This implements (most of) the proposal in #122743:

* Add a new `IDP_FLAG_STATIC_TYPE` IDProperty flag.
* Update `BPy_IDProperty_Map_ValidateAndCreate` and related to never
  change an existing property type if statically typed.

The biggest change happens in bpy assignement code, since instead of
replacing the old exisitng property by a newly created one, and copying
over a few settings, now the old property is kept if possible, and a new
one is only created if needed.

And in case the existing property is statically typed, if it cannot be
re-used to store the given value, and error is reported and it remains
unchanged.

`IDP_ARRAY` is also supported for basic numeric types, so 'vector'
properties and such work as expected. Lentgh is considered as part of
the static type (i.e. one can only assign a 3 components py sequence to
a 3-len array property, etc.).

Such in-place update is not yet implemented for `IDP_IDPARRAY` and
`IDP_GROUP` types. While important (especially the group one), they are
not that critical for the current issues related to changing IDProperty
types.
2024-06-13 19:58:22 +02:00
Bastien Montagne
a6d3feda8e BKE IDProp: Add utils to get string version of an IDProp type/subtype. 2024-06-13 19:58:22 +02:00
Harley Acheson
8481696337 Fix #94060: Update Stats When Deleting Object Data in Outliner
Update statistics in the viewport and/or status bar when deleting
object data in Outliner. See bug report to recreate issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/123157
2024-06-13 19:57:32 +02:00
Harley Acheson
52f42b02f0 Merge branch 'blender-v4.2-release' 2024-06-13 10:55:09 -07:00
Harley Acheson
2b8da99e59 Fix #77696: Intermittent Fuzzy File Browser Text
Clamp the File Browser main region v2d->cur.ymin and .ymax to integers
to avoid bad text display in the file listing when they are subpixel.

Pull Request: https://projects.blender.org/blender/blender/pulls/123162
2024-06-13 19:53:22 +02:00
Brecht Van Lommel
90f09f016e Fix: Incorrect call to cuCtxPopCurrent
cuDevicePrimaryCtxRetain does not push the context onto the stack,
unlike cuCtxCreate.
2024-06-13 19:41:20 +02:00
Brecht Van Lommel
d72c4f0096 Fix: Cycles build issues when disabling various kernel features 2024-06-13 19:41:19 +02:00
Laurynas Duburas
d954e74963 Fix: Add leftColor variable only to handle shader
Variable `leftColor` is added to global variable `overlay_edit_smooth_color_iface` in current version.
In result it is added to every following shader using `overlay_edit_smooth_color_iface`.

Pull Request: https://projects.blender.org/blender/blender/pulls/122803
2024-06-13 19:32:32 +02:00
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
Hans Goudey
c6674bad5c Cleanup: Formatting 2024-06-13 10:49:26 -04: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
Sean Kim
6a5c14e58f Sculpt: Initial data-oriented refactor for mask brush
Part of #118145.

Refactor appears to gain a roughly 20% speed increase in the individual
update step function, from an average of 31ms to 25ms.

Pull Request: https://projects.blender.org/blender/blender/pulls/123115
2024-06-13 16:29:24 +02:00
Hans Goudey
654ead045b Merge branch 'blender-v4.2-release' 2024-06-13 10:29:03 -04:00
Sean Kim
b7975db04f Cleanup: Match toolbar order for sculpt gesture tools
Pull Request: https://projects.blender.org/blender/blender/pulls/123161
2024-06-13 16:28:14 +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
5bb7dc82ae Merge branch 'blender-v4.2-release' 2024-06-13 16:03:31 +02: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