Commit Graph

103429 Commits

Author SHA1 Message Date
Miguel Pozo
40f93532bb Fix: EEVEE-Next: Irradiance Grid baking
Regression caused by e2cef1c713
2023-10-05 19:37:04 +02:00
Jason Fielder
57a3ab29cc Metal: EEVEE Next: Optimize Virtual shadow maps for Apple Silicon
Optimization of EEVEE Next's Virtual Shadow Maps for TBDRs.
The core of these optimizations lie in eliminating use of
atomic shadow atlas writes and instead utilise tile memory to
perform depth accumulation as a secondary pass once all
geometry updates for a given shadow view have been updated.

This also allows use of fast on-tile depth testing/sorting, reducing
overdraw and redundant fragment operations, while also allowing
for tile indirection calculations to be offloaded into the vertex
shader to increase fragment storage efficiency and throughput.

Authored by Apple: Michael Parkin-White

Co-authored-by: Michael Parkin-White <mparkinwhite@apple.com>
Co-authored-by: Clément Foucault <foucault.clem@gmail.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/111283
2023-10-05 19:02:39 +02:00
Bastien Montagne
acde11f159 Cleanup: wmJobs: Use defined startjob callback type everywhere.
For some reasons, `WM_jobs_stop` and `WM_jobs_kill` would use their own
'type' of function pointer - and not even a matching one!

Among (many) other reasons why this was bad, it required very stupid
casting from code using these functions - and made editing wmJob `startjob`
signature needlessly complicated.
2023-10-05 16:13:15 +02:00
Miguel Pozo
b4de568cc4 EEVEE-Next: Tests support
Enable tests for EEVEE Next.

As a workaround for allowing the use of EEVEE Next (still an
experimental feature) with `--factory-startup`, `arg_handle_engine_set`
enables the feature when `-E BLENDER_EEVEE_NEXT` is used.
In addition, EEVEE Next is always registered, so it's available when
calling `WM_init`.
If it's actually disabled, it will be immediately unregistered after that.

Notes:
- `get_gpu_device_type` always fails with error:
  > GPU API is not available in background mode
- Setup and tests are the same as EEVEE. There are many tests that
  only make sense for Cycles, and many EEVEE Next features that are
  not actually tested.

Pull Request: https://projects.blender.org/blender/blender/pulls/112161
2023-10-05 16:02:49 +02:00
Sergey Sharybin
361d4abbfc Merge branch 'blender-v4.0-release' 2023-10-05 15:18:05 +02:00
Sergey Sharybin
ba767610cf Fix #113280: Incorrect display of Cycles border render while rendering
A regression since d579ac2b3f.

Cycles delays allocation of the render buffers, which makes it impossible
to access effective render resolution during rendering. This was making the
drawing code to fall-back to the full scene resolution with only percentage
and crop accounted for.

This change makes it so an empty ImBuf is used to communicate the render
result resolution. It does not have any pixel buffer associated with it,
which actually matches the behaivor prior to the offending commit.

Pull Request: https://projects.blender.org/blender/blender/pulls/113282
2023-10-05 15:16:15 +02:00
Bastien Montagne
6aba08288b Merge branch 'blender-v4.0-release' 2023-10-05 14:40:28 +02:00
Damien Picard
730bb2ee3e I18n: make new bones and bone collections' names translatable
Newly created bones and bone collections get a default name. Like
other types of data, these names should be translated if the user
enabled the translation of new data in the preferences.

This commit adds the appropriate `DATA_()` macro:
- when creating a new armature;
- when creating a new bone;
- when creating a new bone collection through `ANIM_bonecoll_new()`;
- when ensuring that a new bone collection has a unique name;
- when renaming a bone collection;
- in the bone collection tests, to check that new bones have the
  expected translated name.

It also sets the default value of the bone name in the
`ARMATURE_OT_bone_primitive_add()` operator to a null string instead
of "Bone", so that the default name may be chosen while checking for
unique names, since an empty string will default to the translation.

Pull Request: https://projects.blender.org/blender/blender/pulls/113171
2023-10-05 14:38:51 +02:00
Sybren A. Stüvel
0e420ea7ba Merge remote-tracking branch 'origin/blender-v4.0-release' 2023-10-05 14:36:46 +02:00
Omar Emara
a609af06f9 Cleanup: Clarify the use of DrawDataList 2023-10-05 14:49:51 +03:00
Omar Emara
8860dc9910 Fix: GPU compositor always returns first view
The experimental GPU compositor always returned the first view in
multi-view rendering. This patch fixes that by also checking for the
view name of the context when searching for the appropriate pass.
2023-10-05 13:51:56 +03:00
Jeroen Bakker
355f457cd4 EEVEE-Next: Fix Reflection Probes Sampling
When the scene has reflection probes the sampling would be reset
each frame making the viewport always redraw and not resolve.

