1
0
Fork 0
Commit Graph

5706 Commits

Author SHA1 Message Date
Allen Pestaluky 77ddaaaa91 Fix AgX sigmoid contrast curve approximation
This changes the polynomial function so that a lower input always results in a lower output and vice-versa. Additionally, the new function returns a value that is much closer to 1.0 when given an input of 1.0.
2025-01-10 18:17:38 -05:00
Rémi Verschelde 139619ca0c Merge pull request #101355 from akien-mga/style-clang-format-InsertBraces
Style: Enable clang-format's `InsertBraces` config
2025-01-10 23:06:15 +01:00
Rémi Verschelde 867425fd62 Merge pull request #101021 from bruvzg/empick
[macOS/Windows] Add `Emoji & Symbols` context menu item to LineEdit/TextEdit to show system character picker.
2025-01-10 23:06:03 +01:00
Rémi Verschelde 3014eec40d Merge pull request #99407 from devloglogan/rec-resolution
Allow using custom `Rect2i` for rendering with OpenXR
2025-01-10 23:05:46 +01:00
Pāvels Nadtočajevs b252867145 [macOS/Windows] Add `Emoji & Symbols` context menu item to LineEdit/TextEdit to show system character picker. 2025-01-10 09:25:34 +02:00
Rémi Verschelde 469808f66b Merge pull request #101112 from clayjohn/skyrd-fov
Ensure Sky with custom fov has correction matrix applied to it in RD renderers
2025-01-09 20:51:26 +01:00
Rémi Verschelde 5240e60509 Merge pull request #101344 from DarioSamo/union-order-fix
Fix union order to simplify empty initializers.
2025-01-09 17:07:23 +01:00
Rémi Verschelde 03c83cea1e Style: Enable clang-format's `InsertBraces` config
This was part of our style guide since we started using clang-format
but the feature was only added in clang-format 15, and we hadn't
noticed it yet.
2025-01-09 16:46:51 +01:00
devloglogan e7f6b7ea0b Allow using custom Rect2i for rendering with OpenXR 2025-01-09 09:46:15 -06:00
Dario 0e06eb80bc Fix union order to simplify empty initializers. 2025-01-09 10:39:13 -03:00
Dario 1af1edf60c Fix duplicated spec constant on SPIR-V reflection. 2025-01-09 10:27:38 -03:00
Rémi Verschelde e1a1acc66b Merge pull request #101279 from akien-mga/audio-pitch-shift-fix-gcc-warning
Fix GCC warning about potential stringop-overflow in AudioEffectPitcShift
2025-01-09 11:17:31 +01:00
Rémi Verschelde a659548946 Merge pull request #101298 from stuartcarnie/rendering_server
Renderer: Minor optimisation when running `gl_compatibility` mode
2025-01-08 18:20:11 +01:00
Rémi Verschelde 21721ae344 Merge pull request #87260 from Calinou/tonemap-add-agx
Add AgX tonemapper option to Environment
2025-01-08 18:20:03 +01:00
Stuart Carnie abd0e6990c Renderer: minor optimisation when running `gl_compatibility` mode 2025-01-08 09:43:35 -07:00
Hugo Locurcio 084e84be78
Add AgX tonemapper option to Environment
Technical implementation notes:

- Moved linearization step to before the outset matrix is applied and
  changed polynomial contrast curve approximation.
  - This does *not* implement Blender's chroma rotation to address hue shift.
    This hue rotation was found to have a significant performance impact.
- Improved performance by combining the AgX outset matrix with the Rec 2020 matrix.

Co-authored-by: Allen Pestaluky <allenpestaluky@gmail.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2025-01-08 17:01:16 +01:00
Aarni Koskela f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
Rémi Verschelde 6f4089fa55 Fix GCC warning about potential stringop-overflow in AudioEffectPitchShift
Fixes #101236.
2025-01-08 10:40:17 +01:00
Rémi Verschelde a0c3798fba Merge pull request #101210 from clayjohn/headless-export-shader
Save instance and global uniform data in RenderingServerDummy
2025-01-07 23:18:09 +01:00
Rémi Verschelde 21fdf1678a Merge pull request #101193 from clayjohn/FSR-y-aspect
Correct aspect ratio used in FSR2 calculations
2025-01-07 23:18:04 +01:00
Rémi Verschelde 558a18fbb7
Merge pull request #101198 from Calinou/editor-metalfx-show-options-on-all-platforms
Show MetalFX options in the Scaling 3D Mode enum on all platforms
2025-01-07 10:14:54 +01:00
Rémi Verschelde 6d5e47a54c
Merge pull request #100532 from bruvzg/win_size_drag
Implement `DisplayServer.window_start_resize`.
2025-01-07 10:14:42 +01:00
Rémi Verschelde 084da581be
Merge pull request #100241 from lander-vr/reflection-probe-priority
Add priority-based blending to reflection probes.
2025-01-07 10:14:38 +01:00
bruvzg cc1db569e1 [TextServer] Improve embedded objects handling performance. 2025-01-07 08:01:29 +02:00
Pāvels Nadtočajevs 7f0b4e58b0 Implement `DisplayServer.window_start_resize`. 2025-01-07 07:58:02 +02:00
clayjohn 49846cf79a Save instance and global uniform data in RenderingServerDummy so they can be exported with headless exports 2025-01-06 19:25:11 -08:00
Hugo Locurcio 865acd0129
Show MetalFX options in the Scaling 3D Mode enum on all platforms
Previously, the MetalFX scaling modes were only displayed in the
`macos` and `ios` feature tag overrides if the editor had Metal support
enabled. However, this is only available on the macOS editor, which caused
two issues:

