1
0
Fork 0
Commit Graph

5502 Commits

Author SHA1 Message Date
Chaosus 155cf6a5b6 Add `#error` preprocessor directive to shading language 2024-10-18 10:56:58 +03:00
Clay John 0ce4d8fcd3
Merge pull request #98086 from DarioSamo/transfer-queues-semaphores
Rewrite semaphore handling for transfer workers.
2024-10-17 16:54:43 -07:00
Clay John a2117f5796
Merge pull request #98187 from EnlightenedOne/98102
Fix Mobile Renderer - Shadow Disabled and User Vertex Lighting flags
2024-10-17 16:37:09 -07:00
Dario 7a936e8bac Rewrite semaphore handling for transfer workers. 2024-10-17 14:07:08 -03:00
yesfish 274076c5be Lightmap Dynamic Bugfix 2024-10-17 16:27:30 +01:00
Yuri Rubinsky ad7e7a51b2 Allow usage of `discard` inside custom shader functions 2024-10-17 16:06:33 +03:00
Yuri Rubinsky 74c000db17 Allow using stage functions inside custom shader functions 2024-10-17 15:47:01 +03:00
Lain 4e6d9813b2 Add support for BGRA textures with Texture*RD
This adds the ability to use BGRA textures created with RenderingDevice
with classes such as Texture2DRD.
2024-10-16 22:31:43 -07:00
Rudolph Bester ed3f990952 Alternative fix to occlusion culling where all math is based on Euclidean distance. 2024-10-17 05:59:37 +02:00
m-pranav-r c12001a9dc Fix incorrect depth comparison used to calculate volumetric fog shadowing 2024-10-16 14:55:41 +05:30
kleonc 8d3e9aa7ae Revert incorrect rounding when 2D transform snapping 2024-10-15 10:43:42 +02:00
EnlightenedOne cef515506b Move preprocessor to end of line for iterator, remove redeclaration incompatible with ubershader method definitions 2024-10-14 22:19:16 +01:00
Thaddeus Crews af77100e39
Merge pull request #92441 from Chaosus/shader_custom_func_overloads
Implement custom function overloading in shading language
2024-10-14 14:09:59 -05:00
Thaddeus Crews 32cc2feba2
Merge pull request #93025 from kleonc/y-sort-physics-interpolation
Account for physics interpolation and transform snapping when Y-sorting
2024-10-14 14:09:30 -05:00
Thaddeus Crews bb20444998
Merge pull request #97744 from Nazarwadim/use_local_vector_for_skeleton
Use `LocalVector` for skeleton
2024-10-10 18:13:19 -05:00
Yuri Rubinsky 1c86feee0a Implement custom function overloading in shading language 2024-10-08 15:54:00 +03:00
Clay John 842f982397
Merge pull request #96819 from clayjohn/GLES3-instance-uniforms
Implement instance uniforms in Compatibility renderer
2024-10-07 13:41:47 -06:00
David Snopek 256699ee31 OpenXR: Add support for Wayland on Linux 2024-10-04 11:44:05 -05:00
DarioSamo fa1aacb455 Configure MSAA properly in canvas renderer's pipelines. 2024-10-04 10:45:59 -03:00
Rémi Verschelde 5ac62a6863
Merge pull request #97743 from bruvzg/has_kbd
[DisplayServer] Implement `has_hardware_keyboard` method for Android and iOS.
2024-10-04 11:22:02 +02:00
clayjohn 65f3df5923 Properly utilize surface information when creating pipelines and vertex arrays in canvas renderer 2024-10-03 16:27:14 -07:00
Dario e2c6daf7ef Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590.
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
Nazarii 1ba168fcbc Use local vector for skeleton 2024-10-02 20:38:40 +03:00
bruvzg 25f439c573
[DisplayServer] Implement has_hardware_keyboard method for Android and iOS. 2024-10-02 20:09:48 +03:00
Hugo Locurcio 4a70ac2948
Expose RenderingServer methods to get rendering driver and method name
This is useful for troubleshooting purposes and debug menus.
2024-10-02 16:07:45 +02:00
Rémi Verschelde 34913f2781
Merge pull request #97698 from Calinou/displayserver-can-create-rendering-device-add-caching
Add caching to `DisplayServer::can_create_rendering_device()`
2024-10-02 15:01:30 +02:00
BigPotatoAss 623dc97064 Fixed _stop() not being called when stop() is called 2024-10-02 10:00:10 +03:30
Hugo Locurcio 62753701fd
Add caching to `DisplayServer::can_create_rendering_device()`
This greatly speeds up the method when using the Compatibility rendering
method, where this method is not guaranteed to return `true` in that case.
2024-10-01 19:43:46 +02:00
Patrick Owen d720eb80e1 Clamp UV-coordinates to centers of outermost texels when configured to do so
In addition, fix region_filter_clip_enabled documentation to be consistent with AtlasTexture.xml, since that is the option whose behavior was fixed
2024-09-29 05:57:19 -04:00
Rémi Verschelde 99aec99421
Merge pull request #97534 from j20001970/camerafeed-setter
Expose CameraFeed setters
2024-09-29 00:47:09 +02:00
Rémi Verschelde 285ebed828
Merge pull request #83360 from ywmaa/vertex_shading
Implement vertex shading
2024-09-29 00:46:48 +02:00
Rémi Verschelde e7a9104f37
Merge pull request #97554 from clayjohn/batching-uniform-sets
Combine texture and instance data into one uniform set in the 2D renderer
2024-09-29 00:46:44 +02:00
ywmaa 0a9ad8f9de
Implement vertex shading
This adds support in all backends, but the Compatibility renderer works the best.
Mobile and Forward+ can only support one directional light shader (the first in the tree)
While the Compatibility renderer supports any number of shadows.

