Age | Commit message (Collapse) | Author |
|
From August 1, 2019, Google Play requires that all new apps and app updates
include 64-bit versions, so we enable ARM64 by default.
IINM support for x86 and x86_64 is still be optional, so not enabling them
out of the box.
Part of #25030.
|
|
|
|
Like arm64v8, this is only supported by API 21 and later,
so we enforce 21 as min API for x86_64.
Part of #25030.
|
|
|
|
Make export valid when setting custom packages for iOS
|
|
even no templates installed.
all others export work as this already.
|
|
|
|
Godot supports many different compilers and for production releases we
have to support 3 currently: GCC8, Clang6, and MSVC2017. These compilers
all do slightly different things with -ffast-math and it is causing
issues now. See #24841, #24540, #10758, #10070. And probably other
complaints about physics differences between release and release_debug
builds.
I've done some performance comparisons on Linux x86_64. All tests are
ran 20 times.
Bunnymark: (higher is better)
(bunnies) min max stdev average
fast-math 7332 7597 71 7432
this pr 7379 7779 108 7621 (102%)
FPBench (gdscript port http://fpbench.org/) (lower is better)
(ms)
fast-math 15441 16127 192 15764
this pr 15671 16855 326 16001 (99%)
Float_add (adding floats in a tight loop) (lower is better)
(sec)
fast-math 5.49 5.78 0.07 5.65
this pr 5.65 5.90 0.06 5.76 (98%)
Float_div (dividing floats in a tight loop) (lower is better)
(sec)
fast-math 11.70 12.36 0.18 11.99
this pr 11.92 12.32 0.12 12.12 (99%)
Float_mul (multiplying floats in a tight loop) (lower is better)
(sec)
fast-math 11.72 12.17 0.12 11.93
this pr 12.01 12.62 0.17 12.26 (97%)
I have also looked at FPS numbers for tps-demo, 3d platformer, 2d
platformer, and sponza and could not find any measurable difference.
I believe that given the issues and oft-reported (physics) glitches on
release builds I believe that the couple of percent of tight-loop
floating point performance regression is well worth it.
This fixes #24540 and fixes #24841
|
|
Make possible to use ETC texture format with GLES3 on Android
|
|
Don't enable DRI_PRIME if nouveau is loaded
|
|
|
|
Happy new year to the wonderful Godot community!
|
|
|
|
Fix missed captured mouse events on x11
|
|
SCons: Allow building Mono module with OSXCross
|
|
|
|
Currently, textures are not exported if use ETC on project settings and export project with GLES3.
GLES3 should be able to use ETC format also.
|
|
Improve the test logic to only assume that we're building for macOS
if OSXCROSS_ROOT is defined *and* we requested p=osx.
Supersedes #24480.
|
|
|
|
- The `cpu-features.{c,h}` code was only used by chance by the webm
(libvpx) code, so I moved it there. It was actually introduced before
that and wasn't in use, and libvpx just happened to be able to
compile thanks to it being bundled.
It could potentially be compiled on the fly from the Android NDK, but
since we plan to replace the webm module by a GDNative plugin in the
near future, I went the bundling route.
- `ifaddrs_android.h` is already provided in the Android NDK as
`ifaddrs.h`, same as on other Unixes. Yet we cannot use it until we
up the min API level to 24, where `getifaddrs` is first defined.
I moved the files to `thirdparty/misc` and synced them with upstream
WebRTC (only indentation changes and removal of `static` qualifiers).
Also removes dropped thirdparty files from COPYRIGHT.txt after changes
in #24105 and #24145.
|
|
|
|
Core: Drop unused global_defaults logic
|
|
Added OS.get_system_time_msecs()
|
|
It used to be used for Android and iOS to specify platform-specific
project settings overrides, but we now have feature tags for that.
|
|
|
|
|
|
|
|
Reduce String CoW
|
|
By introducing an intermediate proxy class for the array subscript
operator for String and CharString we can control better when CowData
will actually CoW.
This should improve performance of String usage for most cases.
|
|
Added basic support for custom resource savers and loaders
|
|
|
|
|
|
The current system for capturing the mouse and generating motion events on X11
has issues with inaccurate and lopsided input. This is because both
XQueryPointer and XWarpPointer work in terms of integer coordinates when the
underlying X11 input driver may be tracking the mouse using subpixel
coordinates. When warping the pointer, the fractional part of the pointer
position is discarded.
To work around this issue, the fix uses raw motion events from XInput 2. These
events report relative motion and are not affected by pointer warping.
Additionally, this means Godot is able to detect motion at a higher resolution
under X11. Because this is raw mouse input, it is not affected by the user's
pointer speed and acceleration settings. This is the same system as SDL2 uses
for its relative motion.
Multitouch input on X requires XInput 2.2. Raw motion events require
XInput 2.0. Since 2.0 is old enough, this is now the minimum requirement to
use Godot on X.
|
|
Added double clicking to all buttons on Linux and Javascript
|
|
Unified button mask behavior across platforms
|
|
Support for x86_64 *could* be added in detect.py, but AFAIK this is not
a widespread architecture for Android, much less for gaming devices.
|
|
Support GLES2 for iOS
|
|
|
|
Changes IME to make it possible to use it from gdscript/gdnative
|
|
|
|
[x11] Use "application/config/name" for WM_CLASS
|
|
Add checking required field for exporting iOS
|
|
without specifying Identifier, it will cause `can not be parsed` error on Xcode
|
|
Fix iOS safe area insets to use pixels and not points
|
|
|
|
|
|
Fix macOS icon export (add 1024px PNG icon and 32px/16px RLE icons).
|
|
Fix wrong size and position when windows is minimized on Windows
|
|
Remove obsolete ANDROID_NATIVE_ACTIVITY
|
|
|