Commit Graph

65815 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio a57a99f5bc Memory cleanup and optimizations
- Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects

- Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables

- Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use

- Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations

- Disable showing the boot logo for Android XR projects

- Delete locale references of jni strings
2024-08-16 09:27:41 -07:00
Rémi Verschelde 2f2d1a7e68
Merge pull request #94708 from BlueCube3310/rd-cubemap-layer-amount-correct
RenderingDevice: Use correct layer count for Cubemaps during boundary checks
2024-07-24 22:58:03 +02:00
Rémi Verschelde ab80e564b2
Merge pull request #94661 from m4gr3d/fix_android_render_thread_cleanup
Fix the cleanup logic for the Android render thread
2024-07-24 22:57:06 +02:00
Rémi Verschelde d3427dcd0f
Merge pull request #94707 from clayjohn/GLES3-linear-modulate
Remove linearization of canvas modulate in GLES3 backend
2024-07-24 21:13:16 +02:00
BlueCube3310 eb3b217777 RenderingDevice: Use the correct amount of layers for Cubemaps for boundary checks 2024-07-24 20:26:46 +02:00
clayjohn 7eac9e855b Remove linearization of canvas modulate in GLES3 backend
The GLES3 renderer is always in sRGB space, even when using an HDR format
2024-07-24 10:27:25 -07:00
Fredia Huya-Kouadio 4d0da74014 Fix the cleanup logic for the Android render thread
On Android the exit logic goes through `Godot#onDestroy()` who attempts to cleanup the engine using the following code:

```
runOnRenderThread {
	GodotLib.ondestroy()
	forceQuit()
}
```

The issue however is that by the time we ran this code, the render thread has already been paused (but not yet destroyed), and thus `GodotLib.ondestroy()` and `forceQuit()` which are scheduled on the render thread are not executed.

