Commit Graph

117289 Commits

Author SHA1 Message Date
Jeroen Bakker
8c9b5a46c1 Merge branch 'blender-v4.3-release' 2024-11-07 10:08:23 +01:00
Jeroen Bakker
f896242477 Vulkan: Disable GPU depth picking on official AMD/NVIDIA drivers
There is an issue in the GPU depth picking that is only visible
in official AMD/NVIDIA drivers. AMD does pick objects that are
around the cursor. NVIDIA drivers include any overlay objects.

This PR will disable GPU pick selection for AMD/NVIDIA official
drivers. This will limit some selection functionality.
This PR will be reverted in Blender 4.4 to find the root cause.

Ref: #128624, #127768
Pull Request: https://projects.blender.org/blender/blender/pulls/129863
2024-11-07 10:07:08 +01:00
Jeroen Bakker
b5414f716f Merge branch 'blender-v4.3-release' 2024-11-07 09:17:08 +01:00
Hans Goudey
ae1a1335b9 Curves: Avoid squaring distances unnecessarily in selection functions 2024-11-07 09:11:44 +01:00
Jeroen Bakker
bc480f05d5 Draw: Reduce overhead of sharing meshes without attributes
When using a lot of instances the requested and needed attributes
are merged. This process uses a lock even when no work needs to be
done.

By early exiting the merging process when no work needs to be done
the performance of navigating 60k cubes went from 17.5 fps to 18.3 fps.

Detected when researching #126391.

Pull Request: https://projects.blender.org/blender/blender/pulls/129791
2024-11-07 08:31:08 +01:00
Campbell Barton
168cbca937 Cleanup: remove unused argument 2024-11-07 18:24:48 +11:00
Campbell Barton
c5272e7857 Cleanup: various non functional changes 2024-11-07 18:21:07 +11:00
Sean Kim
6b302eeac4 Fix #129896: Console warning in texture, weight, vertex paint modes
Missesd in 6df437be5f

Pull Request: https://projects.blender.org/blender/blender/pulls/129929
2024-11-07 01:35:31 +01:00
Richard Antalik
229fe068fe Merge branch 'blender-v4.3-release' 2024-11-07 01:14:10 +01:00
Richard Antalik
97e44901b4 Fix #129892: Retiming selection is broken
Deselect keys before selecting new keyss, unless toggling selection.

Pull Request: https://projects.blender.org/blender/blender/pulls/129893
2024-11-07 01:11:32 +01:00
Hans Goudey
c7cebf5f6d Curves: Select linked pick operator
This implements the "Select Linked Pick" operator, by default exposed
in the keymap with `L` and `Shift-L`. This mirrors the existing operator
in legacy-curve edit mode and mesh edit mode.

The implementation is pretty simple, we just find the curve closest to
the mouse and change the selection of the points in that curve.

Pull Request: https://projects.blender.org/blender/blender/pulls/129885
2024-11-06 21:25:43 +01:00
Clément Foucault
5c80fb17e0 GPU: Add support for shader assert
This allows to use `assert()` directly inside shader source.

The current implementation is just replacing it with a printf
that gives some information about the location of the assert.

It is not that much more helpful than a printf with a condition.
What is useful is that they are disabled by default. So they
can be sprinkle around and only turned on during debugging.

Adding shader name inside the assert report is not trivial and
could be added later (the shader name is only known at compile
time which is too late for string parsing).

Adding which drawcall produced the assert isn't trivial either.
It would require flushing the printf buffer for each drawcall
which might force synchronization and remove bugs.

Pull Request: https://projects.blender.org/blender/blender/pulls/129728
2024-11-06 20:29:01 +01:00
Julian Eisel
5e688ffa73 Fix: UI: Missing redraws when clicking on catalogs in asset shelf popup
When opening the asset shelf brush selector popup in paint modes, clicking on a
catalog on the left wouldn't refresh the popup properly. Two catalog items
would be drawn as active, and the active catalog change wouldn't be reflected.
Only some mouse movements would trigger an update eventually.
2024-11-06 18:37:37 +01:00
Hans Goudey
ab2f0f8876 Cleanup: Remove redundant "is edit mode" check in drawing code
Because everything is logical-and here, these two variables are redundant.