Co-authored-by: Clay John <claynjohn@gmail.com>
2024-09-29 00:36:09 +02:00
clayjohn 4d635b7a3a Combine texture and instance data into one uniform set in the 2D renderer
Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
2024-09-27 11:05:46 -07:00
Jason Kuo 38d7ec1640 Expose CameraFeed setters 2024-09-27 20:07:36 +08:00
Rémi Verschelde 8a9a26ef19
Merge pull request #93311 from dsnopek/gdextension-required-virtuals
GDExtension: Mark virtual function as `is_required` in `extension_api.json`
2024-09-27 13:53:16 +02:00
Rémi Verschelde a4c1804cab
Merge pull request #97483 from akien-mga/clang-format-19.1.0
CI: Update `clang-format` pre-commit hook to 19.1.0
2024-09-26 12:46:04 +02:00
Rémi Verschelde b64b464ba7
Merge pull request #97481 from Chaosus/shader_fix_void_return
Fix shader crash when return a void function call
2024-09-26 12:46:01 +02:00
Rémi Verschelde bfe74eca3b
Merge pull request #97428 from clayjohn/shadow-filter-jitter-rebase
Jitter shadow map dithering pattern across frames when TAA is enabled
2024-09-26 12:45:50 +02:00
Rémi Verschelde 991e6c92ab
Merge pull request #96923 from Repiteo/style/warning-admonition
Style: Add `WARNING:` as new comment admonition
2024-09-26 12:45:38 +02:00
Rémi Verschelde c92a6c7e27
CI: Update `clang-format` pre-commit hook to 19.1.0 2024-09-26 11:46:12 +02:00
Chaosus 3828d45e31 Fix shader crash when return a void function call 2024-09-26 11:20:39 +03:00
Thaddeus Crews 32c83a228d
Style: Add `WARNING:` as new comment admonition 2024-09-25 09:44:42 -05:00
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Rémi Verschelde 73bf121ceb
Merge pull request #93786 from alvinhochun/viewport-pixel-snap-fix
Apply "snap 2D transforms to pixel" to viewport
2024-09-25 12:39:10 +02:00
Rémi Verschelde 70fede82c5
Merge pull request #93324 from tracefree/reinhard-fix
Fix incorrect Reinhard tonemap operator
2024-09-25 12:39:06 +02:00
Rie 5efa6ba489
Fix incorrect Reinhard tonemap operator 2024-09-25 12:34:23 +02:00
Paweł b88585abfc Add linux camera support 2024-09-25 12:08:06 +02:00
Hugo Locurcio 0eb06da057 Jitter shadow map dithering pattern across frames when TAA is enabled
This improves shadow quality by reducing the visibility of the noisy
pattern caused by dithering.

