Commit Graph

100330 Commits

Author SHA1 Message Date
Jeroen Bakker
dd044afd1e Vulkan: Fix Shader Compilation Errors
It is not allowed to add an extra semicolon after a function body.

```
eevee_nodetree_lib.glsl:259:0: Error: 'extraneous semicolon' : not
supported for this version or the enabled extensions
```

Pull Request: https://projects.blender.org/blender/blender/pulls/108886
2023-06-12 13:25:57 +02:00
Miguel Pozo
6a77345328 GPU: Fix ShaderBuilder MSVC compilation
Add missing stubs and ensure the correct linker flags.

Note: This applies the linker flags on Linux too.

Pull Request: https://projects.blender.org/blender/blender/pulls/108820
2023-06-12 13:09:42 +02:00
Julian Eisel
acb4f89a40 UI: Add filtering support to UI views
No user visible changes expected.

Needed for the asset shelf (#102879).

Adds a UI operator triggered on Ctrl+F that will attempt to start
filtering for the hovered UI view, typically enabling a filter text
button.

View items can implement their own filter method, there's no default
one. Maybe we should add default or re-usable string filtering method
though.
Filtering is applied after constructing the view and filtered out (as
in, invisible) items are kept in storage, so that their state
(selection, active, etc.) is preserved. The filtered state is cached in
the item, so this is only done once per redraw.
2023-06-12 12:31:11 +02:00
Jeroen Bakker
b8ce3f69b1 Cleanup: Fix Compilation Warning
On Mac there is a compilation warning when compiling without support
for open image denoising.

Pull Request: https://projects.blender.org/blender/blender/pulls/108882
2023-06-12 12:12:25 +02:00
Almaz Shinbay
b67e5492c3 Outliner: Port texture elements to new tree-element code design
No user visible changes expected.

Part of #96713, continuation of work started in 249e4df110 and 2e221de4ce.
Refer to these for a motivation and design overview.

Adds a new tree-element class for texture IDs.

Pull Request: https://projects.blender.org/blender/blender/pulls/108697
2023-06-12 11:57:14 +02:00
Jeroen Bakker
33301a06ce Cleanup: Solve Compilation Warning 2023-06-12 11:08:37 +02:00
Philipp Oeser
2beb1bc38f Merge branch 'blender-v3.6-release' 2023-06-12 10:00:07 +02:00
Philipp Oeser
d75aeb03e5 Fix #108707: Parent space Transform ignores armature objects rotation
Seems like an oversight in 5c4b0c98d3.

Child bones would calculate their orientation from the parent bone local
alone, now multiply take the armature objects world transform into account as well.

Pull Request: https://projects.blender.org/blender/blender/pulls/108755
2023-06-12 09:59:14 +02:00
Jeroen Bakker
84f1c4e16c Merge branch 'blender-v3.6-release' 2023-06-12 08:44:14 +02:00
Jason Fielder
99931a5154 Metal: Fix failing texture unit tests
Resolves failing unit tests where missing texture read support for
1D/3D textures was required. Also resolves a number of missing
format support cases when determining texture component
count and byte size for reading/writing.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/108751
2023-06-12 08:43:10 +02:00
Jason Fielder
6504ba980e Metal: Resolve zero initialization in failing math shader tests
Math tests failing in Metal due to non-zero-initialized values
and shader compilation error caused by mutli-component
boolean being implicitly evaluated.

Authored by Apple: Michael Parkin-White

Pull Request: https://projects.blender.org/blender/blender/pulls/108758
2023-06-12 08:39:11 +02:00
Jason Fielder
91e15ca2fa Fix #107159: Resolve wireframe depth issue in Metal
Bug in Metal when gl_FragDepth is used but not written to by a shader
causing depth-based navigation to fail. Patch ensures gl_FragDepth
is assigned a default value at the current depth from the vertex
shader to catch all edge-cases of this.

Authored by Apple: Michael Parkin-White

Co-authored-by: Michael Parkin-White <mparkinwhite@apple.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/108453
2023-06-12 08:37:50 +02:00
Jeroen Bakker
a05dfdbadf Cleanup: Make format 2023-06-12 08:16:30 +02:00
Richard Antalik
f4d6edd476 VSE: Add "Set Speed" gizmo to retiming tool
This gizmo is now responsible for drawing labels with speed of retimed
segments. By clicking on the value it is possible to type in new speed,
which is more convenient, than dragging handles by hand.

Note: Due to granularity of frames, the precise value may not be
respected.

Pull Request: https://projects.blender.org/blender/blender/pulls/108422
2023-06-12 02:30:41 +02:00
Chao Li
126bff3099 GPv3: "Select Linked" operator
This adds `GREASE_PENCIL_OT_select_linked` operator for the new grease pencil data.

Resolves #108750.

Pull Request: https://projects.blender.org/blender/blender/pulls/108829
2023-06-11 17:35:49 +02:00
Casey Bianco-Davis
825d2d301b GPv3: "Select More" and "Select Less" operators
Adds `GREASE_PENCIL_OT_select_more` and `GREASE_PENCIL_OT_select_less` operators for the new grease pencil system.

Resolves #108752.

Pull Request: https://projects.blender.org/blender/blender/pulls/108847
2023-06-11 16:09:11 +02:00
Casey Bianco-Davis
9e706deaf6 Fix #108688: GPv3 Crash at ended of drawing operation.
The problem was that the attribute layers may not exist when the operator ran.

The fix is to use `lookup_or_add_for_write_span` instead of `lookup_for_write_span`.

Pull Request: https://projects.blender.org/blender/blender/pulls/108851
2023-06-11 15:31:13 +02:00
Campbell Barton
9520dba066 Cleanup: naming & return value for writefile's do_history
- Rename name -> filepath.
- Rename hisnr -> version_number.
- Return true on success.
2023-06-11 16:37:08 +10:00
Campbell Barton
691c0fc43a Fix saving a blend file that's FILE_MAX length failing to version
While a corner case, saving FILE_MAX length files should be supported.
2023-06-11 16:37:07 +10:00
Ray Molenkamp
b7b2e08dcb Revert "Deps_builder: Move Windows build from MinGW/GCC to msys2/MSVC"
This reverts commit 451751380c.

Seems like this broke linux/mac, likely needs to detect of libxvid
is there or not. For now revert until we sort this out.
2023-06-10 16:24:17 -06:00
Anthony
451751380c Deps_builder: Move Windows build from MinGW/GCC to msys2/MSVC
Currently, Windows some dependencies are built with MinGW/GCC 3.x
this commit removes that, in favor of building them with MSVC
via msys2. This will make it easier in the future to offer Win/Arm64
builds of blender.

Notable changes:

- This change drops support for the external libxvid library in favor
of ffmpegs built in support for this format. This has been done with
permission from the VFX module.

Pull Request: https://projects.blender.org/blender/blender/pulls/105502
2023-06-10 23:05:49 +02:00
Lukas Stockner
d79524e309 Cleanup: format 2023-06-10 15:37:51 +02:00
Campbell Barton
90f123e95a Cleanup: remove unused text editor documentation functions 2023-06-10 17:35:58 +10:00
Campbell Barton
a2865b701d Cleanup: rename max-length to maxncpy as this includes the null byte 2023-06-10 17:21:24 +10:00
Campbell Barton
39516324d2 Cleanup: various minor changes (code_clean.py) 2023-06-10 17:08:08 +10:00
Campbell Barton
95ca04dc20 Text Editor: remove support for syntax highlighting LUA
Removed because support for languages which Blender it's self doesn't
support seems unnecessary.

Ref !108689
2023-06-10 16:15:33 +10:00
Sergey Sharybin
823514fd6f Fix #108778: Crash when rendering multiple view layers
The rendering pipeline will re-use dependency graph and request
for re-building its relations for every new view layer, and try
to re-use as much evaluation as possible.

This could potentially run into situation when a content of
collection is changed: due to the difference in the per-view
layer visibility. If the evaluated collection has an object cache
this will make the cache to get out-of-sync with the actual
content. The cache on the evaluated collection might be created
when instancing system iterates over the collection.

This change makes it so the cache is freed when the dependency
graph relations are updated. This might be a bit too intrusive.
There might be ways to somehow ensure the content of the collection
is still the same as it was before the relations update, but this
is much more complicated task. Perhaps the performance is already
good enough.

This is a collaboration with Jacques Lucke, who was looking into
the same report, bouncing some ideas back and forth, and helped
testing the patch.

Pull Request: https://projects.blender.org/blender/blender/pulls/108816
2023-06-09 18:42:01 +02:00
Chao Li
b3356b1799 Mesh: Remove unnecessary mesh position copying
Remove unnecessary mesh position copying in the following places:
1. hair dynamics
2. shrinkwrap remesh target project
3. normal projection calculation in shrinkwrap (hidden copying)
4. multires modifier: reshape from object
5. vertex weight proximity modifier remesh

See #103789.

Pull Request: https://projects.blender.org/blender/blender/pulls/108721
2023-06-09 18:38:35 +02:00
Hans Goudey
d651ee69bd Cleanup: Use explicit default for corner normals optional parameter 2023-06-09 11:53:40 -04:00
Julian Eisel
11f1265066 Assets: Ignore ID type filter when not set
When no ID type filter is set, all ID types should be visible. Otherwise
there's no way to make all ID types visible when the filtering must be
called (e.g. because filtering by tags is to be applied).
2023-06-09 17:22:43 +02:00
Hans Goudey
250c9ccc10 Cleanup: Avoid using custom data type enum incorrectly
The data transfer code stored values not in the `eCustomDataType`
enum in this variable, so the type was incorrect. Instead use a cast
when we expect the value to be a valid enum value.
2023-06-09 11:10:40 -04:00
Hans Goudey
09a4cc1f1d Merge branch 'blender-v3.6-release' 2023-06-09 11:08:24 -04:00
Hans Goudey
6a3ca93c7e Fix #108788: Data transfer nearest interpolated broken
Copy and paste mistake in d0705bd697.
2023-06-09 11:07:49 -04:00
Bastien Montagne
9e36690f6b Merge branch 'blender-v3.6-release' 2023-06-09 16:59:26 +02:00
Bastien Montagne
44e4b5fe33 Fix (unreported) Object's particle 'foreach_id` potentially accessing other IDs data.
Spotted while investigating #107860: Interactions with timeline after undo makes Blender crash.
Cannot reproduce any more crashes from this report.
2023-06-09 16:58:35 +02:00
Julian Eisel
9879e3a84d UI: Quiet warning when setting panel type description from C
No user visible changes expected.

Assigning a string literal to `PanelType.description` would give a
warning, because ISO C requires these to be `const char *`. Wasn't used
so far, but will be with #104831.
2023-06-09 16:44:31 +02:00
Jeroen Bakker
b1b74eb335 Cleanup: make format 2023-06-09 16:28:00 +02:00
Brecht Van Lommel
5136e2a9f8 Compositor: add passes for non-viewport realtime compositor
Pull Request: https://projects.blender.org/blender/blender/pulls/108808
2023-06-09 16:21:42 +02:00
Falk David
26bad3b187 Curves: Add separate start and end amounts to Select Ends operator
This commit renames the `curve.select_end` operator to `curves.select_ends` and replaces the properties with a `amount_start` and `amount_end` property.

Pull Request: https://projects.blender.org/blender/blender/pulls/108799
2023-06-09 16:12:27 +02:00
Jeroen Bakker
2ee2ae93fb Vulkan: Initial Cube(Array) Support
This PR adds initial cube (array) support. Depending on how the texture
is used a different image view is created. When used as a framebuffer
attachment only a single side of the cubemap is attached. The image
view is attached as a 2d texture array. When used as a shader resource
the image view is a cubemap.

Also adds test cases to test both scenarios.

Pull Request: https://projects.blender.org/blender/blender/pulls/108794
2023-06-09 16:09:54 +02:00
Omar Emara
5400fe941e Realtime Compositor: Support Viewer nodes
This patch adds support for Viewer and File Output nodes to the realtime
compositor. The experimental render GPU compositor was also extended to
support viewers. While support for File Output nodes was added, it
remains unimplemented.

This is just an experimental implementation, the logic for viewers will
probably be changed once #108656 is agreed upon. Furthermore, the recalc
NODE_DO_OUTPUT_RECALC flags need to be taken into account to avoid
superfluous computations.

Pull Request: https://projects.blender.org/blender/blender/pulls/108804
2023-06-09 15:53:08 +02:00
Julian Eisel
eff642cd19 BPY / Asset System: Remove deprecated parameter in asset path query
This parameter was deprecated and ignored since ccc9eef1b9. Removing
this as part of breaking 4.0 changes, see #102877.
2023-06-09 15:37:44 +02:00
Julian Eisel
f2720bd8e9 Asset system: Remove unused asset handle API functions
These are now unused and it's not worth keeping them. There are some
other unused functions that are simple data getters, I'm keeping them in
in case they become useful again. The full asset handle API will be
removed as part of #108806.
2023-06-09 15:34:03 +02:00
Julian Eisel
e5dd515da8 Cleanup: Remove unnecessary asset handle forward declaration 2023-06-09 15:19:41 +02:00
Julian Eisel
92ff750bbf Refactor: Get rid of asset handle for drag & drop
`AssetHandle` is meant as temporary design and should be replaced by
`AssetRepresentation`. This moves us another step closer to that.

Rather than taking data from the volatile asset handle and storing that
in the drag data, store the (more persistent) asset representation there
and access data from it where needed.
2023-06-09 15:19:41 +02:00
Sergey Sharybin
03258f2847 Cleanup: Fix strict compilation warnings
Some code is not used anymore since the face map lists removal.

Pull Request: https://projects.blender.org/blender/blender/pulls/108803
2023-06-09 15:16:01 +02:00
Brecht Van Lommel
2efb3fc91a Fix build error with non-unity build 2023-06-09 14:44:08 +02:00
Julian Eisel
9b83e9b60c Refactor: Get rid of asset handle in most asset-list iterators
`AssetHandle` is meant as temporary design and should be replaced by
`AssetRepresentation`. This moves us another step closer to that.

There's now an iterator for the asset-list that provides an asset
representation instead of an asset handle. Use that whenever the
representation provides all necessary data (i.e. when no preview image
access is required).
2023-06-09 14:32:55 +02:00
Jacques Lucke
b8474d87b3 Merge branch 'blender-v3.6-release' 2023-06-09 14:19:27 +02:00
Jacques Lucke
5f7be257b8 Fix #107473: make links connected to unavailable sockets invalid
Such links shouldn't be considered at all. In fact, they might be removed
automatically in the future.
2023-06-09 14:14:47 +02:00