Hein-Pieter van Braam
e5b335d367
Don't use -ffast-math or other unsafe math optimizations
...
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
2019-01-09 02:06:13 +01:00
Rémi Verschelde
bd6ab5360f
Merge pull request #24592 from volzhs/android-etc
...
Make possible to use ETC texture format with GLES3 on Android
2019-01-04 16:49:49 +01:00
Hein-Pieter van Braam
b1e3215f3a
Merge pull request #24477 from lupoDharkael/nouveau
...
Don't enable DRI_PRIME if nouveau is loaded
2019-01-03 23:35:47 +01:00
Guilherme Felipe
86d626e9cb
Implements OS_JavaScript::set_custom_mouse_cursor
2019-01-03 13:51:16 -02:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
d1f3b622f0
Fix missing/malformed license headers
2019-01-01 12:46:36 +01:00
Rémi Verschelde
fb9085ab54
Merge pull request #24482 from organicpencil/mouse_capture_fix
...
Fix missed captured mouse events on x11
2018-12-30 16:18:08 +01:00
Rémi Verschelde
dcc7f2b54b
Merge pull request #24545 from akien-mga/osxcross-mono
...
SCons: Allow building Mono module with OSXCross
2018-12-30 15:07:18 +01:00
Rémi Verschelde
95e96947f6
SCons: Drop ios_sim option forcing x86, simulator needs x86_64
2018-12-27 14:11:13 +01:00
volzhs
130cdb2f2a
Make possible to use ETC texture format with GLES3 on Android
...
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.
2018-12-26 00:47:06 +09:00
Rémi Verschelde
d52100f4ff
SCons: Allow building Mono module with OSXCross
...
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 .
2018-12-22 12:36:19 +01:00
Lee Pugh
b3ff366467
Fix missed captured mouse events on x11
2018-12-21 14:12:47 -06:00
Rémi Verschelde
6770357e47
Android: Better identify thirdparty C/C++ code
...
- 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 .
2018-12-20 13:07:54 +01:00
lupoDharkael
bfade869f3
Don't enable DRI_PRIME if nouveau is loaded
2018-12-20 11:51:26 +01:00
Rémi Verschelde
d8067e905c
Merge pull request #24500 from akien-mga/drop-global_defaults
...
Core: Drop unused global_defaults logic
2018-12-20 11:49:32 +01:00
Rémi Verschelde
a8faa55042
Merge pull request #24485 from volzhs/system-time-ms
...
Added OS.get_system_time_msecs()
2018-12-20 11:31:16 +01:00
Rémi Verschelde
9cb18232c2
Core: Drop unused global_defaults logic
...
It used to be used for Android and iOS to specify platform-specific
project settings overrides, but we now have feature tags for that.
2018-12-20 11:02:49 +01:00
volzhs
84d060c768
Added OS.get_system_time_msecs()
2018-12-20 18:50:50 +09:00
George Marques
e3e5a1bb6e
Add option to add debug keystore in Android export
2018-12-19 15:09:09 -02:00
volzhs
b385a4b053
Fix lint error/warning while building android template
2018-12-18 17:26:33 +09:00
Rémi Verschelde
9c7bc127b9
Merge pull request #24385 from hpvb/reduce-string-coew
...
Reduce String CoW
2018-12-16 19:13:35 +01:00
Hein-Pieter van Braam
4e25e5066b
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.
2018-12-16 16:51:38 +01:00
Rémi Verschelde
9df7ed59fb
Merge pull request #19501 from Zylann/custom_loaders
...
Added basic support for custom resource savers and loaders
2018-12-16 14:26:56 +01:00
Mikko Mustonen
9974f6c56f
switch middle and secondary mouse buttons order
2018-12-15 15:10:06 +02:00
Marc Gilleron
065e2670af
Added basic support for custom resource savers and loaders
2018-12-15 05:34:53 +00:00
Cosmic Chip Socket
cf124b1415
Use XInput2 RawMotion to generate MouseMotion events
...
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.
2018-12-14 23:51:20 +01:00
Rémi Verschelde
5f32fc8208
Merge pull request #20385 from moiman100/unify-double-clicking
...
Added double clicking to all buttons on Linux and Javascript
2018-12-14 23:47:03 +01:00
Rémi Verschelde
57c3f6a94b
Merge pull request #20063 from moiman100/fix-button-mask
...
Unified button mask behavior across platforms
2018-12-14 23:31:52 +01:00
Rémi Verschelde
16fda586d9
Android: Don't expose x86_64 ABI for export if we can't build templates for it
...
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.
2018-12-14 23:08:00 +01:00
Rémi Verschelde
28f78ef844
Merge pull request #24285 from volzhs/support-gles2-ios
...
Support GLES2 for iOS
2018-12-13 10:37:12 +01:00
Sam Green
4cb6b80090
Bump minimum iOS version to 10
2018-12-12 14:40:11 +01:00
Rémi Verschelde
4c41e29c8e
Merge pull request #23923 from bruvzg/ime_gdscript
...
Changes IME to make it possible to use it from gdscript/gdnative
2018-12-11 18:00:48 +01:00
volzhs
20de0679fc
Support GLES2 for iOS
2018-12-11 22:57:53 +09:00
Rémi Verschelde
dc2fadc14d
Merge pull request #22733 from guilhermefelipecgs/fix_wm_class
...
[x11] Use "application/config/name" for WM_CLASS
2018-12-07 22:35:17 +01:00
Rémi Verschelde
dc8fd1c634
Merge pull request #24166 from volzhs/export-ios
...
Add checking required field for exporting iOS
2018-12-05 08:56:17 +01:00
volzhs
e698a92b09
Add checking required field for exporting iOS
...
without specifying Identifier, it will cause `can not be parsed` error on Xcode
2018-12-05 07:32:24 +09:00
Rémi Verschelde
09474ba4c4
Merge pull request #24151 from endragor/fix-ios-safe-area
...
Fix iOS safe area insets to use pixels and not points
2018-12-04 21:47:42 +01:00
Rémi Verschelde
a99e90b258
SCons: Properly set bits variable as string for MSVC detection
2018-12-04 14:30:49 +01:00
Ruslan Mustakov
230510d628
Fix iOS safe area insets to use pixels and not points
2018-12-04 15:50:05 +07:00
Rémi Verschelde
b0c66154a4
Merge pull request #23989 from bruvzg/fix_macos_icons
...
Fix macOS icon export (add 1024px PNG icon and 32px/16px RLE icons).
2018-12-03 17:35:23 +01:00
Rémi Verschelde
49573817b8
Merge pull request #24078 from marcelofg55/win_min_bug
...
Fix wrong size and position when windows is minimized on Windows
2018-12-03 17:32:35 +01:00
Rémi Verschelde
d8a28368f9
Merge pull request #24105 from BastiaanOlij/cleanup_old_android_native
...
Remove obsolete ANDROID_NATIVE_ACTIVITY
2018-12-02 21:15:54 +01:00
Bastiaan Olij
6105a8beb1
Remove obsolete ANDROID_NATIVE_ACTIVITY
2018-12-02 00:48:37 +11:00
George Marques
22233ded4a
Change custom permissions in Android export to an array
...
Don't limit the amount of permissions and makes it simpler to
understand.
2018-11-30 11:13:50 -02:00
Marcelo Fernandez
711bc1c07e
Fix wrong size and position when windows is minimized on Windows
2018-11-30 00:36:48 -03:00
Leon Krause
c4784426bd
Merge pull request #22857 from marcelofg55/jsmic
...
Implemented audio input support for JavaScript audio driver
2018-11-28 12:34:08 +01:00
Andrea Beconcini
11a1624202
uwp export: fix existing template check
2018-11-27 20:20:54 +01:00
Marcelo Fernandez
3a702b3ed8
Implemented audio input support for JavaScript audio driver
2018-11-26 19:14:52 -03:00
bruvzg
56b26c4369
Fix macOS icon export (add 1024px PNG icon and 32px/16px RLE icons).
2018-11-26 16:12:36 +02:00
Hugo Locurcio
8c7087ff7f
Remove an unused script
...
[ci skip]
2018-11-24 16:33:31 +01:00
bruvzg
4554c682e6
Changes IME input to use notification instead of callback, exposes IME methods to gdscript/gdnative.
2018-11-23 14:07:48 +02:00
volzhs
96b1a190a3
Show error if required fields are not filled when exporting iOS
2018-11-23 07:01:29 +09:00
Simon Sikström
00b57d3bd2
Adding support for java.lang.Long values in Android GodotLib.calldeferred calls
2018-11-20 14:46:08 +01:00
Rémi Verschelde
a2a5793e13
Merge pull request #21339 from Placinta/master
...
Fix regular macOS build by passing -isysroot to compiler so correct system headers are found
2018-11-20 14:11:13 +01:00
Rémi Verschelde
7651b85782
Merge pull request #23822 from bruvzg/mac_109_compat_ver_check
...
[macOS] Change runtime OS version checks to allow build with MacOS 10.9 SDK
2018-11-20 14:01:02 +01:00
Rémi Verschelde
173b342ca7
Remove trailing whitespace
...
With `sed -i $(rg -l '[[:blank:]]*$' -g'!thirdparty') -e 's/[[:blank:]]*$//g'`
(+ manual revert of some thirdparty code under `platform/android`).
2018-11-20 11:15:02 +01:00
bruvzg
bbac90c859
[macOS] Change runtime OS version checks to allow build with MacOS 10.9 SDK,
2018-11-19 23:24:28 +02:00
Marcelo Fernandez
385832ed30
Fix X11 running a project with fullscreen setting on and resizable off with multiple screens
2018-11-18 23:03:54 -03:00
bruvzg
4aa441591c
[macOS] Disable setWantsLayer on macOS < 10.14
2018-11-18 16:20:29 +02:00
Ibrahn Sahir
4c90a66e74
Fix gcc version check when running scons in python 3.
2018-11-14 12:25:50 +00:00
Marcelo Fernandez
8705c01f5a
Fix compile recent compile issues with gcc 5.5
2018-11-12 10:24:44 -03:00
Rémi Verschelde
9f4d89dffd
Merge pull request #23622 from RandomShaper/fix-windows-mouse-capture
...
Fix mouse mode restoration on Windows
2018-11-10 21:55:30 +01:00
Rémi Verschelde
54d33fabd1
Merge pull request #23618 from bruvzg/macos_spash_fix
...
[macOS] Fix blank splash screen
2018-11-10 21:46:47 +01:00
Pedro J. Estébanez
b5c56f6cca
Fix mouse mode restoration on Windows
...
Fixes #23494 .
2018-11-09 23:55:19 +01:00
bruvzg
30852d0237
[macOS] Fix blank splash screen
2018-11-09 21:47:23 +02:00
Rémi Verschelde
06c42d151c
Merge pull request #23542 from marcelofg55/no_pie
...
Fix binaries incorrectly detected as shared libraries on some linux distros
2018-11-09 16:12:16 +01:00
Rémi Verschelde
e7cb47e686
Merge pull request #23463 from hpvb/use-dri-prime-default
...
Set DRI_PRIME=1 by default on X11 if not already set
2018-11-08 14:21:12 +01:00
Marcelo Fernandez
34e2d2f4f7
Fix binaries incorrectly detected as shared libraries on some linux distros
2018-11-07 12:39:15 -03:00
Hein-Pieter van Braam
0aad11a6a7
Set DRI_PRIME=1 by default on X11 if not already set
...
This mirrors behavior on Windows and MacOSX where Godot tries to default
to a dGPU if it exists. This doesn't work for Nvidia optimus yet but
this can maybe be added later.
2018-11-06 22:31:35 +01:00
Rémi Verschelde
bf28c614b0
Merge pull request #23461 from hpvb/fix-23400
...
Properly export the various 'use dGPU' symbols when building with MingW
2018-11-05 11:30:06 +01:00
Rémi Verschelde
5d5227104e
Merge pull request #23499 from bruvzg/fix_osx_app_crash_and_black_spash
...
[macOS] Fix .app bundle crash and blank initial window
2018-11-05 09:39:57 +01:00
bruvzg
07aee14dd7
Fix initial blank screen on macOS Mojave (except splash).
2018-11-04 11:19:28 +02:00
bruvzg
cfce8de0b5
Fix .app bundle crash on macOS
2018-11-04 11:19:28 +02:00
Fabio Alessandrelli
f17d83e758
Fix UWP build.
...
Add missing os_uwp.cpp include for VisualServerWrapMT.
Add global env forced include to fix freetype in UWP.
2018-11-03 17:19:44 +01:00
Hein-Pieter van Braam
19d91f788d
Properly export the various 'use dGPU' symbols when building with MingW
...
This fixes exporting the NvOptimusEnablement export when building with
MingW. This also adds the equivalent for AMD.
This fixes #23400
2018-11-03 10:55:03 +01:00
Rémi Verschelde
5beaea9891
Merge pull request #23389 from marcelofg55/multiple_ext
...
Export for OS X on OS X now lets you select .dmg or .zip
2018-11-02 11:07:18 +01:00
Rémi Verschelde
63d7c9be45
Merge pull request #23431 from buresu/fix-keycode
...
Fix keycode problem on OSX
2018-11-02 11:02:39 +01:00
Rémi Verschelde
8ac1bcfd3d
Fix init of VisualServerRaster
...
Contrarily to what #23434 assumed, this is not a memory leak,
the VisualServerRaster instance is passed as a parameter to
VisualServerWrapMT's constructor.
Fixes #23437 .
2018-11-01 19:23:12 +01:00
George Marques
4c9d734a75
Fix initialization of visual server in all platforms
...
Avoid leaking an extra instance when using threads. Also fix threaded
loading issues on Android and iOS.
2018-11-01 10:27:04 -03:00
Marcelo Fernandez
d51999f11d
Export for OS X on OS X now lets you select .dmg or .zip
2018-11-01 10:08:26 -03:00
Naoto Kondo
ca2476cdb4
Fix keycode problem on OSX
2018-11-01 20:00:02 +09:00
Rémi Verschelde
fbc0e5d98d
Merge pull request #23320 from lethiandev/android-invalid-package-name-error
...
Add android export error on invalid package name
2018-11-01 10:18:04 +01:00
Rémi Verschelde
16f066c8f1
Merge pull request #23393 from marcelofg55/osx_crash
...
Fix OS X crash when running as .app
2018-10-31 09:54:11 +01:00
Ibrahn Sahir
9f172b634d
Allow the server platform to build on linux again.
...
Fixed a logic error in platform/server/detect.py that prevented building
the server platform on linux.
2018-10-30 12:38:55 +00:00
Marcelo Fernandez
a069685fbb
Fix OS X crash when running as .app
2018-10-29 21:50:41 -03:00
Rémi Verschelde
bfd1f09ac5
Style: Apply clang-format to wrongly formatted files
2018-10-29 23:47:40 +01:00
Rémi Verschelde
7e8cffc03f
Merge pull request #23382 from vnen/android-pad-fix
...
Prevent a device to be added/deleted more than once on Android
2018-10-29 23:43:43 +01:00
Rémi Verschelde
39a5678c38
Merge pull request #23387 from eska014/memgrowth-preload
...
Enable --no-heap-copy flag for HTML5 builds
2018-10-29 23:43:11 +01:00
Rémi Verschelde
7771fe5d4a
Merge pull request #23388 from eska014/html5-stubexec
...
Add proper stubs for OS_JavaScript::execute(), get_process_id(), kill()
2018-10-29 23:40:17 +01:00
Leon Krause
5c2c47a174
Add proper stubs for OS_JavaScript::execute(), get_process_id(), kill()
...
Avoids linker warnings and errors about undefined references.
2018-10-29 21:41:59 +01:00
Rémi Verschelde
4d9b8a98ba
Merge pull request #23279 from marcelofg55/osx_server
...
Server platform works on OS X too
2018-10-29 21:25:46 +01:00
Leon Krause
44e5d446c4
Enable --no-heap-copy flag for HTML5 builds
2018-10-29 21:08:51 +01:00
Xavier Sellier
7dcf779a8b
Prevent a device to be added/deleted more than once on Android
...
cherry-picked from fb5a601217
2018-10-29 13:04:36 -03:00
Marcelo Fernandez
fe93bb03fe
Server platform works on OS X too
2018-10-29 12:54:51 -03:00
Konrad Nowakowski
2255d4fdfd
Add android export error on invalid package name
2018-10-29 14:26:53 +00:00
Rémi Verschelde
8650793eac
Merge pull request #23317 from lupoDharkael/py-none
...
Dont use equality operators with None singleton in python files
2018-10-29 12:11:24 +01:00
Karen Schwane
a01ce6299c
Move jcenter behind mavenCentral and google gradle repos to fix build problems
2018-10-28 19:20:30 +01:00
lupoDharkael
edcca5f7ad
Dont use equality operators with None singleton in python files
2018-10-27 01:18:15 +02:00
Rémi Verschelde
9de724f327
Merge pull request #23091 from aaronfranke/mingw-warnings
...
Fix some compile warnings for Windows from Linux
2018-10-25 15:09:11 +02:00
M. Huri
b46ba24e3b
Repaired mistyped of 'its' on several files.
2018-10-25 07:19:21 +07:00