This jittering also applies when FSR2 is enabled, as it provides its own
form of temporal antialiasing.

Co-authored-by: Clay John <claynjohn@gmail.com>
2024-09-24 15:52:07 -07:00
Ricardo Buring 7c4c4b9987 Move Godot Physics 2D into a module; add dummy 2D physics server
If the module is enabled (default), 2D physics works as it did before.

If the module is disabled and no other 2D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 2D physics functionality (and
a warning is printed).

The dummy 2D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-23 17:33:45 +02:00
Alvin Wong 1bd66af54c Apply snap 2D transforms to pixel to viewport
We shall not leave the viewport transform to be rounded by the code for
rounding canvas items. Since the viewport transform is inverse to the
camera transform, we get incorrect rounding at the halfway point that
misaligns the viewport and the canvas item which the camera is
following.

Instead, reintroduce viewport rounding, but do it in a way that matches
the rounding of canvas items. Also take into account the half-pixel
offset of the centre point when viewport dimension is not divisible by
two.  For `CanvasLayer`s that follows viewport, take into account the
scale when rounding. Overall this should work better compared to the
rounding in Godot 4.2 (and earlier).
2024-09-23 20:34:11 +08:00
Rémi Verschelde dd71bc2d3b
Merge pull request #95252 from rburing/3d_physics_module
Move Godot Physics 3D into a module; add dummy 3D physics server
2024-09-23 12:27:55 +02:00
Jiang Yiheng 864d4fb32a Fix hash calculation for NTSliceKey
A bug was introduced from 057367bf by adding FSR 2.2.1 support.
Which increases hash collision and hurts performance.
2024-09-22 21:08:18 +08:00
Ricardo Buring 0333648cea Move Godot Physics 3D into a module; add dummy 3D physics server
If the module is enabled (default), 3D physics works as it did before.

If the module is disabled and no other 3D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 3D physics functionality (and
a warning is printed).

