Commit Graph

1554 Commits

Author SHA1 Message Date
Hein-Pieter van Braam cada03eedb 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

(cherry picked from commit e5b335d367)
2019-07-03 15:53:22 +02:00
Rémi Verschelde c6cc6c86e5 Fix loading EXR with alpha channel
Fixes #24659.

(cherry picked from commit 08f71baca5)
2019-07-03 15:50:46 +02:00
Daniel Abbott cf2ebf5d47 `GodotRestInfoContactResultCallback::addSingleResult` now returns normal
`PhysicsDirectSpaceState.get_rest_info()` now provides normals in result
Addresses issue 24558

(cherry picked from commit 572367552c)
2019-07-03 15:50:10 +02:00
Leon Krause a2381b9049 Build squish decompression in runtime
(cherry picked from commit 32751e09ac)
2019-07-03 15:34:08 +02:00
Pedro J. Estébanez 94476aba94 Fix crash on signal/resume to dangling target
(cherry picked from commit 06b6cea62e)
2019-07-03 15:16:33 +02:00
Ibrahn Sahir 0b2a884fe2 Assign pointer null in RegEx::clear to avoid double free on destruction.
(cherry picked from commit f8a1c77fcf)
2019-07-03 15:01:37 +02:00
qonnop b9ee398cbc Fixed DDS loader according to issue #22530
width and height attributes have to be switched according to the
official DDS header docs:
https://docs.microsoft.com/en-us/windows/desktop/direct3ddds/dds-header

(cherry picked from commit a93edeb307)
2019-07-03 14:27:25 +02:00
Andrea Catania 7957a7bd2e Fixed crash if convex has 0 vertices
(cherry picked from commit 9a67a07a2c)
2019-07-03 14:06:38 +02:00
Justin Abene 37bb769470 Prevent "cannot use a string pattern on a bytes-like object"
Fixes #21207

