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
...
🔗 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
...
🔗 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
...
🔗 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
...
🔗 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
...
🔗 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