The dummy 3D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-21 21:19:45 +02:00
Rémi Verschelde 5f5c690481
Merge pull request #97260 from clayjohn/pixel_snap
Calculate pixel snap in canvas space instead of world space
2024-09-21 11:50:52 +02:00
clayjohn e75900e1ad Calculate pixel snap in canvas space instead of world space
This ensures that you are actually snapping to pixels in the viewport and not an arbitrary amount
2024-09-20 17:43:33 -07:00
David Snopek 1a6f8512bc Add external texture support (GLES3)
Co-authored-by: Fredia Huya-Kouadio <fhuyakou@gmail.com>
Co-authored-by: Mauricio Narvaez <nvz@meta.com>
2024-09-20 10:48:32 -05:00
Rémi Verschelde 34dd5e0c37
Merge pull request #97217 from stuartcarnie/97185_subpixel_rendering
Metal: Fix subpixel blending; fix inconsistent blend state
2024-09-20 16:07:03 +02:00
Thaddeus Crews b37fc1014a
Style: Apply new `clang-format` changes 2024-09-20 08:09:48 -05:00
Stuart Carnie e826ab9ba9
[2D,Metal]: Fix subpixel blending; fix inconsistent blend state in Metal 2024-09-20 15:16:31 +10:00
Rémi Verschelde b1b4c5da4b
Merge pull request #96928 from dsnopek/rename-and-expose-texture-create-external
Expose a function to create textures from a native handle in the compatibility renderer
2024-09-19 17:13:27 +02:00
David Snopek 7d56b09f23 Expose a function to create textures from a native handle in the compatibility renderer 2024-09-19 09:05:32 -05:00
Rémi Verschelde 3abff94a24
Merge pull request #97130 from Rindbee/check-space-in-remove_soft_body_from_query
Add forgotten `get_space()` check in `GodotArea3D::remove_soft_body_from_query()`
2024-09-18 11:15:47 +02:00
Rémi Verschelde b10338132e
Merge pull request #97006 from Gaktan/project_dialog_vulkan_crash
Fix Vulkan Instance initialized twice in ProjectDialog
2024-09-18 11:15:35 +02:00
风青山 2f515d6a27
Add forgotten `get_space()` check in `GodotArea3D::remove_soft_body_from_query()`
My fault, I added a `get_space()` check for the other `GodotArea3D::remove_*_from_query()`
but forgot about `soft_body`.
2024-09-18 07:59:50 +08:00
Rémi Verschelde 27dacd59e0
Merge pull request #97109 from pattlebass/pitch-shift-fix
AudioEffectPitchShift: Fix distortion when pitch is 1.0
2024-09-17 21:02:25 +02:00
Gaktan a45dd84724 Fix Vulkan Instance initialized twice in ProjectDialog 2024-09-17 20:35:10 +02:00
Fabian S. 8ebabf68f8 AudioEffectPitchShift: Fix distortion when pitch is 1.0 2024-09-17 15:16:08 +03:00
Stuart Carnie 5b5dc00c52
2D: Remove redundant assignment 2024-09-17 06:32:49 +10:00
Rémi Verschelde 67c9708eb8
Merge pull request #95915 from BlueCube3310/betsy-bc1
Betsy: Add caching and BC1 compression support
2024-09-16 13:34:26 +02:00
Rémi Verschelde 8c6210a3eb
Merge pull request #92290 from clayjohn/LOD-fixes
Use distance to AABB surface to calculate Mesh LOD instead of using supports
2024-09-16 13:34:04 +02:00
Stuart Carnie c113e5b143
2D: Fix use-after-free in batch rendering
Closes #96960
Fixes regression of #95574 using fix from #95666
2024-09-14 07:50:39 +10:00
Chaosus 4a16a0d60c Fix broken sky shader 2024-09-13 08:53:26 +03:00
Rémi Verschelde 573badf150
Merge pull request #96875 from stuartcarnie/sgc/small_optimisations
[Editor, Servers] Minor optimizations
2024-09-12 09:25:53 +02:00
Rémi Verschelde 8d9a446397
Merge pull request #95473 from Chaosus/shader_fix_switch_bugs
Fix shader incorrectly expects `int` on `uint` and vice-versa in cases
2024-09-12 09:17:43 +02:00
BlueCube3310 606eedb0c9 Betsy: Add caching and BC1 compression support 2024-09-11 23:48:29 +02:00
David Snopek c2af6bcb59 GDExtension: Mark virtual function as `is_required` in `extension_api.json`
Co-authored-by: Jovan Gerodetti <jovan.gerodetti@titannano.de>
2024-09-11 16:48:14 -05:00
clayjohn 7ff106f828 Use distance to AABB surface to calculate Mesh LOD instead of using supports 2024-09-11 14:17:09 -07:00
Stuart Carnie 5cfacc8767
[Editor,Servers]: Minor optimizations 2024-09-12 06:22:04 +10:00
Stuart Carnie a657ea42f1
2D: Add batching to RendererCanvasRenderRD 2024-09-12 05:26:06 +10:00
Rémi Verschelde db977eaf13
Merge pull request #96858 from Chaosus/shader_fix_conditional_op
Fix shader crash when using unary minus in expression
2024-09-11 18:28:50 +02:00
TypeChecked a8fc5e30a2
Fix typo in XRInterface comment 2024-09-11 18:18:26 +02:00
Chaosus 7d9ced5311 Fix shader crash when using unary minus in expression 2024-09-11 16:46:09 +03:00
Chaosus b2611c198e Fix shader incorrectly expects `int` on `uint` and vice-versa in cases 2024-09-11 09:22:27 +03:00
clayjohn 29df589632 Implement instance uniforms in Compatibility renderer 2024-09-10 12:20:47 -07:00
Rémi Verschelde 5303688c01
Merge pull request #96092 from smix8/region_point_query
Add navigation region point  and segment queries
2024-09-10 09:51:27 +02:00
Rémi Verschelde bc4c60c933
Merge pull request #94893 from rune-scape/no-const-cast-mesh-storage
Avoid `const_cast` in `mesh_storage.h`
2024-09-10 09:51:22 +02:00
smix8 287fdb16d5 Add navigation region point and segment queries
Adds point and segment queries for regions, e.g. closet point, point normal, or segment intersection.
2024-09-10 01:38:46 +02:00
Rémi Verschelde 27552a2f26
Merge pull request #96758 from RandomShaper/fix_the_shift_must_go_on
RenderingDevice: Fix uncapped mipmap sizes causing div-by-zero
2024-09-09 17:52:03 +02:00
Rémi Verschelde 493f3edce7
Merge pull request #96572 from adamscott/fix-samples-leak
Fix leak when using audio samples instead of streams
2024-09-09 17:51:42 +02:00
Pedro J. Estébanez 7f1989bac1 RenderingDevice: Fix uncapped mipmap sizes causing div-by-zero 2024-09-09 17:10:47 +02:00
Yuri Rubinsky af92fdb0ac Add basic support to evaluate operator value in shader language 2024-09-09 15:12:11 +03:00
Rémi Verschelde 73a0f6e90f
Merge pull request #83536 from wareya/new_cubic
Optimize cubic hermite algorithm in AudioStreamPlaybackResampled
2024-09-08 23:21:02 +02:00
Rémi Verschelde aa07333abe
Merge pull request #96114 from BlueCube3310/sh-lightmap-packing
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-06 22:38:29 +02:00
BlueCube3310 a89f4fa5a9 LightmapGI: Pack L1 SH coefficients for directional lightmaps 2024-09-05 22:46:58 +02:00
kleonc c170f1afd2 Don't recalculate final render transforms for Y-sorted canvas items 2024-09-05 17:45:38 +02:00
kleonc 029045bcb6 Account for physics interpolation and transform snapping when Y-sorting 2024-09-05 17:45:37 +02:00
Adam Scott d3ddce6b88
Fix leak when using audio samples instead of streams 2024-09-04 12:56:03 -04:00
Rémi Verschelde 82d7531a2e
Merge pull request #95990 from Breush/76166-sky-auto-radiance
Sky: Adapt radiance size if `AUTOMATIC_MODE` resolves to `REALTIME`
2024-09-04 17:12:02 +02:00
Alexis Breust 44e526d3d5 Sky: No more auto-selecting REALTIME mode if radiance is not 256 2024-09-04 10:54:08 +02:00
Rémi Verschelde 13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
Rémi Verschelde 49ed6c558c
Merge pull request #86809 from clayjohn/TAA-disocclusion
Tune TAA disocclusion scale to avoid rejecting all samples during motion.
2024-09-03 16:13:26 +02:00
Rémi Verschelde 8120e0324a
Merge pull request #96512 from bruvzg/gds_base_stt
[TextServer] Fix structured text parser for GDScript comments.
2024-09-03 11:44:12 +02:00
Rémi Verschelde d1c27f239d
Merge pull request #96486 from ComycSans/black_sky
Fix `SkyRD::Sky::free()` freeing shared material
2024-09-03 11:44:05 +02:00
Rémi Verschelde 63a8548693
Merge pull request #96426 from clayjohn/RD-reflection-probe-roughness
Use non-linear mapping for ReflectionProbe mip levels to match sky
2024-09-03 11:43:52 +02:00
Rémi Verschelde 6de2d31a61
Merge pull request #96351 from stuartcarnie/sgc/metal_light_betsy
Metal: Enable for betsy and lightmapper modules in compatibility mode
2024-09-03 11:43:42 +02:00
Rémi Verschelde a2b64ed544
Merge pull request #95961 from RadiantUwU/fix-mesh-recursion
Fix shadow mesh recursion.
2024-09-03 11:43:16 +02:00
Rémi Verschelde 032235b6fc
Merge pull request #95503 from clayjohn/instance_none_crash
Avoid indexing instances without a base in scene cull phase
2024-09-03 11:43:08 +02:00
Rémi Verschelde 667778cf4d
Merge pull request #93448 from clayjohn/transmittance-fixes
Various fixes for transmittance effect
2024-09-03 11:42:57 +02:00
bruvzg 1829bc3663
[TextServer] Fix structured text parser for GDScript comments. 2024-09-03 09:54:09 +03:00
ComycSans 09e59fbec5 Fix SkyRD::Sky::free() freeing material 2024-09-02 18:59:31 +02:00
Rémi Verschelde f546bf6aea
Merge pull request #96431 from viksl/fix-alpha-reflections-cull-order
Fix alpha material's reverse cull order.
2024-09-02 12:13:57 +02:00
Rémi Verschelde f50ead48b0
Merge pull request #96128 from BlueCube3310/vram-profiler-texture-mem
Fix incorrect parameters for layered textures in VRAM texture memory profiler
2024-09-02 12:13:11 +02:00
Rémi Verschelde 28b2ed50b7
Merge pull request #96056 from Lielay9/expose_canvas_item_attach_skeleton
Expose `RenderingServer.canvas_item_attach_skeleton`
2024-09-02 12:13:08 +02:00
viksl 929c69bad8 Fixes alpha materials being rendered with a reverse cull which is visible in reflections from reflection probes. 2024-09-01 12:10:04 +02:00
BlueCube3310 e74bc3079a Fix incorrect parameters for layered textures in Video RAM texture memory profiler 2024-09-01 11:49:30 +02:00
clayjohn 64f5443b14 Use non-linear mapping for ReflectionProbe mip levels to match sky 2024-09-01 01:40:42 -07:00
Radiant 70860aafd8 Fix shadow mesh recursion. 2024-08-31 22:31:43 +03:00
A Thousand Ships 194bdde947
Cleanup of raw `nullptr` checks with `Ref`
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
Stuart Carnie a7a245de92
Metal: enable for betsy and lightmapper modules
To support this, the rendering_context_driver_metal.h header was updated
to recognise when it is included in non-Objective-C source files.
2024-08-31 08:29:07 +10:00
Rémi Verschelde 77bc419071
Merge pull request #96174 from DeeJayLSP/wav-docs
WAV stream/importer: Improve compression/loop names and descriptions
2024-08-30 23:37:50 +02:00
DeeJayLSP 5a50b3a6c5 WAV stream/importer: Improve compression/loop names and descriptions 2024-08-30 16:31:57 -03:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
Rémi Verschelde cb96fc95c3
Merge pull request #92316 from alula/msvc-clang
Add support for compiling with VS clang-cl toolset
2024-08-29 10:36:17 +02:00
Rémi Verschelde 96cbcc30e2
Merge pull request #90945 from Scony/extract-navigation-defaults
Extract navigation-related defaults to separate header
2024-08-29 10:36:14 +02:00
rune-scape f04a9bb630 Avoid const_cast in mesh_storage.h 2024-08-28 14:46:03 -07:00
Alula 346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
Rémi Verschelde 24f97f3f08
Merge pull request #94808 from RandomShaper/aud_srv_cod_sty
AudioServer: Fix code style issues
2024-08-28 00:12:25 +02:00
Rémi Verschelde e98aaf1caa
Merge pull request #94477 from RedMser/typos-batch-1
Fix various typos
2024-08-28 00:12:12 +02:00
Rémi Verschelde 10a92287c6
Merge pull request #94352 from Chaosus/shader_ternary_fix
Fix multiple ternary expressions to be used without parenthesis
2024-08-28 00:12:07 +02:00
Rémi Verschelde 330fca1ffd
Merge pull request #93985 from alvinhochun/windows-gpu-pref
Respect integrated GPU preference in Windows Settings
2024-08-28 00:11:45 +02:00
Pawel Lampe c3f1bfd5cb Extract navigation-related defaults to separate header 2024-08-27 20:12:10 +02:00
Rémi Verschelde 9dfc41568a
Merge pull request #95984 from timothyqiu/what-identifier
Add `String.is_valid_unicode_identifier()`
2024-08-27 16:55:06 +02:00
Chaosus f538376c3b Add `CLIP_SPACE_FAR` built-in to spatial shader 2024-08-27 08:48:46 +03:00
Haoyu Qiu 8bf4ecc026 Add `String.is_valid_unicode_identifier()`
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
stechyo c32f72f7fa Post-code review changes. 2024-08-26 19:42:42 +01:00
Rémi Verschelde 1d3bdfcd06
Merge pull request #95862 from adamscott/fix-pitch-scale-before-play
Honor `pitch_scale` value before playing audio sample
2024-08-25 22:24:17 +02:00
Rémi Verschelde 68d188d521
Merge pull request #95888 from clayjohn/Lightmap-SH-coefficients
Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
2024-08-25 20:18:18 +02:00
Rémi Verschelde cbe1d6f7af
Merge pull request #95274 from Chaosus/shader_forbind_const_func_decl
Forbid function declaration with a const qualifier in shaders
2024-08-25 20:18:10 +02:00
Hei 94e434b34e Expose the function 'RenderingServer.canvas_item_attach_skeleton' 2024-08-25 04:13:04 +03:00
Matias N. Goldberg 59d0422dcd Disable extra memory tracking by default
PR #90993 added several debugging utilities.