The reason was a logic error that was introduced when we introduced
a less flickering update for reflection probes.

Pull Request: https://projects.blender.org/blender/blender/pulls/113281
2023-10-05 11:27:31 +02:00
Jeroen Bakker
f1c0ec3c4b EEVEE-Next: Remove Unused Resources in Probe Capture Pipeline
The probe capture pipeline still had some bindings from the previous
implementation. This could result in overwriting the `gbuf_header_tx`
with the incorrect texture as it was sharing the same binding.

This PR removes the unused light probe bindings.

Pull Request: https://projects.blender.org/blender/blender/pulls/113276
2023-10-05 10:52:47 +02:00
Jeroen Bakker
3d1da2532b EEVEE-Next: Fix Crash With Exact 128 Resources
When the scene has exact 128 resources or a multiple in the scene
Blender crashes as the velocity buffer doesn't allocates the
right amount of space inside its buffer.

Pull Request: https://projects.blender.org/blender/blender/pulls/113277
2023-10-05 10:52:26 +02:00
Damien Picard
e773e0952a I18n: fix translation of Grease Pencil 3.0 layer names
The Grease Pencil 3.0 layers and groups were not properly translated:
- The layers and groups' names were translated during display in the
  layer list. Since they are data, they should be left untranslated at
  this time.
- On object creation, the names "GP_Layer", "Color", "Lines", and
  "Fills" were not translated at all.
  This adds DATA_() macros around to translate them if the user has
  enabled translation of new data names.
- The functions returning unique names for layers and groups
  unique_layer_group_name() and unique_layer_name() would return
  "GP_Layer" and "GP_Group" by default.
  These defaults are now translated.
- When adding new layers and groups, the name was always hardcoded to
  "GP_Layer" and "GP_Group" because the operators' properties for the
  names defaulted to that, and prop defaults cannot be translated.
  Instead, make them default to a null string, but choose an
  appropriate name when executing the op. This name is chosen by
  unique_layer_name() and unique_layer_group_name(), whose defaults
  are now translated.

Pull Request: https://projects.blender.org/blender/blender/pulls/112930
2023-10-05 10:51:31 +02:00
Campbell Barton
ad1f146735 Merge branch 'blender-v4.0-release' 2023-10-05 15:05:34 +11:00
Campbell Barton
325e8ea605 Merge branch 'blender-v4.0-release' 2023-10-05 15:05:31 +11:00
Campbell Barton
c1ee3f9759 UI: correct names for sequencer modifiers
The commit that de-duplicated arrays [0] changed the user visible names
since the names didn't match exactly.

[0]: 9f06aec32f
2023-10-05 15:03:31 +11:00
Campbell Barton
2cf8c7ecf4 Docs: note why the wait cursor isn't set for the startup file 2023-10-05 14:56:29 +11:00
Campbell Barton
6f23344a7a Merge branch 'blender-v4.0-release' 2023-10-05 13:58:49 +11:00
Campbell Barton
36056ba37a Merge branch 'blender-v4.0-release' 2023-10-05 13:58:46 +11:00
Campbell Barton
9d20632925 Cleanup: ensure trailing newline, delete trailing space 2023-10-05 13:57:14 +11:00
Campbell Barton
3859a08704 Cleanup: use the name 'ot' for wmOperatorType for unused arguments 2023-10-05 13:55:35 +11:00
Campbell Barton
de89decd77 Cleanup: include argument names in callbacks
While not essential it gives a hint to the naming conventions for
function arguments.
2023-10-05 13:45:19 +11:00
Campbell Barton
f5b71e5152 Cleanup: rename Global "lib" & "ima" for clarity
Rename members to make it clear they're for the last used file-paths:

- ima -> filepath_last_image
- lib -> filepath_last_library
2023-10-05 13:33:37 +11:00
Campbell Barton
ed7b7c2cde Merge branch 'blender-v4.0-release' 2023-10-05 13:16:23 +11:00
Campbell Barton
60b2b663cc Merge branch 'blender-v4.0-release' 2023-10-05 13:16:20 +11:00
Campbell Barton
222d7b9184 Merge branch 'blender-v4.0-release' 2023-10-05 13:16:15 +11:00
Campbell Barton
eafceab73b Merge branch 'blender-v4.0-release' 2023-10-05 13:16:12 +11:00
Campbell Barton
9d4dc5376c Fix #112377: Edit Source missing info in the status bar
Reports from the internal operator weren't forwarded to the Python
operator, they were printed in the console instead.