- You couldn't set the 3D scaling mode to MetalFX for `macos` or `ios`
  if you were using the editor on another platform.
- If you opened a project that was last edited on macOS with MetalFX scaling
  modes set for these overrides, it would show an unknown value or revert
  to the default when saving to the project (as the enum value didn't exist
  anymore on your end).
2025-01-07 01:06:41 +01:00
clayjohn 25a9b04ecc Correct aspect ratio used in FSR2 calculations to remove a source of depth-based ghosting 2025-01-06 14:00:58 -08:00
Rémi Verschelde 0f76ee4688
Merge pull request #101110 from clayjohn/light2d-rect-fix
Update Light2D `rect_cache` even when not using shadows.
2025-01-06 22:49:01 +01:00
Rémi Verschelde e169842dd5
Merge pull request #101097 from adamscott/fix-stopping-active-audio-playback
Stop AudioStreamPlayback only if it's not playing
2025-01-06 22:48:46 +01:00
Rémi Verschelde 62ea2f76b4
Merge pull request #101069 from DarioSamo/rd-thread-safety-comment
Remove TODO from RenderingDevice regarding thread safety.
2025-01-06 22:48:28 +01:00
Rémi Verschelde ddb01528ea
Merge pull request #100956 from Geometror/dont-toast-shader-code
Don't toast shader code
2025-01-06 22:48:05 +01:00
Rémi Verschelde f5d21154d2
Merge pull request #100892 from syntaxerror247/patch-1
Warn if `virtual_keyboard_get_height()` is unsupported
2025-01-06 22:47:49 +01:00
Rémi Verschelde af01694779
Merge pull request #100492 from bruvzg/txt_mbrk_trim
[TextServer] Fix space trimming around mandatory line breaks.
2025-01-06 22:47:38 +01:00
Rémi Verschelde 399f585042
Merge pull request #99603 from stuartcarnie/metal_fx_upscaling
Metal: Add MetalFX upscaling support
2025-01-06 22:47:08 +01:00
Stuart Carnie 11dc4f2e5e Metal: Add MetalFX upscaling support
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-06 06:03:18 -07:00
Hendrik Brucker c0eae103e2 Don't toast shader code 2025-01-05 13:19:45 +01:00
Pāvels Nadtočajevs e1f129cb52 Support MIME types in file dialog filters on macOS and Linux. 2025-01-04 22:05:35 +02:00
clayjohn 96ce5c0001 Ensure Sky with custom fov has correction matrix applied to it in RD renderers 2025-01-03 17:11:02 -08:00
clayjohn 7e8facc526 Update Light2D rect_cache even when not using shadows.
This also cleans up how the rect_cache is updated to make the steps more clear
2025-01-03 16:17:58 -08:00
Adam Scott a12c1d3ddb
Stop AudioStreamPlayback only if it's not playing 2025-01-03 16:26:08 -05:00
Dario dea083864b Remove TODO from RenderingDevice regarding thread safety. 2025-01-03 10:26:44 -03:00
Rémi Verschelde 21e6671740
Merge pull request #100937 from Repiteo/style/clang-format-sync
Style: Enforce `AllowShortFunctionsOnASingleLine`
2025-01-03 00:49:44 +01:00
Rémi Verschelde 19a7b466c2
Merge pull request #100848 from BlueCube3310/astc-improvements
astcenc: Misc improvements and optimizations
2025-01-03 00:49:22 +01:00
Rémi Verschelde dd7d36e803
Merge pull request #100770 from hpvb/command-queue-mt
Core: Refactor CommandQueueMT to use vararg templates for performance and maintainability
2025-01-03 00:49:02 +01:00
Rémi Verschelde 0d710da96c
Merge pull request #98554 from Calinou/add-property-hint-ranges
Add more property hint ranges for project settings
2025-01-03 00:47:59 +01:00
Thaddeus Crews e06d83860d
Style: Enforce `AllowShortFunctionsOnASingleLine` 2025-01-02 10:09:41 -06:00
HP van Braam cccd2432c3 Refactor CommandQueueMT to use vararg templates
In order to make CommandQueueMT more maintainable this PR changes the
previous macro hell with variadic templates instead. This makes the
class far more explicit and will allow us to more easily change the way
the class functions in the future.

Furthermore this refactoring has allowed for some optimizations. In
particular by using std::forward to delay the decision of decaying the
type to as late as possible we are able to move the data from the
callsite into our Command buffer and later move it to the call.

In practice what this means is that compared to the old version instead
of copying values 3 times, we can now get away with 1 copy, and 1 move
for lvalues, and just 2 moves for rvalues. This saves quite a few
operations in a hot codepath.

We also now test to make sure that the amount of copies and moves are
what we expect. This way we can spot performance regressions in this
code easily.

Somewhat unscientifically, running TPS-demo by pressing enter and not
touching the controls average mspf, repeatable across many runs:

before: 6.467
after : 6.202
2025-01-02 15:35:08 +01:00
BlueCube3310 6f363b989a astcenc: Misc improvements and optimizations 2024-12-31 14:25:14 +01:00
Thaddeus Crews 13992bbf7b
Merge pull request #100766 from stuartcarnie/metal_crash
Metal: Fix crash when uniform set is empty for slot binding mode
2024-12-30 08:58:51 -06:00