Commit Graph

120055 Commits

Author SHA1 Message Date
Omar Emara
14583742dc Compositor: Implement Normalize for new CPU compositor
Reference #125968.
2024-11-07 13:12:55 +02:00
Omar Emara
c8ded4bf88 Compositor: Implement Levels node for new CPU compositor
Reference #125968.
2024-11-07 13:12:55 +02:00
Omar Emara
ad7f03c623 Compositor: Implement parallel reduction for new CPU compositor
Reference #125968.
2024-11-07 13:12:54 +02:00
Falk David
5ba1a376e5 Merge branch 'blender-v4.3-release' 2024-11-07 12:02:47 +01:00
Clément Foucault
a43a209959 Fix #129567: GPv3: Incorrect wireframe for strokes
First this make the wire batch use the same set of drawing that the main
gpencil batch uses (as they share the same VBO data, they need to use
the same drawings).

Then we skip drawing the onion frames by nullifying the indices in the
index buffer. A better way would be to skip these strokes or drawing
but that can be done later and seems more bug prone.

Pull Request: https://projects.blender.org/blender/blender/pulls/129920
2024-11-07 12:01:36 +01:00
casey bianco-davis
a114534295 Fix #121233: GPv3: Primitives: Add missing confirm action and ability to pan viewport.
This adds `MMB+shift`/`MMB+Alt` for panning, while keeping `MMB` to confirm.

Pull Request: https://projects.blender.org/blender/blender/pulls/122813
2024-11-07 12:00:29 +01:00
Falk David
8abd686863 Merge branch 'blender-v4.3-release' 2024-11-07 11:58:44 +01:00
casey bianco-davis
817f7c0747 Fix #121233: GPv3: Primitives: Add missing confirm action and ability to pan viewport.
This adds `MMB+shift`/`MMB+Alt` for panning, while keeping `MMB` to confirm.

Pull Request: https://projects.blender.org/blender/blender/pulls/122813
2024-11-07 11:57:56 +01:00
Falk David
ffd80047ee Fix #124725: GPv3: Masked layers not rendered correctly with onion skinning
The issue was that the masks for the current frame would be
rendered for a different frame.
Unfortunately, we can't easily render masks for the onion
skinned frames correctly at the moment.

The fix makes it so that we render the mask only for the current frame.

Pull Request: https://projects.blender.org/blender/blender/pulls/129878
2024-11-07 11:54:33 +01:00
Sean Kim
831166b4dc Fix #129907: Grease Pencil brush size gets stuck at 0
Possibly due to c13cde24cc

This commit clamps the `brush->size` value to 1 at lowest for the
Grease Pencil Draw mode. There are situations where when the brush scene
space value is set to a small enough size that the distance calculated
by `project_brush_radius` becomes 0.

When this value is set as the actual brush size, the `wm.radial_control`
operator fails to work properly as the new size is now lower than the
expected minimum value, causing incorrect clamping of the modal value.

Pull Request: https://projects.blender.org/blender/blender/pulls/129937
2024-11-07 10:50:46 +01:00
Sergey Sharybin
30ba6bfa7e Cleanup: Unused function argument 2024-11-07 10:37:44 +01:00
Hans Goudey
ba03407e33 Cleanup: Subdiv: Remove unnecessary C-API header
Use the topology refiner header directly.
Followup for 5e46e3d28a.

Pull Request: https://projects.blender.org/blender/blender/pulls/129941
2024-11-07 10:36:53 +01:00
Jeroen Bakker
acb49ee889 Merge branch 'blender-v4.3-release' 2024-11-07 10:30:53 +01:00
Sean Kim
d6db951d92 Fix #129907: Grease Pencil brush size gets stuck at 0
Possibly due to c13cde24cc

This commit clamps the `brush->size` value to 1 at lowest for the
Grease Pencil Draw mode. There are situations where when the brush scene
space value is set to a small enough size that the distance calculated
by `project_brush_radius` becomes 0.

When this value is set as the actual brush size, the `wm.radial_control`
operator fails to work properly as the new size is now lower than the
expected minimum value, causing incorrect clamping of the modal value.

Pull Request: https://projects.blender.org/blender/blender/pulls/129937
2024-11-07 10:29:44 +01:00
Jeroen Bakker
f3342fa680 Fix #129708: Vulkan: Add limit checks when creating images
Drivers should perform a limit check when creating images and return
`VK_ERROR_OUT_OF_DEVICE_MEMORY`. However there are drivers where this
check is a pass-through and leads to `VK_ERROR_DEVICE_LOST`.

This issue was introduced !128877 and only shows up on official NVIDIA
drivers.

Pull Request: https://projects.blender.org/blender/blender/pulls/129939
2024-11-07 10:29:40 +01:00
Jeroen Bakker
8e85a16997 Revert "Vulkan: Disable GPU depth picking on official AMD/NVIDIA drivers"
This reverts commit f896242477. For
Blender 4.3 we added a workaround, but the root cause should still be
identified and fixed.
2024-11-07 10:08:42 +01:00
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