Age | Commit message (Collapse) | Author |
|
Properly detect when to use DRI_PRIME
|
|
|
|
We fork off twice once with and once without DIR_PRIME=1 set. We
then use the vendor string to determine what GPU to use.
We prefer (in order)
1) AMDGPU/AMDGPU-PRO/NVidia non-free driver
2) Intel driver
3) Nouveau
4) Software rendering
If a driver can't be detected it will default to DRI_PRIME=0
|
|
|
|
Closes #25378.
|
|
|
|
Improve custom thread numbering for POSIX
|
|
Allow requesting full screen during start-up in HTML5 platform
|
|
We lazily assign new IDs to threads that do not have one. This is the case for threads not created by the Godot API.
|
|
|
|
|
|
Fixes #19906
|
|
While looking into a different issue, I've noticed that Visual Studio Intellisense does not work well for Godot project when using Windows Vista+ APIs (e.g. CreateThreadpool), i.e. it does not recognise the APIs because they are defined in Windows header files for Vista+ only.
This is because the WINVER and _WIN32_WINNT symbols don't have their values set in the generated Godot project file. This fixes the problem by setting the values when generating the project file.
|
|
|
|
|
|
Rename sanitizer option names.
|
|
Change EditorFileSystem to not use directory modification times on FAT32, fixes #20946
|
|
Also fix missing newlines that caused #24202.
|
|
Make the sanitizer names more explicit (use_ubsan, use_asan, use_lsan).
Comment has been adjusted to include GCC as supported compiler for these
and exclude -fno-omit-frame-pointer option (should not cause any
problems).
|
|
Resume audio context after mouse, touch or key input.
|
|
Fixed a typo in 'uwp_device_capabilites'
|
|
Fix HTML5 build warning
|
|
|
|
|
|
|
|
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.
|
|
|