Resolve by moving the operator to C++, use a utility function
to launch the external editor instead of an operator.
2023-10-05 13:09:47 +11:00
Campbell Barton
c9130e38e3 Cleanup: spelling in comments 2023-10-05 13:07:58 +11:00
Campbell Barton
0e1eff96e2 Cleanup: use exec/invoke suffix for operator callbacks 2023-10-05 12:57:31 +11:00
Campbell Barton
291e54abfb Fix building WITH_PYTHON=OFF 2023-10-05 12:57:29 +11:00
Germano Cavalcante
bd6b7088bf Fix #112978: MacOS no longer has a path associated with the window
The problem was introduced in 636f3697ee

MacOS has a different way of handling the title.

In this OS the directory is searched and taken from the title string
which is then formatted.

This limits the title format and makes it prone to errors.

This commit makes the code more generic by splitting each component of
the title beforehand and allowing the associated directory to be informed
with `GHOST_SetTitle`.

Pull Request: https://projects.blender.org/blender/blender/pulls/113227
2023-10-05 02:26:11 +02:00
Germano Cavalcante
d6b2b5d0c5 Fix #112978: MacOS no longer has a path associated with the window
The problem was introduced in 636f3697ee

MacOS has a different way of handling the title.

In this OS the directory is searched and taken from the title string
which is then formatted.

This limits the title format and makes it prone to errors.

This commit makes the code more generic by splitting each component of
the title beforehand and allowing the associated directory to be informed
with `GHOST_SetTitle`.
2023-10-04 21:23:38 -03:00
Brecht Van Lommel
3bbd4294d9 Merge branch 'blender-v4.0-release' into main 2023-10-04 21:32:58 +02:00
Brecht Van Lommel
6f6fd99dbb Fix I/O debug message printed without debugging enabled 2023-10-04 21:30:41 +02:00
Harley Acheson
af91b3dd72 Cleanup: Make format
Just formatting changes from Make Format
2023-10-04 12:12:31 -07:00
Harley Acheson
544ef3baad Merge branch 'blender-v4.0-release' 2023-10-04 12:09:23 -07:00
ChengduLittleA
6d64c6dcd7 UI: Recognize CJK punctuation when selecting text
Add frequently-used Chinese, Japanese, Korean special character
delimiters (punctuation, quote characters, brackets, etc) to aid the
selection of character segments in text operations.

Pull Request: https://projects.blender.org/blender/blender/pulls/112852
2023-10-04 21:08:13 +02:00
Richard Antalik
0a12c5101b Merge branch 'blender-v4.0-release' 2023-10-04 19:51:44 +02:00
Germano Cavalcante
72a52520db Select Engine: Use C++ vector types for arrays
No functional changes.
2023-10-04 14:44:46 -03:00
Richard Antalik
dcf2c11d5e Fix build warning in previous commit 2023-10-04 19:44:14 +02:00
Germano Cavalcante
99a3a4a330 Cleanup: Move select engine headers to C++
See #103343

tmp
2023-10-04 14:34:12 -03:00
Richard Antalik
5daefe30e7 Merge branch 'blender-v4.0-release' 2023-10-04 19:28:57 +02:00
Richard Antalik
1b59571f6b Fix VSE retiming usability issues
Rename Retime Strips -> Toggle Retiming Keys
Gray out items in retiming menu instead of hiding
Remove selection operators from retiming menu
Gray out items in select menu when retiming
Prevent selecting keys, if overlay is disabled
Add show retiming keys toggle to sidebar time panel

ref https://projects.blender.org/blender/blender/issues/112343

Pull Request: https://projects.blender.org/blender/blender/pulls/113211
2023-10-04 19:27:28 +02:00
Jacques Lucke
d1a6b94ab8 Merge branch 'blender-v4.0-release' 2023-10-04 19:23:21 +02:00
Vasilis-Milios
6d1c5790d5 Fix #113194: show the single value for sockets of type field
Pull Request: https://projects.blender.org/blender/blender/pulls/113244
2023-10-04 19:21:07 +02:00
Sergey Sharybin
d7a21d0199 Merge branch 'blender-v4.0-release' 2023-10-04 18:10:50 +02:00
Sergey Sharybin
92647bdbdd Fix light linking state being lost on collection copy and duplicate
This preserves the light linking state when collection is copied manually
via the copy-paste or duplicate functionality, but also should fix the
problem of lost light linking state when adding a collection override.

Pull Request: https://projects.blender.org/blender/blender/pulls/113243
2023-10-04 18:10:09 +02:00