Pull Request: https://projects.blender.org/blender/blender/pulls/129915
2024-11-06 18:36:54 +01:00
Julian Eisel
198688dfbd Fix: UI: Asset shelf clamped to half the width on HiDPI screens
The asset shelf was not as wide as it should be on HiDPI screen, because the
calculations didn't account for pixel scaling properly.
2024-11-06 18:36:49 +01:00
Bastien Montagne
89d69ddaf3 Merge branch 'blender-v4.3-release' 2024-11-06 18:17:28 +01:00
Bastien Montagne
ca1353237f Fix #129797: bpy.data.libraries.write() is no longer saving the asset_data associated with the ID-block.
Do copy asset data when copying an ID into the PartialWriteContext.

Currently there does not seem to be any use-case where this would not be
the desired behavior. This can be made an optional behavior in the
future if needed.
2024-11-06 17:52:41 +01:00
Sergey Sharybin
cad2830006 Cleanup: Fix strict compiler warning about unused typeinfo_
The NodeDeclarationBuilder::typeinfo_ is unused in release builds, but is
used in debug builds for assert.

Mark it as `[[maybe_unused]]` to silence strict compilation warning.

Pull Request: https://projects.blender.org/blender/blender/pulls/129912
2024-11-06 17:05:36 +01:00
Philipp Oeser
b7ceb76014 Merge branch 'blender-v4.3-release' 2024-11-06 16:37:33 +01:00
Philipp Oeser
bccae832ae Fix #129853: Stroke Scene Spacing freezes with tablet size pressure
This lead to infinitely small return values from
`paint_space_stroke_spacing` (since the size can become so small) which
in turn causes an infinite loop in `paint_space_stroke`.

Was considering clamping to some other measure (e.g. based on bounding
box factors), but these might not work well in all circumstances
(dyntopo on a terrain-size mesh might still need tiny spacing), so
settled to clamp to the minimal numerical value.

Pull Request: https://projects.blender.org/blender/blender/pulls/129908
2024-11-06 16:34:52 +01:00
Pratik Borhade
43c9b89c51 Fix: Resolve merge error from 2d37a3a1a7 2024-11-06 20:48:09 +05:30
Pratik Borhade
2d37a3a1a7 Merge branch 'blender-v4.3-release' 2024-11-06 20:28:26 +05:30
Pratik Borhade
496023691c Fix: Unused parameter warning
Caused by 40162873e0

Pull Request: https://projects.blender.org/blender/blender/pulls/129910
2024-11-06 15:54:42 +01:00
Omar Emara
9b2356ae47 Compositor: Implement File Output for new CPU compositor
Reference #125968.
2024-11-06 15:45:06 +02:00
Omar Emara
a295cfe05f Cleanup: Use 2D parallel for loops 2024-11-06 15:44:17 +02:00
Omar Emara
3cf944bae7 Refactor: Make result channels count public 2024-11-06 15:42:16 +02:00
Clément Foucault
22c514b95c Merge branch 'blender-v4.3-release' 2024-11-06 13:03:48 +01:00
Clément Foucault
dd01858959 GPU: Avoid assert caused by overlapping attribute in material shaders
This was caused by `drw_ResourceID` taking one vertex input
(at slot 15) which was then also used by material shaders.

Starting material shaders at 14 in this case avoid the overlap.

Note that this reduces the amount of supported attribute when
using the workarounds by one.
2024-11-06 13:03:32 +01:00
Hans Goudey
8f318cb383 Merge branch 'blender-v4.3-release' 2024-11-06 12:52:43 +01:00
Hans Goudey
5774441ee8 Fix: Crash in curves edit mode multi-object selection pick
The code was always using the deformed positions from the active object
rather than from the object currently being processed.
2024-11-06 12:52:19 +01:00
Hans Goudey
371237dcca Cleanup: Curves: Avoid random access to IndexMask
This runs in logarithmic time and is bad for performance.
It's better to use the iterators.
2024-11-06 12:49:26 +01:00
Omar Emara
2ed75eccc2 Compositor: Implement Movie Clip for new CPU compositor
Reference #125968.
2024-11-06 13:40:18 +02:00
Omar Emara
7471478b57 Compositor: Implement Texture node for new CPU compositor
Reference #125968.
2024-11-06 13:39:17 +02:00
Omar Emara
65797a5107 Compositor: Implement Mask node for new CPU compositor
Reference #125968.
2024-11-06 13:37:46 +02:00
Omar Emara
7220b3bb19 Compositor: Implement Bokeh Image for new CPU compositor
Reference #125968.
2024-11-06 13:36:41 +02:00
Aras Pranckevicius
e0551e2826 Merge branch 'blender-v4.3-release' 2024-11-06 13:16:59 +02:00
Aras Pranckevicius
3d457fa5d4 Fix #129876: VSE playhead text wrongly gets outline while playing
Caused by sticky text shadow enable that was not reset back

