summaryrefslogtreecommitdiff
path: root/platform/osx
AgeCommit message (Collapse)Author
2019-02-26-Remove harcoded opengl extension testing from OS, ask rasterizer instead.Juan Linietsky
-Fixed a bug where etc textures were imported broken
2019-02-23[macOS] Make `move_window_to_foreground` to take focus in addition to moving ↵bruvzg
window to front.
2019-02-12Platform: Ensure classes match their header filenameRémi Verschelde
Also drop some unused files. Renamed: - `platform/iphone/sem_iphone.h` -> `semaphore_iphone.h` (same for `osx`) - `platform/uwp/gl_context_egl.h` -> `context_egl_uwp.h` - in `platform/windows`: `context_gl_win.h`, `crash_handler_win.h`, `godot_win.cpp`, `joypad.h` and `key_mapping_win.h` all renamed to use `windows`. Some classes renamed accordingly too. - `EditorExportAndroid` and `EditorExportUWP` renamed to `EditorExportPlatformAndroid` and `EditorExportPlatformUWP` - `power_android` and `power_osx` renamed to `PowerAndroid` and `PowerOSX` - `OSUWP` renamed to `OS_UWP` Dropped: - `platform/windows/ctxgl_procaddr.h`
2019-02-12Drivers, main, servers: Ensure classes match their header filenameRémi Verschelde
Renamed: - `drivers/alsamidi/alsa_midi.h` -> `midi_driver_alsamidi.h` (same for `coremidi` and `winmidi`) - `main/timer_sync.h` -> `main_timer_sync.h` - `servers/visual/visual_server_global.h` -> `visual_server_globals.h`
2019-01-31[macOS] Fix rendering on retina displays with HiDPI support disabled.bruvzg
2019-01-29Using DisplayLink to emulate vsync on OSXBastiaan Olij
2019-01-22Avoid cyclic iteration check, fixes #24969Juan Linietsky
2019-01-21ExportDialog: Make error messages translatableRémi Verschelde
Also fix missing newlines that caused #24202.
2019-01-11[macOS] Fix missing mouse move event speed.bruvzg
2019-01-09Don't use -ffast-math or other unsafe math optimizationsHein-Pieter van Braam
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-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-22SCons: Allow building Mono module with OSXCrossRémi Verschelde
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-14Merge pull request #20063 from moiman100/fix-button-maskRémi Verschelde
Unified button mask behavior across platforms
2018-12-11Merge pull request #23923 from bruvzg/ime_gdscriptRémi Verschelde
Changes IME to make it possible to use it from gdscript/gdnative
2018-11-26Fix macOS icon export (add 1024px PNG icon and 32px/16px RLE icons).bruvzg
2018-11-23Changes IME input to use notification instead of callback, exposes IME ↵bruvzg
methods to gdscript/gdnative.
2018-11-20Merge pull request #21339 from Placinta/masterRémi Verschelde
Fix regular macOS build by passing -isysroot to compiler so correct system headers are found
2018-11-19[macOS] Change runtime OS version checks to allow build with MacOS 10.9 SDK,bruvzg
2018-11-18[macOS] Disable setWantsLayer on macOS < 10.14bruvzg
2018-11-09[macOS] Fix blank splash screenbruvzg
2018-11-04Fix initial blank screen on macOS Mojave (except splash).bruvzg
2018-11-04Fix .app bundle crash on macOSbruvzg
2018-11-02Merge pull request #23389 from marcelofg55/multiple_extRémi Verschelde
Export for OS X on OS X now lets you select .dmg or .zip
2018-11-02Merge pull request #23431 from buresu/fix-keycodeRémi Verschelde
Fix keycode problem on OSX
2018-11-01Fix init of VisualServerRasterRémi Verschelde
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-01Fix initialization of visual server in all platformsGeorge Marques
Avoid leaking an extra instance when using threads. Also fix threaded loading issues on Android and iOS.
2018-11-01Export for OS X on OS X now lets you select .dmg or .zipMarcelo Fernandez
2018-11-01Fix keycode problem on OSXNaoto Kondo
2018-10-29Fix OS X crash when running as .appMarcelo Fernandez
2018-10-29Merge pull request #23279 from marcelofg55/osx_serverRémi Verschelde
Server platform works on OS X too
2018-10-29Server platform works on OS X tooMarcelo Fernandez
2018-10-27Dont use equality operators with None singleton in python fileslupoDharkael
2018-10-24Update mouse location on background scroll and window focus in macOSColin Kinloch
2018-10-23Call -update when window becomes the key windowPatrick Beard
2018-10-05Merge pull request #22685 from remmah/patch-1Rémi Verschelde
Modernized copy/paste APIs on macOS #7185
2018-10-04Fix some OSX and iOS Clang warningsRémi Verschelde
Fixes the following XCode 9.4.1 warnings: ``` core/os/memory.cpp:175:13: warning: unused variable 's' [-Wunused-variable] drivers/coremidi/core_midi.cpp:68:14: warning: comparison between NULL and non-pointer ('MIDIEndpointRef' (aka 'unsigned int') and NULL) [-Wnull-arithmetic] drivers/gles2/rasterizer_gles2.cpp:77:24: warning: unused function '_gl_debug_print' [-Wunused-function,34] drivers/unix/thread_posix.cpp:106:12: warning: unused variable 'running_thread' [-Wunused-variable,34] modules/gdnative/nativescript/nativescript.h:371:16: warning: in-class initialization of non-static data member is a C++11 extension [-Wc++11-extensions] platform/iphone/gl_view.mm:56:14: warning: unused variable 'video_previous_volume' [-Wunused-variable,34] platform/iphone/gl_view.mm:251:12: warning: unused function 'get_first_id' [-Wunused-function,34] platform/iphone/main.m:45:15: warning: unused variable 'app' [-Wunused-variable,34] platform/osx/os_osx.mm:79:15: warning: unused function 'convertRectToBacking' [-Wunused-function] ```
2018-10-03Modernized copy/paste APIs on macOS #7185remmah
2018-10-01SCons: Remove avoidable defines from main env's CPPPATHRémi Verschelde
Also finally move freetype to its own env and disable warnings for it. Still needs some work to fix the awkward situation of the freetype and svg modules used in scene/ and editor/ respectively.
2018-09-28SCons: Build thirdparty code in own env, disable warningsRémi Verschelde
Also remove unnecessary `Export('env')` in other SCsubs, Export should only be used when exporting *new* objects.
2018-09-27Fix warnings about set but unused variables [-Wunused-but-set-variable]Rémi Verschelde
Fixes the following GCC 5 warnings: ``` drivers/gles2/rasterizer_canvas_gles2.cpp:814:8: warning: variable 'rt_size' set but not used [-Wunused-but-set-variable] drivers/gles2/rasterizer_scene_gles2.cpp:2270:11: warning: variable 'vp_height' set but not used [-Wunused-but-set-variable] drivers/gles2/rasterizer_scene_gles2.cpp:2673:22: warning: variable 'e' set but not used [-Wunused-but-set-variable] drivers/gles2/rasterizer_scene_gles2.cpp:715:7: warning: variable 'no_cull' set but not used [-Wunused-but-set-variable] drivers/gles2/shader_gles2.cpp:693:14: warning: variable 'cc' set but not used [-Wunused-but-set-variable] drivers/gles3/rasterizer_canvas_gles3.cpp:1226:8: warning: variable 'rt_size' set but not used [-Wunused-but-set-variable] drivers/gles3/rasterizer_scene_gles3.cpp:3039:10: warning: variable 'contrib' set but not used [-Wunused-but-set-variable] drivers/gles3/rasterizer_scene_gles3.cpp:4504:32: warning: variable 'vp_height' set but not used [-Wunused-but-set-variable] editor/editor_inspector.cpp:272:9: warning: variable 'guide_color' set but not used [-Wunused-but-set-variable] editor/editor_themes.cpp:1067:14: warning: variable 'alpha3' set but not used [-Wunused-but-set-variable] editor/editor_themes.cpp:263:8: warning: variable 'script_bg_color' set but not used [-Wunused-but-set-variable] editor/plugins/collision_shape_2d_editor_plugin.cpp:326:11: warning: variable 'cpoint' set but not used [-Wunused-but-set-variable] editor/plugins/mesh_editor_plugin.cpp:72:9: warning: variable 'size' set but not used [-Wunused-but-set-variable] editor/plugins/shader_editor_plugin.cpp:471:12: warning: variable 'mpos' set but not used [-Wunused-but-set-variable] editor/plugins/shader_editor_plugin.cpp:89:8: warning: variable 'basetype_color' set but not used [-Wunused-but-set-variable] editor/plugins/shader_editor_plugin.cpp:90:8: warning: variable 'type_color' set but not used [-Wunused-but-set-variable] editor/plugins/shader_editor_plugin.cpp:92:8: warning: variable 'string_color' set but not used [-Wunused-but-set-variable] modules/visual_script/visual_script_editor.cpp:2521:7: warning: variable 'seq_connect' set but not used [-Wunused-but-set-variable] platform/android/export/export.cpp:580:12: warning: variable 'styles_count' set but not used [-Wunused-but-set-variable] platform/android/export/export.cpp:584:12: warning: variable 'styles_offset' set but not used [-Wunused-but-set-variable] platform/osx/export/export.cpp:464:9: warning: variable 'zerr' set but not used [-Wunused-but-set-variable] scene/2d/tile_map.cpp:260:10: warning: variable 'tcenter' set but not used [-Wunused-but-set-variable] scene/3d/light.cpp:166:7: warning: variable 'editor_ok' set but not used [-Wunused-but-set-variable] scene/3d/navigation.cpp:566:11: warning: variable 'closest_navmesh' set but not used [-Wunused-but-set-variable] scene/gui/rich_text_label.cpp:869:8: warning: variable 'size' set but not used [-Wunused-but-set-variable] scene/main/viewport.cpp:705:14: warning: variable 'xform' set but not used [-Wunused-but-set-variable] scene/main/viewport.cpp:706:8: warning: variable 'ss' set but not used [-Wunused-but-set-variable] scene/main/viewport.cpp:726:14: warning: variable 'xform' set but not used [-Wunused-but-set-variable] scene/main/viewport.cpp:727:8: warning: variable 'ss' set but not used [-Wunused-but-set-variable] scene/resources/material.cpp:430:7: warning: variable 'using_world' set but not used [-Wunused-but-set-variable] servers/visual/shader_language.cpp:2026:7: warning: variable 'all_const' set but not used [-Wunused-but-set-variable] servers/visual/visual_server_scene.cpp:1383:28: warning: variable 'z_max_cam' set but not used [-Wunused-but-set-variable] ``` Also fixes two [-Wunused-value] warnings: ``` scene/gui/text_edit.cpp:4405:20: warning: statement has no effect [-Wunused-value] servers/visual/visual_server_scene.cpp:905:48: warning: value computed is not used [-Wunused-value] ``` Some of those are bugs and need further work, they are identified with `// FIXME` comments.
2018-09-24Fixed hang when segfaulting after OS object destroyed (OSX and X11)Ibrahn Sahir
The two POSIX style crash handlers (OSX and X11) now remove their signal handlers when they are destroyed. Additonally if they are called while no OS singleton is set, they will simply abort(). This should not happen now that they remove themselves, but if a future change seperates OS object and crash handler lifetimes, this may be easier to report/debug than hanging on SIGSEGV.
2018-09-17Fix Input::set_custom_mouse_cursor showing cursor when it's invisibleGuilherme Felipe
2018-09-13Fix set_custom_mouse_cursor changing to incorrect cursor shapeGuilherme Felipe
[Docs] Add class ref for Input::set_default_cursor_shape
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-09-04Really fix the custom cursor hotspotMartin Capitanio
Add check for negative values. Fixes #21721
2018-09-03Fix custom cursor hotspotGuilherme Felipe
Cursor hotspot must be inside image on Linux. Adding validation for all platforms for consistency.
2018-08-27Pass -isysroot to compiler / linker when doing a macOS buildAlexandru Croitor
Previously the compiler would use system headers located at /System/Library/Frameworks, which could result in compilation failures due to the headers not always being up-to-date in regards to the latest installed macOS SDK headers that come with Xcode. Fix the issue by passing the SDK path via the -isysroot option to the compiler and linker invocations. If no custom SDK path is given, the build system queries the SDK path via xcrun --show-sdk-path, which returns something similar to /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ /Developer/SDKs/MacOSX.sdk/ Querying via xcrun is now also done for iphone (and simulator) platforms as well. Here is an example of a compilation failure message due to outdated headers: platform/osx/os_osx.mm:1421:41: error: use of undeclared identifier 'NSAppKitVersionNumber10_12'; did you mean 'NSAppKitVersionNumber'? if (floor(NSAppKitVersionNumber) >= NSAppKitVersionNumber10_12) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ NSAppKitVersionNumber /System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:26:28: note: 'NSAppKitVersionNumber' declared here
2018-08-26Fall back to GLES2 if GLES3 is not workingHein-Pieter van Braam
This adds a static is_viable() method to all rasterizers which has to be called before initializing the rasterizer. This allows us to check what rasterizer to use in OS::initialize together with the GL context initialization. This commit also adds a new project setting "rendering/quality/driver/driver_fallback" which allows the creator of a project to specify whether or not fallback to GLES2 is allowed. This setting is ignored for the editor so the editor will always open even if the project itself cannot run. This will hopefully reduce confusion for users downloading projects from the internet. We also no longer crash when GLES3 is not functioning on a platform. This fixes #15324
2018-08-24Merge pull request #20712 from marcelofg55/midi_open_closeJuan Linietsky
Add OS::open_midi_inputs and OS::close_midi_inputs
2018-08-24Make some debug prints verbose-only, remove othersRémi Verschelde