Among them, advanced memory tracking through the use of custom
allocators and VK_EXT_device_memory_report.

However as issue #95967 reveals, it is dangerous to leave it on by
default because drivers (or even the Vulkan loader) can too easily
accidentally break custom allocators by allocating memory through std
malloc but then request us to deallocate it (or viceversa).

This PR fixes the following problems:
 - Adds --extra-gpu-memory-tracking cmd line argument
 - Adds missing enum entries to
RenderingContextDriverVulkan::VkTrackedObjectType
 - Adds RenderingDevice::get_driver_and_device_memory_report
    - GDScript users can easily check via print(
RenderingServer.get_rendering_device().get_driver_and_device_memory_report()
)
- Uses get_driver_and_device_memory_report on device lost for appending
further info.

Fixes #95967
2024-08-24 20:52:39 -03:00
wareya 94b31c1db7 Optimize cubic hermite algorithm in AudioStreamPlaybackResampled 2024-08-22 18:40:01 -04:00
Rémi Verschelde 568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Rémi Verschelde 0badddaccb
Merge pull request #95917 from BlueCube3310/lightmap-align-fix
LightmapGI: Fix shader data alignment after #89919
2024-08-22 00:10:53 +02:00
Rémi Verschelde 39b77ea04e
Merge pull request #95790 from aaronfranke/rect-aabb-support
Simplify Rect2/AABB `get_support` function
2024-08-22 00:10:39 +02:00
Rémi Verschelde d4b6bd5b60
Merge pull request #91172 from clayjohn/detect-rd
Disable creating RD projects in project manager if RD is not supported
2024-08-22 00:10:15 +02:00
Matias N. Goldberg 364f916f3f
Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
BlueCube3310 4aa145624e LightmapGI: Fix shader data alignment after #89919 2024-08-21 21:37:13 +02:00
clayjohn f4ccba7508 Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases
2024-08-21 10:24:32 -07:00