Commit Graph

68574 Commits

Author SHA1 Message Date
David Snopek
09e09d9335 Patch the OpenXR headers to get EGL from GLAD if we're using it 2024-11-04 10:43:07 -06:00
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
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
Michael Alexsander
58e79bfa9a
Compile certain CanvasItem._edit_*() functions with DEBUG_ENABLED 2024-11-02 15:43:18 -03: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
Anish Mishra
7b866f302f [Android] Implement support for accent color retrieval 2024-11-01 16:19:09 +05:30
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
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
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
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