Commit Graph

4761 Commits

Author SHA1 Message Date
Yuri Sizov c7210674b8 Merge pull request #86772 from Rindbee/display-functions-in-profiler
Display functions that were previously forgotten in Profiler
2024-01-22 20:38:46 +01:00
Yuri Sizov e95456b7f3 Merge pull request #86073 from m4rr5/add_reflection_mask
Add a reflection mask to the reflection probes
2024-01-22 20:38:37 +01:00
Marcel Offermans 25f573ca63 Add a reflection mask to the reflection probes.
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-01-20 08:07:31 +01:00
clayjohn ed2b3d358d Add basic multimesh data needed for headless export to the Dummy rendering server 2024-01-19 17:21:55 -08:00
Rémi Verschelde 0bcc0e92b3
Merge pull request #86730 from reduz/64-bit-cowdata
Promote CowData to 64 bits
2024-01-19 18:46:11 +01:00
Juan Linietsky 24fe0715b5 Promote CowData to 64 bits
Fixes a lot of bugs, please help me fill the list.
2024-01-19 17:41:10 +01:00
A Thousand Ships 2a372186ec
Null check improvements 2024-01-19 12:50:21 +01:00
Dario 5624b8f5c6 Fix memory leak from not clearing the buffer barrier vector properly on the render graph. 2024-01-18 15:23:13 -03:00
bruvzg 476331eef3
[TextServer] Fix precision loss in the string drawing methods. 2024-01-18 15:33:05 +02:00
Adam Scott bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread 2024-01-17 13:58:29 -05:00
Rémi Verschelde 5b19796a2b
Merge pull request #87207 from jsjtxietian/fix-normal_roughness_compatibility
Add missing check when insert function `normal_roughness_compatibility`
2024-01-16 10:37:37 +01:00
Rémi Verschelde 3df0c5be6a
Merge pull request #86473 from reduz/audio-playback-parameters
Implement audio stream playback parameters.
2024-01-16 10:35:36 +01:00
Juan Linietsky a40fe16866 Implement audio stream playback parameters.
Implements a way for audio stream playback to be configured via parameters
directly in the edited AudioStreamPlayer[2D/3D].

Currently, configuring the playback stream is not possible (or is sometimes hacky
as the user has to obtain the currently played stream, which is not always immediately available).

This PR only implements this new feature to control looping in stream playback instances (a commonly requested feature, which was lost in the transition from Godot 2 to Godot 3).
But the idea is that it can do a lot more:

* If effects are bundled to the stream, control per playback instance parameters such as cutoff or resoance, or any other exposed effect parameter per playback instance.
* For the upcoming interactive music PR (#64488), this exposes an easy way to change the active clip, which was not possible before.
* For the upcoming parametrizable audio support (https://github.com/godotengine/godot-proposals/issues/3394) this allows editing and animating audio graph parameters.

In any case, this PR is required to complete #64488.

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/minimp3/audio_stream_mp3.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update modules/vorbis/audio_stream_ogg_vorbis.h

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update doc/classes/AudioStream.xml

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-01-16 10:31:52 +01:00
kleonc 0fe7eead02 Fix 2D normals for transposed texture 2024-01-15 17:34:29 +01:00
Rémi Verschelde bf7e19887e
Merge pull request #87096 from jsjtxietian/save-to-cache
Add `shader_cache_dir_valid` check to `_save_to_cache`
2024-01-15 13:29:03 +01:00
Rémi Verschelde 03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
jsjtxietian 747ae429de Add missing check when insert function `normal_roughness_compatibility` 2024-01-15 17:22:19 +08:00
Juan Linietsky 15144c24bd Implement a transient_to_focused mode
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.

This deprecates the "unparent_when_invisible" function introduced by #76025.
2024-01-14 18:51:44 +01:00
Griffin Kroah-Hartman 21ae69a1de fix build warning with memset value being too large
same resolution for issue #83342 for texture_storage.cpp
2024-01-13 19:05:38 +01:00
jsjtxietian a365c070b3 Add shader_cache_dir_valid check to _save_to_cache 2024-01-12 17:34:33 +08:00
Rémi Verschelde c5025ea157
Merge pull request #87057 from clayjohn/RD-32-bit-depth
Default to 32-bit depth map on Forward+ renderer and 24-bit only on Mobile renderer
2024-01-11 17:42:38 +01:00
Rémi Verschelde bf4fb987e6
Merge pull request #87035 from Mickeon/deprecate-RenderingServer-has-feature
Deprecate RenderingServer's `has_feature` and Features enum
2024-01-11 17:41:50 +01:00
Rémi Verschelde 087a397477
Merge pull request #86301 from KoBeWi/deferred_cleanup
Update deferred calls to use Callables
2024-01-11 17:36:29 +01:00
clayjohn 7b355a128c Default to 32-bit depth map on Forward+ renderer and 24-bit only on Mobile renderer 2024-01-10 12:23:59 -08:00
Micky 63a08f2493 Deprecate RenderingServer's `has_feature` and Features enum 2024-01-10 12:26:04 +01:00
Rémi Verschelde 74f3d168c8
Merge pull request #87022 from DarioSamo/clear_region_continue_fix
Fix incorrect mapping of initial action as clear region continue to clear.
2024-01-10 12:03:45 +01:00
Rémi Verschelde a40a134a1e
Merge pull request #86996 from BastiaanOlij/fix_stereo_ssr
Fix SSR not working properly in stereo
2024-01-10 12:03:37 +01:00
Dario 80eacf1b7a Fix incorrect mapping of initial action as clear region continue to clear. 2024-01-09 22:03:21 -03:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Patrick Dawson a0f9bcc826 Fix usage of index offsets in RenderingDevice 2024-01-09 15:47:52 +01:00
Rémi Verschelde 673102ffd8
Merge pull request #85520 from YuriSizov/rendering-gracefully-leak-canvas-items
Avoid crashes when engine leaks canvas items and friends
2024-01-09 15:30:55 +01:00
Bastiaan Olij 10a8b88165 Fix SSR not working properly in stereo 2024-01-09 23:19:57 +11:00
Rémi Verschelde a50a6b9400
Merge pull request #86798 from Mickeon/autocompletion-rendering-server
Add autocompletion for RenderingServer's global shader methods & `has_os_feature`
2024-01-09 11:27:31 +01:00
Dario cc4d39b0c1 Acyclic Command Graph for RenderingDevice.
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
Rémi Verschelde 25011e9144
Merge pull request #84244 from BastiaanOlij/skip_present_if_needed
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 14:52:07 +01:00
Micky 472e3b3ad5 Add autocompletion for RenderingServer's global shader & has_os_feature 2024-01-08 12:20:31 +01:00
Rémi Verschelde 5ac5be4744
Merge pull request #86507 from jsjtxietian/fix-msvc-2017
Fix MSVC 14.1 complaining about "attempting to reference a deleted function" in RenderPassClearValue
2024-01-08 11:54:17 +01:00
Rémi Verschelde 798632422d
Merge pull request #86245 from ecmjohnson/fix-skeleton-culling
Check skeleton RID when using cached AABB
2024-01-08 11:52:41 +01:00
Bastiaan Olij d6caa69e11 Skip swapchain logic if there is nothing to present (Android OpenXR) 2024-01-08 21:51:04 +11:00
Muller-Castro 96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
风青山 3d3c4e87c7 Display functions that were previously forgotten in Profiler
The array data in `add()` contains these data, but some data may
have been forgotten to be converted into `ServerFunctionInfo`.

This results in some information not being displayed in the Profiler.
2024-01-04 17:19:26 +08:00
Rémi Verschelde ca7fb29203
Merge pull request #84800 from gshadows/fix_options_range
Fix unlimited project option ranges that could cause crashes.
2024-01-03 09:59:31 +01:00
Rémi Verschelde 7abaac631b
Fixup SDFGI shader compilation error after #80390
My mistake, I added this when rebasing and didn't notice that it was a
.glsl file and thus the availability of Math was not confirmed by the
C++ compiler.
2024-01-03 08:51:08 +01:00
Rémi Verschelde 07b88600b7
Merge pull request #86522 from RandomShaper/fix_uset_rebind
RenderingDevice: Fix uniform sets wrongly assumed to be bound
2024-01-02 21:32:25 +01:00
Rémi Verschelde ad10b0717d
Merge pull request #86584 from MJacred/fix/audio_server_set_playbyck_stream
Fix `AudioServer::start_playback_stream` does not iterate through given `p_bus_volumes`
2024-01-02 18:05:44 +01:00
Rémi Verschelde 14b1bb47a7
Merge pull request #86570 from RandomShaper/remove_traces_of_rid_prealloc
Remove traces of the extinct RID preallocate feature
2024-01-02 18:05:41 +01:00
Rémi Verschelde e42d615471
Merge pull request #85421 from xiongyaohua/fix_parameter_names
Unify parameter names for 'RendererCanvasCull'
2024-01-02 15:08:53 +01:00
Rémi Verschelde 5f97e40e3e
Merge pull request #85393 from SomeRanDev/master
Fix PhysicsShapeQueryParameters3D.motion type wrongly set to Vector2
2024-01-02 15:08:50 +01:00
EddieBreeg 8747c67d9e
Fix potential integer underflow in rounded up divisions
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.

Fixes #80358.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
Robert Borghese 7bf88df324
Fix PhysicsShapeQueryParameters3D.motion type wrongly set to Vector2 2024-01-02 12:30:35 +01:00
MJacred e81887f996 Fix AudioServer::start_playback_stream does not iterate through given p_bus_volumes 2023-12-28 18:00:37 +01:00
Pedro J. Estébanez c217041afd Remove traces of the extinct RID preallocate feature 2023-12-28 10:18:05 +01:00
Pedro J. Estébanez 1c5c8cf6ff RenderingDevice: Fix uniform sets wrongly assumed to be bound 2023-12-26 13:12:32 +01:00
jsjtxietian 5d361a9e39 Fix msvc 14.1 complains about "atempting to reference a deleted function"
in RenderPassClearValue
2023-12-25 18:52:06 +08:00
Yaohua Xiong 795fe74143 unify parameter names for 'RendererCanvasCull' 2023-12-24 10:18:34 +08:00
Yuri Sizov 44ded3eaa4 Merge pull request #86316 from clayjohn/RD-BFN-normals
Use best fit normals for storing screen space normals
2023-12-22 17:19:58 +01:00
Yuri Sizov 6b403712f1 Merge pull request #83655 from golfinq/small-capsule-shape-fix
Replace confusing code in GodotCapsuleShape2D::get_supports
2023-12-22 17:19:48 +01:00
G-Shadow cbc8ae660c Fix unlimited project option ranges that could cause crashes. 2023-12-22 09:14:45 +03:00
clayjohn 43cf21cb71 Use best fit normals for storing screen space normals 2023-12-21 14:41:29 -07:00
Occalepsus 492f1c2406 Fix body leaving area gravity influence 2023-12-21 16:10:02 +01:00
Yuri Sizov 3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez 12a519bae2 Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Yuri Sizov 34ecfff672 Avoid crashes when engine leaks canvas items and friends 2023-12-20 13:19:46 +01:00
Yuri Sizov dee2604d99 Merge pull request #84729 from nickyfoo/add-navigationserver-getters
Add missing getters to navigation servers
2023-12-19 20:32:46 +01:00
Nicholas Foo e7ee672120 Add getters to navigation servers
Add virtual functions and bind to navigation servers
Implement getters
Add documentation
2023-12-19 19:51:49 +01:00
msreis f1cc14d525 Fix missing time for some script functions in profiler
Fixes the issue by adding a mechanism by which the functions that were
previously disappearing can be profiled too. This is optional with
an editor setting, since collecting more information naturally slows the engine
further while profiling.

Fixes #23715, #40251, #29049
2023-12-19 19:42:21 +01:00
Yuri Sizov 644e236e5c Merge pull request #83987 from bruvzg/macos_window_and_help
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-18 18:17:41 +01:00
Yuri Sizov c1d8b53ca0 Merge pull request #82668 from mrjustaguy/master
Improve split blending logic for Vulkan
2023-12-18 18:17:36 +01:00
Erik Johnson d874ead58d Check skeleton RID when using cached AABB 2023-12-17 11:43:49 -05:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Yuri Sizov 2d0ee20ff3 Merge pull request #86219 from clayjohn/RD-samplers-hotfix
Reduce the number of samplers used by the scene shaders
2023-12-16 17:50:10 +01:00
Yuri Sizov ef94545658 Merge pull request #84169 from BastiaanOlij/vulkan_mobile_merge_passes
Merge passes in Vulkan mobile renderer
2023-12-16 17:49:27 +01:00
clayjohn a5399ab5af Reduce the number of samplers used by the scene shaders
The hard limit for Apple devices is 16 samplers per stage. So we need to ensure we use less than that
2023-12-15 17:13:44 -07:00
Bastiaan Olij 22cd145177 Merge passes in Vulkan mobile renderer 2023-12-16 09:51:35 +11:00
风青山 ea30aabfb1 Clear monitoring in `Area*` when its space changes to invalid
So that it can work properly when the space changes to valid again.

Change `space` in advance to prevent disabled areas from being queried again.
2023-12-15 20:54:54 +01:00
Yuri Sizov 4269a57b0c Merge pull request #85387 from jsjtxietian/fix-forward-plus-crash
Use render method from OS instead of project settings in compositor RD
2023-12-14 17:38:43 +01:00
jsjtxietian 453c2246b6 Use render method from OS in compositor RD; Update related UI 2023-12-14 11:38:46 +08:00
bruvzg 0d44b50520
[macOS] Add default Window and Help menus, allow special menu customization. 2023-12-13 23:20:05 +02:00
Wilson E. Alvarez 80fb8db31f
Remove unnecessary assignments
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Rémi Verschelde 342531597b
Merge pull request #85811 from clayjohn/2D-render-info
Implement render info counters for the 2D renderer
2023-12-12 10:41:06 +01:00
Rémi Verschelde 4943b6e6b3
Merge pull request #84451 from ShirenY/FixSkeletonMeshCulling
Transform mesh's AABB to skeleton's space when calculating mesh's bounds
2023-12-12 00:16:51 +01:00
Rémi Verschelde 4e2350b1af
Merge pull request #82661 from bruvzg/custom_ellipsis
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback.
2023-12-12 00:15:34 +01:00
Rémi Verschelde 9eb47ce361
Merge pull request #75098 from smix8/map_random_point_queries_4.x
Add NavigationServer random point queries
2023-12-12 00:15:05 +01:00
ShirenY 27f71c4e78 Transform mesh's AABB to skeleton's space when calculate mesh's bounds. 2023-12-09 11:41:15 +08:00
Yuri Sizov 5c95fd5905 Merge pull request #85793 from Lasuch69/expose-compute
Expose `copy_effects` compute shader in Mobile backend
2023-12-08 18:46:03 +01:00
Yuri Sizov 07677f0f51 Merge pull request #85885 from YuriSizov/bench-pressing
Improve engine startup/shutdown benchmarks
2023-12-08 17:12:26 +01:00
Yuri Sizov 74b6fad3c8 Merge pull request #85822 from bruvzg/maco_dbl
Fix CanvasOcclusionShaderRD format error with double precision build.
2023-12-08 16:58:59 +01:00
Yuri Sizov ee1bf15924 Merge pull request #84637 from clayjohn/RD-sampler-bias
Use render pass uniform set to store viewport samplers.
2023-12-08 15:23:18 +01:00
Yuri Sizov dfe0f584b4 Merge pull request #82953 from jsjtxietian/document-forcedraw-can-only-be-called-from-main-thread
Add thread guard for `force_draw` and update related documentation
2023-12-08 15:22:53 +01:00
Yuri Sizov fc3f40f37d Improve engine startup/shutdown benchmarks
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.

Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
2023-12-08 12:53:04 +01:00
smix8 64a56245d8 Add NavigationServer random point queries
Adds query functions to get random points on navigation mesh to the NavigationServer.
2023-12-08 00:18:05 +01:00
clayjohn 528b4a3283 Implement render info counters for the 2D renderer
This provides information for the debug monitors
2023-12-06 14:39:33 -07:00
bruvzg c0a1c5ae61
Fix CanvasOcclusionShaderRD format error with double precision build. 2023-12-06 23:03:12 +02:00
Lasuch 608d41a969 Expose copy_effects copy compute shader in Mobile backend 2023-12-05 21:22:46 +01:00
Rémi Verschelde 7b2b408410
Merge pull request #85646 from aaronfranke/mesh-surf-arr-msg
Add a descriptive error message when creating a mesh surface from the wrong array type
2023-12-04 23:21:11 +01:00
Rémi Verschelde 4c3d95e02c
Merge pull request #85635 from clayjohn/RD-ReflectionProbes-mobile
Set ReflectionProbe frame before mapping id in mobile renderer
2023-12-04 23:20:47 +01:00
Rémi Verschelde 7113050e0b
Merge pull request #84241 from jsjtxietian/fix-render-method-crash-on-bad-input
Fix bad parameter for `rendering_method` crashes Godot
2023-12-04 23:02:21 +01:00
Rémi Verschelde 6f4da7a976
Merge pull request #83736 from darksylinc/matias-broken_buffer_update
Fix buffer updates going to the wrong cmd buffer if barriers were 0
2023-12-04 22:58:24 +01:00
bruvzg 56579f397d
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback. 2023-12-04 08:21:42 +02:00