Commit Graph

68696 Commits

Author SHA1 Message Date
Arseny Kapoulkine
260287b3a1 Rewrite index optimization code for maximum efficiency
While all the previous fixes to optimizeVertexCache invocation fixed the
vertex transform efficiency, the import code still was missing two
crucial recommendations from meshoptimizer documentation:

- All meshes should be optimized for vertex cache (this reorders
  vertices for maximum fetch efficiency)
- When LODs are used with a shared vertex buffer, the vertex order
  should be generated by doing a vertex fetch optimization on the
  concatenated index buffer from coarse to fine LODs; this maximizes
  fetch efficiency for coarse LODs

The last point is especially crucial for Mali GPUs; unlike other GPUs
where vertex order affects fetch efficiency but not shading, these GPUs
have various shading quirks (depending on the GPU generation) that
really require consecutive index ranges for each LOD, which requires the
second optimization mentioned above. However all of these also help
desktop GPUs and other mobile GPUs as well.

Because this optimization is "global" in the sense that it affects all
LODs and all vertex arrays in concert, I've taken this opportunity to
isolate all optimization code in this function and pull it out of
generate_lods and create_shadow_mesh; this doesn't change the vertex
cache efficiency, but makes the code cleaner. Consequently,
optimize_indices should be called after other functions like
create_shadow_mesh / generate_lods.

This required exposing meshopt_optimizeVertexFetchRemap; as a drive-by,
meshopt_simplifySloppy was never used so it's not exposed anymore - this
will simplify future meshopt upgrades if they end up changing the
function's interface.
2024-11-04 06:58:06 -08:00
Pedro J. Estébanez
fe21913ee8 ResourceLoader: Report error if resource type unrecognized
Co-authored-by: Summersay415 <summersay415@gmail.com>
2024-11-04 09:49:37 +01:00
bruvzg
2d66988f99
[GDExtension] Improve macOS library loading/export. 2024-11-04 09:28:30 +02:00
kobewi
025976dc45 Improve EditorToaster code 2024-11-03 14:16:22 +01:00
arkology
d000d3b101 Document Timer autostart in tool scripts 2024-11-03 11:08:19 +03:00
A Thousand Ships
5085c1f530
Add missing checks for non-3D builds in scene debugger 2024-11-02 23:21:27 +01:00
EnlightenedOne
1d141ab32a Fix Frustum Sky projection translation logic, all pipelines, fixes 63863 2024-11-02 21:34:55 +00:00
Clay John
1bffd6c73b
Merge pull request #98736 from YeldhamDev/i_love_introducing_regressions
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
🔗 GHA / 🪲 Godot CPP (push) Has been cancelled
Compile certain `CanvasItem._edit_*()` functions with `DEBUG_ENABLED`
2024-11-02 13:59:31 -07:00
Yevhen Babiichuk (DustDFG)
81a032337c Deleted stale check. Now SCons supports globbing with # inside path
Some parts of the buildsystem already were using it with `#` in path

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-02 22:20:17 +02:00
Stuart Carnie
dd8582a319
smol-v: update to 2024 to support SPIR-V 1.6 2024-11-03 07:14:16 +11:00
Danni
3d132076b2 Add collision priority property to TileSet physics layers 2024-11-02 15:37:49 -04:00
Michael Alexsander
58e79bfa9a
Compile certain CanvasItem._edit_*() functions with DEBUG_ENABLED 2024-11-02 15:43:18 -03:00
Rudolph Bester
0f0e24016c Fix Occlusion Culling Buffer getting corrupted. 2024-11-02 12:52:19 +02:00
tetrapod00
ba30a8707a Docs: Fix AABB is_finite() and is_equal_approx() 2024-11-01 18:04:16 -07:00
yahkr
4d41b455ba [Editor] Fix EditorSettings.xml docs for "ask_before_revoking_unique_name" 2024-11-01 19:31:07 -04:00
tetrapod00
6454ea4606 Add quad mesh to material preview 2024-11-01 14:20:10 -07:00
Dario
5216ef5f9c Add dependency detection improvements to the render graph.
- Buffers changing their usage are no longer treated as write usage unless the API requires it.
- Draw lists are not treated as being dependent on each other if their regions do not intersect despite both being write commands.
- Particles were tweaked to use different unused buffers to reduce dependencies.
2024-11-01 09:46:52 -03:00
nikitalita
08db8edbff fix save to wav 2024-11-01 06:11:28 -05:00
Anish Mishra
7b866f302f [Android] Implement support for accent color retrieval 2024-11-01 16:19:09 +05:30
Haoyu Qiu
b131476d40 Disable auto translate of FileDialog's file list 2024-11-01 12:41:56 +08:00
Thaddeus Crews
c6c464cf9a
Merge pull request #98679 from Bromeon/qol/rename-static-call
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
🔗 GHA / 🪲 Godot CPP (push) Has been cancelled
Rename `ClassDB::class_call_static_method` -> `class_call_static`
2024-10-31 20:14:44 -05:00
Thaddeus Crews
980df1f688
Merge pull request #98261 from dustdfg/scu_additional_folders
Add some folders which would benefit from scu to scu pipeline
2024-10-31 20:14:43 -05:00
Thaddeus Crews
0315f31378
Merge pull request #98327 from clayjohn/revert-shader-float
Revert "Fix GPUParticles are not rendered for older AMD GPUs with OpenGL+Angle"
2024-10-31 20:14:42 -05:00
Thaddeus Crews
be70c2f873
Merge pull request #98350 from syntaxerror247/android-native-filepicker
[Android] Implement native file picker support
2024-10-31 20:14:41 -05:00
Thaddeus Crews
49c22e06d0
Merge pull request #98637 from SubmergedTree/creating-light-occluder-2d-polygon-makes-warning-exclamation-mark-disappear
Clear warning in the scene tree by creating an LightOccluder2D polygon
2024-10-31 20:14:40 -05:00
Thaddeus Crews
363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
Thaddeus Crews
7982030b25
Merge pull request #69197 from aaronfranke/fix-tiny-convex
Fix debug line drawing with tiny convex hull mesh colliders
2024-10-31 20:14:37 -05:00
Thaddeus Crews
163bf94d04
Merge pull request #98091 from AThousandShips/improve_err_prints_core
[Core] Improve error messages with `vformat`
2024-10-31 20:14:36 -05:00
Thaddeus Crews
6ca36277ab
Merge pull request #98697 from dustdfg/deduplicate_get_build_version
Remove duplicate of `get_build_version`
2024-10-31 20:14:35 -05:00
Thaddeus Crews
194ddfd0c4
Merge pull request #97257 from YeldhamDev/guess_godot_is_unity_after_all
Add "Game" editor for better runtime debugging
2024-10-31 20:14:34 -05:00
Thaddeus Crews
e84fae43be
Merge pull request #98662 from KoBeWi/never_has_been
Remove unused FILE_INFO from FileSystem dock
2024-10-31 20:14:33 -05:00
Hugo Locurcio
416e1a538f
Improve Mesh UV1/UV2 preview in the editor
- Use an AspectRatioContainer to prevent stretching that occurs depending
  on the dialog size.
