Commit Graph

68510 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
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
Michael Alexsander
58e79bfa9a
Compile certain CanvasItem._edit_*() functions with DEBUG_ENABLED 2024-11-02 15:43:18 -03: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
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
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
Thaddeus Crews
598cfbdfd6
Merge pull request #97020 from GuilhermeGSousa/fix-non-const-anim-node-process
Fix non const animation node `_process` virtual function
2024-10-29 19:26:00 -05:00
Thaddeus Crews
696ca9db3c
Merge pull request #98039 from aaronfranke/button-icon
Rename internal Button `*_icon` functions to `*_button_icon` to match exposed methods
2024-10-29 19:25:59 -05:00
Thaddeus Crews
b748c91e5b
Merge pull request #98289 from BlueCube3310/lightmap-clenaup
LightmapGI: Clean up and improve lightmap atlas storage
2024-10-29 19:25:58 -05:00
Thaddeus Crews
6d09a20c82
Merge pull request #97247 from thimenesup/draw_indirect_rd
Add draw indirect to Rendering Device
2024-10-29 19:25:57 -05:00
Thaddeus Crews
9169ace8f2
Merge pull request #98399 from Repiteo/codeowners-2-return-of-jafar
Implement `CODEOWNERS` corrections
2024-10-29 19:25:56 -05:00
Thaddeus Crews
a8931f1aa9
Merge pull request #98652 from stuartcarnie/2d_texture_state_fixes
2D: Fix various issues and minor performance optimisations
2024-10-29 19:25:54 -05:00
Thaddeus Crews
3de789ec80
Merge pull request #98523 from MichaelMacha/patch-2
Fix typo in `OccluderInstance3D` documentation
2024-10-29 19:25:53 -05:00
Thaddeus Crews
7c7de0e889
Merge pull request #98265 from syntaxerror247/patch-2
Improve `_begin_customize_scenes` description
2024-10-29 19:25:52 -05:00
Thaddeus Crews
f824e27ab0
Merge pull request #98628 from matmas/full-apache-license
Include full Apache-2.0 license in COPYRIGHT.txt
2024-10-29 19:25:50 -05:00
Thaddeus Crews
49cf7996e1
Merge pull request #98496 from bruvzg/icu761
Update ICU to 76.1
2024-10-29 19:25:49 -05:00
Thaddeus Crews
05a4620e88
Merge pull request #98615 from Summersay415/three-opengls-please
Fix fallbacks to OpenGL
2024-10-29 19:25:48 -05:00
Thaddeus Crews
73830b3c12
Merge pull request #88628 from bruvzg/i_have_no_idea_what_im_doing
[macOS/iOS] Use hardware sampling rates for audio I/O.
2024-10-29 19:25:47 -05:00
Thaddeus Crews
7a661eaa7c
Merge pull request #98612 from DarioSamo/alignment-transfer-fix
Fix transfer alignment on initial texture transfer.
2024-10-29 19:25:46 -05:00
Thaddeus Crews
b8f626a0e1
Merge pull request #65962 from 4d49/format-object
Add `Object` support for `String.format`
2024-10-29 19:25:45 -05:00
Thaddeus Crews
6b70a6197f
Merge pull request #98597 from timothyqiu/on-your-lawn
Fix heap-use-after-free when ctrl-clicking controls in a container
2024-10-29 19:25:44 -05:00
Thaddeus Crews
4fb1700d03
Merge pull request #98081 from ArjhanToteck/patch-1
Fix grammar mistake in Shortcut documentation
2024-10-29 19:25:43 -05:00
Thaddeus Crews
23f03a7cce
Merge pull request #98589 from juanjp600/openxr-no-wayland-build-fix
Fix OpenXR module failing to build on Linux when Wayland is disabled
2024-10-29 19:25:41 -05:00
Thaddeus Crews
f8f9763c4a
Merge pull request #98075 from KoBeWi/based_folder
Fix wrong base directory when creating folder
2024-10-29 19:25:40 -05:00
Thaddeus Crews
f41ec91c44
Merge pull request #97813 from dustdfg/module_check_dependencies_recursively
Make module dependency check recursive
2024-10-29 19:25:39 -05:00
Thaddeus Crews
674b0aecb0
Merge pull request #97936 from ev13bird/inspector_dock_filesystem_icon
Add Show in FileSystem icon for Inspector dock resource options menu item
2024-10-29 19:25:38 -05:00
Thaddeus Crews
08d8909a65
Merge pull request #98574 from syntaxerror247/android_input_dialog
[Android] Implement native input dialog support
2024-10-29 19:25:37 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00