(cherry picked from commit c6a4ca5c9e)
2019-07-03 13:58:55 +02:00
John Teasdale 75f1731232 Bullet picking will now ignore objects without input_ray_pickable
(cherry picked from commit 7323f7998b)
2019-07-03 13:58:07 +02:00
Teashrock f7aaf161fb Fixed absent variable exception while trying to raise another exception.
(cherry picked from commits 51a0a38135
and 695b8d254e)
2019-07-03 13:48:46 +02:00
Nick Hope d3b67bde8a fixed: windows mono compile (#20598)
tidy: formatting.

(cherry picked from commit 24b4694313)
2019-07-03 13:35:41 +02:00
Swarnim Arun 209c6164f4 Fix Visual Script duplicate issue
(cherry picked from commit b893dc2028)
2019-07-03 13:35:41 +02:00
Marcelo Fernandez 5c69f83c96 Fix possible crash at NativeScript::get_base_script
(cherry picked from commit 77f3c0b495)
2019-07-03 13:35:41 +02:00
Saracen 493e220ab9 Fix bits_per_pixel validation in BMP and TGA loader modules.
(cherry picked from commit 115f6d14a0)
2019-07-03 13:02:45 +02:00
Yasha Borevich f17983e9cf Fix memory leak in GDScript during infinnity loops with yields
(cherry picked from commit 30317296af)
2019-07-03 12:42:41 +02:00
Emmanuel Leblond 3808544891 [Pluginscript] Fix not working exports in editor
(cherry picked from commit 380b85a32f)
2019-07-03 12:33:25 +02:00
George Marques a5a9d887da Fix positive operator in GDScript compiler
(cherry picked from commit 3cec24baa8)
2019-07-03 12:33:25 +02:00
sheepandshepherd 3fcdb3198b Fix NativeScript property list
(cherry picked from commit bc110b3771)
2019-07-03 12:27:24 +02:00
Ignacio Etcheverry 64a7a6b2f4 Mono: Buildsystem support for finding MSBuild from VS2019
(cherry picked from commit e82b2def8e)
2019-07-03 11:02:10 +02:00
Sebastian Hartte adb9815199 Add support for new MSBuild directory naming introduced in VS 2019.
(cherry picked from commit 7440295ad1)
2019-07-03 11:01:35 +02:00
elasota 0921e68913 Fix tiled EXR crash, update tinyexr to head to fix corrupted uncompressed EXR loading
(cherry picked from commit 4b7885fb1e)
2019-06-04 11:26:10 +02:00
Rémi Verschelde 9b8929cd28 libwebp: Sync with upstream 1.0.2
(cherry picked from commit 93f6a065f8)
2019-06-04 10:32:43 +02:00
volzhs f5dbc64e10 Update libwebp to 1.0.1
(cherry picked from commit d4133ac844)
2019-06-04 10:32:38 +02:00
volzhs c1b14b220b Update libwebp to 1.0.0
(cherry picked from commit 6ed8124923)
2019-06-04 10:32:30 +02:00
Rémi Verschelde 392e5cfa1e Android: Add support for x86_64 architecture
Like arm64v8, this is only supported by API 21 and later,
so we enforce 21 as min API for x86_64.

Part of #25030.

(cherry picked from commit 7f4ee36469)
2019-01-16 12:51:56 +01:00
Rémi Verschelde 9b226e60e3 SCons: Deprecate ios_sim option forcing x86, simulator needs x86_64
(cherry picked from commit 95e96947f6)
2019-01-16 12:35:29 +01:00
Rémi Verschelde 0eab0d9343 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-03 11:41:35 +01:00
Rémi Verschelde 468b3dccab Fix missing/malformed license headers 2019-01-03 11:18:27 +01:00
Juan Linietsky 9c8d84ed6c Get rid of gridmap error due to not yet valid cursor instance, fixes #17546
(cherry picked from commit 8306d60e85)
2018-11-28 10:27:42 +01:00
Rémi Verschelde cff0913be8 openssl: Update to pristine 1.0.2q (security update) 2018-11-22 17:51:18 +01:00
Rémi Verschelde 8bde816efd openssl: Reorder sources alphabetically 2018-11-22 16:43:17 +01:00
Hein-Pieter van Braam 16ab5e091d 3.0.7-devel
Onwards my precious!
2018-07-31 20:13:10 +02:00
Hein-Pieter van Braam 83140541dc Fix Mono compilation on Windows/Ming 2018-07-28 23:01:38 +02:00
Ignacio Etcheverry 1a325e3580 Fix continuous attempt to reload domain with API assemblies out of sync
(cherry picked from commit 762c912e8e)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry fc678567d7 Mono: Fix domain reload never triggering
(cherry picked from commit f1130f9a8a)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry 286ff21dd1 Fix '!valid' error spam on C# script instance create
(cherry picked from commit 8edf85b09c)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry cf1c127c23 Mono: Fix null dereferences
(cherry picked from commit 5aefe5d936)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry 31f8d3525d Add Array and Dictionary wrapper classes to C#
(cherry picked from commit ee3c476c9a)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry e1cf8dc2cb Mono: Pending exceptions and cleanup
(cherry picked from commit 4739cb8c00)
2018-07-28 16:06:30 +02:00
Rémi Verschelde 291be24742 Mono: Default to not shipping C# scripts content
Fixes #20053.

(cherry picked from commit df170d81cc)
2018-07-28 16:06:30 +02:00
Aaron Franke 3304c7620a [Mono] Improvements to GD.cs: PascalCasing and real_t
[Mono] Improvements to GD.cs: PascalCasing and real_t

(cherry picked from commit 174cf31d00)
2018-07-28 16:06:30 +02:00
Pieter-Jan Briers ba441c48b0 Makes Mono bindings partial & adds GetNode<T>.
(cherry picked from commit a8c97eb094)
2018-07-28 16:06:30 +02:00
oisincar e5aedf130f Fix bug with Basis.Transposed()
Fix bug where Basis.Transposed() incorrectly updated local basis, and
returned an unmodified copy. This also fixes Transform.Inverse().

(cherry picked from commit 7a4d593198)
2018-07-28 16:06:30 +02:00
Ignacio Etcheverry 94debea0a9 Make C# bindings generator ignore disabled classes
(cherry picked from commit 92c7fe422b)
2018-07-28 16:06:30 +02:00
Aaron Franke c6a48e11e9 [Mono] Update about/warning text
I've removed the section about being unable to export games using C# - as you are now able to do this, as long as the export templates are installed. Also, I've made a few minor grammar tweaks.

(cherry picked from commit 69530ef614)
2018-07-28 16:06:30 +02:00
Mads Ynddal 327452cb09 Added path for Mono installed through Homebrew
On macOS, it is common to install packages like Mono through the third-party
package-manager Homebrew. This commit simply adds an additional path to
where Homebrew installs the Mono framework.

(cherry picked from commit 39aabba0a9)
2018-07-28 16:06:30 +02:00
Kelly Thomas c751b66d38 convert unicode mono root path to ascii string
(cherry picked from commit 753230c275)
2018-07-28 16:06:30 +02:00
Aaron Franke 68bfea5aa0 [Mono] Rename Fposmod to PosMod
[Mono] Rename Fposmod to PosMod

(cherry picked from commit 5b2b23c9a9)
2018-07-28 16:06:30 +02:00
Rémi Verschelde c709dff1a2 Style: Format code with clang-format 6.0.1
(cherry picked from commit 7c9f7452f4)

Travis: Update style checks to clang-format 6.0.1

(cherry picked from commit 003ac67df1)
2018-07-18 16:37:23 +02:00