- Draw UV bounds and a grid at 1/8th increments.
- Scale lines according to editor scale for better visibility on hiDPI displays.
2024-11-01 02:04:10 +01:00
Matias N. Goldberg
b9a2f108fc Fix splash screen upside down on Android
Fixes an issue introduced in #96439 (see
https://github.com/godotengine/godot/pull/96439#issuecomment-2447288702)

Godot was relying on Java's
activity.getWindowManager().getDefaultDisplay().getRotation(); to apply
pre-rotation but this is wrong.

First, getRotation() may temporarily return a different value from the
correct one; which is what was causing the splash screen to be upside
down. It would return -90 instead of 90 for the first rendered frame.

But unfortunately, the splash screen is just one frame rendered for a
very long time, so the error lingered for a long time for everyone to
see.

Second, to determine what rotation to use, we should be looking at what
Vulkan told us, which is the value we pass to
VkSurfaceTransformFlagBitsKHR::preTransform.

This commit removes the now-unnecessary
screen_get_internal_current_rotation() function (which was introduced by
#96439) and now saves the preTransform value in the swapchain.
2024-10-31 16:52:26 -03:00
Pascal Grittmann
a59fb07e4a set flag for 8 bone weights 2024-10-31 17:04:31 +01:00
Max Hilbrunner
8c5debeaed Allow multiple platform API files 2024-10-31 16:07:01 +01:00
Yevhen Babiichuk (DustDFG)
0ba0093dd6 Remove duplicate of get_build_version
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-31 12:54:23 +02:00
Yuri Rubinsky
ef8d981267
Merge pull request #98303 from Chaosus/vs_transparency_preview
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Add alpha channel display to vec4 previews of visual shader nodes
2024-10-31 11:17:34 +03:00
Clay John
7187c251da
Merge pull request #98620 from zeux/lodgen-cleanup
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
LOD: Remove "Raycast Normals" and associated "Normal Split Angle" settings
2024-10-30 17:13:57 -07:00
Clay John
a997001bd5
Merge pull request #98584 from Nazarwadim/emit_only_one_signal
Emit `filesystem_changed` only once per frame
2024-10-30 14:47:15 -07:00
Yevhen Babiichuk (DustDFG)
8eeee920f2 Add some big folders which would benefit from scu to scu pipeline
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-30 22:49:39 +02:00
Jan Haller
a025ceddc0 Rename ClassDB::class_call_static_method -> class_call_static 2024-10-30 19:07:28 +01:00
maxime.chambefort
6f846eb5c5 Added external camera feed from external plugin on Android 2024-10-30 18:30:28 +01:00
A Thousand Ships
38f9769bc6
[Core] Improve error messages with vformat 2024-10-30 15:55:51 +01:00
Michael Alexsander
16524a8a01
Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 -03:00
Anish Mishra
b2130efb31 [Android] Implement native file picker support 2024-10-30 14:53:02 +05:30
Anish Mishra
0dfd18c84b [DisplayServer] Add feature flag for native file dialog access to user/res and options 2024-10-30 14:13:43 +05:30
Aaron Franke
96ec117d19
Fix debug line drawing with tiny convex hull mesh colliders 2024-10-30 00:47:56 -07:00
clayjohn
940e9c2a43 Revert "Fix GPUParticles are not rendered for older AMD GPUs with OpenGL+Angle"
This reverts commit 9cc9df52eb.

This also adds a fallback to avoid using the Godot versions of the half 2 float functions when using ANGLE.
2024-10-29 22:17:16 -07:00
kobewi
f96ef5fc0d Remove unused FILE_INFO from FileSystem dock 2024-10-30 06:08:52 +01:00
Thaddeus Crews
8004c7524f
Merge pull request #98301 from aaronp64/gdscript_validate_property
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Avoid unnecessary `Dictionary` conversions in `GDScriptInstance::validate_property`
2024-10-29 19:26:02 -05:00