Pull Request: https://projects.blender.org/blender/blender/pulls/129906
2024-11-06 12:15:34 +01:00
Campbell Barton
273bccb108 Cleanup: remove unused arguments, quiet unused assignment warning 2024-11-06 21:37:06 +11:00
Hans Goudey
0d4ce60772 Cleanup: Various changes in curves selection code
- Change variable names for consistency
- Split common code to function
- Create simple struct with curly brackets
- Avoid random access to IndexMask
- Remove obvious comments
- Use const references for float3
2024-11-06 11:21:03 +01:00
Bastien Montagne
87bf983030 Merge branch 'blender-v4.3-release' 2024-11-06 11:14:25 +01:00
Bastien Montagne
d0ca77f587 Add minimal user report about unreadable future blendfiles.
This commit adds a minimal, simple detection for future, incompatible
blendfiles (in case the header itself is modified).

The current available info does not allow to be more specific, but at
least this avoids telling users that it is not a blendfile.

In the future, the new header format designed in #129309 for Blender 5.0
should allow for a better report (since the first 16 bytes of the header
should always have the same meaning from there on).

Pull Request: https://projects.blender.org/blender/blender/pulls/129875
2024-11-06 11:13:28 +01:00
Sean Kim
bb01e3e37d Fix: Enhance details brush does not work with hidden faces
Similar to !129886

Pull Request: https://projects.blender.org/blender/blender/pulls/129888
2024-11-06 10:06:07 +01:00
Iliya Katueshenock
6255c49685 Fix: Geometry Nodes: Skip string attribute processing in some nodes
String attribute type generally not supported in geometry nodes currently.

Pull Request: https://projects.blender.org/blender/blender/pulls/129882
2024-11-06 07:16:36 +01:00
Jacques Lucke
126b9c6eaf Merge branch 'blender-v4.3-release' 2024-11-06 07:08:01 +01:00
Jacques Lucke
05e27b4aec Fix #128948: crash when changing area type and starting modal operator from script
The issue was that changing the area did not immediately update the
`snode->edittree` when changing between different node editor types. That update
only happened later in `node_area_refresh`. However, by that time, the `poll`
function of the modal operator has already succeeded even though when there
operator actually starts `poll` would not succeed anymore.

Pull Request: https://projects.blender.org/blender/blender/pulls/129870
2024-11-06 07:04:04 +01:00
Richard Antalik
f27220f6b6 Merge branch 'blender-v4.3-release' 2024-11-06 05:44:11 +01:00
Richard Antalik
b193684b5d VSE: Use snapping for retiming keys
Retiming keys now can be used as snap sources or targets. Snapping to
keys can be disabled similar to other targets.

Pull Request: https://projects.blender.org/blender/blender/pulls/129709
2024-11-06 05:43:34 +01:00
Richard Antalik
6ee1eb49be Fix #126167: Speed effect does not interpolate frame numbers
Only convert frame number to integer when image interpolation is not
used.

Pull Request: https://projects.blender.org/blender/blender/pulls/129839
2024-11-06 05:39:30 +01:00
Richard Antalik
b05e932ec6 Fix #126272: Set speed operator doesn't work correctly
Caused by 2 issues:
- Incorrect logic when checking if added key matches last key
- FPS mismatch not compensated in `SEQ_retiming_key_speed_set()`

Also `seq_retiming_evaluate()` output was not clamped to 0-1 range. This
was not causing issues in sample .blend file, but output should be
clamped.

Pull Request: https://projects.blender.org/blender/blender/pulls/129838
2024-11-06 05:25:54 +01:00
Richard Antalik
9840dd233c Fix: VSE: use after free in for loop
Same fix as 2a32b26415 - initialize range before using it in for loop

Pull Request: https://projects.blender.org/blender/blender/pulls/129835
2024-11-06 05:24:49 +01:00