To address this, we instead explicitly request the render thread to exit and block until it does. As part of it exit logic, the render thread has been updated to properly destroy and clean the native instance of the Godot engine, resolving the issue.
2024-07-24 10:17:46 -07:00
Rémi Verschelde 91eb688e17
Bump version to 4.3-rc 2024-07-24 13:04:22 +02:00
Rémi Verschelde f724ee530a
Merge pull request #94691 from akien-mga/android-workaround-94416
Android Editor: Disable file reimport when .import changes
2024-07-24 13:03:33 +02:00
Rémi Verschelde 022d702bc0
Merge pull request #94678 from rune-scape/clear-abandoned-parser-refs
GDScriptCache: Clear abandoned parser refs
2024-07-24 13:03:27 +02:00
Rémi Verschelde 7acb61d346
Android Editor: Disable file reimport when .import changes
This is disabling the logic added in #84974 which caused #94416.
That issue still needs to be debugged further, but this works around
the regression and should have minimal usability impact on Android.
2024-07-24 12:07:59 +02:00
Rémi Verschelde 77e18da5ff
Merge pull request #94674 from dalexeev/gds-fix-incorrect-setter-call-for-ref-types
GDScript: Fix incorrect setter call for reference types
2024-07-24 10:17:45 +02:00
Rémi Verschelde 543e4388d5
Merge pull request #94682 from zeux/lod-uv-mirror
Fix LOD generation for meshes with tangents & mirrored UVs
2024-07-24 09:59:45 +02:00
Rémi Verschelde 25e5efaf9e
Merge pull request #94680 from bruvzg/fix_net_detection
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`.
2024-07-24 09:59:42 +02:00
Rémi Verschelde 693b69d65f
Merge pull request #94677 from bruvzg/no_sign_err
[macOS export] Do not stop export on signing errors.
2024-07-24 09:59:38 +02:00
Rémi Verschelde d342df79d5
Merge pull request #94676 from rune-scape/test-oops
GDScriptTestRunner: Fix compiler error output
2024-07-24 09:59:34 +02:00
Rémi Verschelde 62c88a4052
Merge pull request #94671 from Chaosus/shader_fix_varying
Fix shader crash when using a varying in separate func before it defined
2024-07-24 09:59:31 +02:00
Rémi Verschelde f361133601
Merge pull request #94664 from dalexeev/gds-fix-make-arguments-hint
GDScript: Fix incorrect default values ​​in `_make_arguments_hint()`
2024-07-24 09:59:28 +02:00
Rémi Verschelde 139cf025c9
Merge pull request #94629 from RandomShaper/fix_undef_position
Fix position from vertex shader partially uninitialized
2024-07-24 09:59:24 +02:00
Rémi Verschelde e91725f490
Merge pull request #94617 from rune-scape/fix-mismatched-parsers
GDScript: Fix common mismatched external parser errors
2024-07-24 09:59:19 +02:00
Rémi Verschelde 2966199647
Merge pull request #94554 from TokageItLab/approx-animation-compare
Add approximate comparing static methods to Animation and make Animation code use them
2024-07-24 09:59:15 +02:00
Rémi Verschelde 27daf3b983
Merge pull request #93802 from feiyue-z/Fix-inconsistent-CanvasModulate-color-in-2D-HDR
Fix inconsistent CanvasModulate color in 2D HDR
2024-07-24 09:59:11 +02:00
Rémi Verschelde 7708f0e163
Merge pull request #85382 from HolonProduction/in-case-of-a-script
GDScript: Generate `arghint` for script types
2024-07-24 09:59:08 +02:00
Feiyue Zhang 6f30df4b6a
Linearize color if HDR 2D is on 2024-07-24 09:49:50 +02:00
Danil Alexeev 8c82fd15d2
GDScript: Fix incorrect setter call for reference types 2024-07-24 10:37:35 +03:00
Arseny Kapoulkine 18d6ae1161 Fix LOD generation for meshes with tangents & mirrored UVs
When UVs are mirrored in a mesh, collapsing vertices across the
mirroring seam can significantly reduce quality in a way that is not
apparent to the simplifier. Even if simplifier was given access to UV
data, the coordinates would need to be weighted very highly to prevent
these collapses, which would penalize overall quality of reasonable
models.

Normally, well behaved models with mirrored UVs have tangent data that
is correctly mirrored, which results in duplicate vertices along the
seam. The simplifier automatically recognizes that seam and preserves
its structure; typically models have few edge loops where UV winding is
flipped so this does not affect simplification quality much.

However, pre-processing for LOD data welded vertices when UVs and
normals were close, which welds these seams and breaks simplification,
creating triangles with distorted UVs.

We now take tangent frame sign into account when the input model has
tangent data, and only weld vertices when the sign is the same.
2024-07-23 16:35:46 -07:00
bruvzg 25f78a5eb6
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`. 2024-07-23 23:46:14 +03:00
rune-scape 298904d74e GDScriptTestRunner: Fix compiler error output 2024-07-23 12:59:22 -07:00
rune-scape 86b23d0420 GDScriptCache: Clear abandoned parser refs 2024-07-23 12:54:45 -07:00
bruvzg c34192eb9c
[macOS export] Do not stop export on signing errors. 2024-07-23 22:38:05 +03:00
rune-scape c75225ffb2 GDScript: Fix common mismatched external parser errors 2024-07-23 12:25:23 -07:00
Yuri Rubinsky 965b2f6ca4 Fix shader crash when using a varying in separate func before it defined 2024-07-23 21:55:18 +03:00
Danil Alexeev 37a3a98fde
GDScript: Fix incorrect default values ​​in `_make_arguments_hint()` 2024-07-23 19:35:42 +03:00
Rémi Verschelde 8e36f98ea5
Merge pull request #94662 from akien-mga/android-editor-some-visible-progress
Android Editor: Make progress dialog visible again
2024-07-23 18:22:51 +02:00
Silc Lizard (Tokage) Renew 88e590c9d3 Add approx comparing methods to Animation, use them on time comparison 2024-07-24 01:18:06 +09:00
Rémi Verschelde 2b827f6d5f
Android Editor: Make progress dialog visible again 2024-07-23 17:36:07 +02:00
Rémi Verschelde 18c1c25ca0
Merge pull request #94652 from shana/fix-header-guards
Fix `header_guards.py` so it detects the copyright header properly.
2024-07-23 16:19:15 +02:00
Rémi Verschelde e4f7b69470
Merge pull request #94656 from BlueCube3310/cubemap-layers-retrieve-fix
RenderingDevice: Fix getting cubemap layer data
2024-07-23 15:55:53 +02:00
Rémi Verschelde 9b7f5f5fa5
Merge pull request #94655 from bruvzg/ffp-contract-2
Disable FP contraction.
2024-07-23 15:55:50 +02:00
Rémi Verschelde 29e1bdee2b
Merge pull request #94653 from mihe/bind-physics-state-sync
Bind `PhysicsServer*D::body_set_state_sync_callback`
2024-07-23 15:55:46 +02:00
Rémi Verschelde 432d15e3f1
Merge pull request #94649 from AeioMuch/fix_wrong_selection
Fix node gets wrongly selected after moving another node in the tree
2024-07-23 15:55:42 +02:00
Rémi Verschelde adf58849c6
Merge pull request #94645 from jsjtxietian/lightmap-override
Fix newly baked lightmap can't override previously baked at same path
2024-07-23 15:55:39 +02:00
Rémi Verschelde 05504ebf27
Merge pull request #94439 from kitbdev/fix-reopen-hscroll
Fix ScriptEditor scrolling horizontally when reopening script
2024-07-23 15:55:32 +02:00
AeioMuch 393fb68aea
Fix node gets wrongly selected after moving another node in the tree 2024-07-23 15:16:45 +02:00
BlueCube3310 741bb152ae RenderingDevice: Fix getting cubemap data 2024-07-23 13:44:28 +02:00
bruvzg 52a2836861 Disable FP contraction. 2024-07-23 14:33:51 +03:00
Mikael Hermansson a559a1c6d8 Bind `PhysicsServer*D::body_set_state_sync_callback` 2024-07-23 13:30:44 +02:00
Rémi Verschelde f6c7b00a41
Merge pull request #94635 from dalexeev/gds-fix-false-positive-enum-without-default
GDScript: Fix false positive cases of `ENUM_VARIABLE_WITHOUT_DEFAULT`
2024-07-23 13:08:21 +02:00
Rémi Verschelde ad1955a63d
Merge pull request #94628 from Chaosus/rendering_fix_crash
Fix crash when assigning more textures than expected to texture array
2024-07-23 13:08:18 +02:00
Rémi Verschelde 23a1104d78
Merge pull request #94610 from ajreckof/Fix-Object-encoded-as-id-in-dictionnaries-to-be-represented-as-int-in-the-inspector-
Fix Object encoded as id in dictionaries to be represented as int in the inspector.
2024-07-23 13:08:15 +02:00