Commit Graph

320 Commits

Author SHA1 Message Date
Stuart Carnie 5c1075127b
chore(metal): Separate legacy GL and Metal source
* Forks of Cocoa / Cocoa Touch to *_metal.* version
* Reverted original GL Cocoa / Cocoa Touch versions
* GL and Metal projects still build
2018-11-04 20:50:50 -07:00
twinaphex 7c93a0934e (Cocoa) Dehardcode some strings 2018-10-30 19:32:52 +01:00
twinaphex a662b62d19 Use runloop_get_libretro_system_info in more places - clean some code up 2018-10-30 17:11:07 +01:00
Stuart Carnie 1e6503c0d9 fix(cocoa): Use RApplication for OpenGL 2018-10-21 15:57:05 -07:00
Stuart Carnie ab1242f368 fix(cocoa): Move sendEvent implementation to RAWindow
Introduced independent Info_Metal.plist and MainMenu_Metal.xib files,
to avoid breaking earlier builds.
2018-10-18 19:03:10 -07:00
Stuart Carnie ca0c1533e3 fix(cocoa): Suppress event propagation when event is not for RA window
This is required when the Qt window is focused.

Ideally, event handling should be reviewed and refactored such that this
hack is not necessary.
2018-10-17 22:39:45 -07:00
Stuart Carnie 9370123133 fix: Post CMD_EVENT_QUIT directly to command queue 2018-10-17 19:36:18 -07:00
twinaphex 7717631909 Buildfix 2018-10-15 03:38:43 +02:00
twinaphex 9f74b05b13 Add HAVE_QT ifdefs 2018-10-15 03:38:15 +02:00
twinaphex fa1096a604 Warning fix 2018-10-01 03:43:53 +02:00
Stuart Carnie f1ad1ff444 fix(Metal): Fix invalid selector
Removed selector logic and wrapped in HAVE_METAL, given this is only
called when Metal is enabled.
2018-09-02 12:51:34 -07:00
Stuart Carnie 6b7572d166 fix(macOS): Fix stack overflow when raising Metal shader load event 2018-09-01 16:12:43 -07:00
Stuart Carnie 802697fdec fix(Metal): Use textures for pixel conversion 2018-09-01 11:58:37 -07:00
Stuart Carnie 1264e9c533 fix(Metal): Use ifdef syntax; add correct default for Metal build 2018-09-01 11:58:37 -07:00
twinaphex 64cc28a487 Update 2018-09-01 01:14:26 +02:00
twinaphex 10f374182f Revert "Change these ifdefs"
This reverts commit 245f265098.
2018-08-31 21:49:16 +02:00
twinaphex 245f265098 Change these ifdefs 2018-08-31 21:48:58 +02:00
neville 8c3479f850 (OSX PowerPC) PowerPC Fixed 2018-08-31 21:22:37 +02:00
Twinaphex 832bf6d6e8 Get rid of this compile-time ifdef 2018-08-31 19:29:11 +02:00
twinaphex a58511ec00 Revert "Compatibility fixes for OSX PPC"
This reverts commit d7899c51aa.
2018-08-31 19:20:10 +02:00
twinaphex 70f9abe99f Revert "Add conditionals to maintain backwards compatibility with OSX 10.5"
This reverts commit 1222192afb.
2018-08-31 19:20:03 +02:00
twinaphex 0b069c4ee3 Revert "Use constant values instead of MAC_OS_X_VERSION_ - might not be available on earlier OSX versions/xcode"
This reverts commit f35b578c42.
2018-08-31 19:19:56 +02:00
twinaphex 1265d7546c Revert "Start using raw constants for OSX version detection"
This reverts commit ab34a70873.
2018-08-31 19:19:42 +02:00
twinaphex c7af7ae00d Revert "Add conditionals for OSX 10.6 and higher"
This reverts commit 7f7f23d08b.
2018-08-31 19:19:35 +02:00
twinaphex 91145e02c6 Revert "OSX PowerPC - gets it compiling and linking again but doesn't work -"
This reverts commit f16ec700a9.
2018-08-31 19:19:27 +02:00
neville f16ec700a9 OSX PowerPC - gets it compiling and linking again but doesn't work -
left a TODO/FIXME for aussiebloke
2018-08-30 17:45:22 +02:00
twinaphex 7f7f23d08b Add conditionals for OSX 10.6 and higher 2018-08-30 17:38:43 +02:00
twinaphex ab34a70873 Start using raw constants for OSX version detection 2018-08-30 16:35:44 +02:00
neville f35b578c42 Use constant values instead of MAC_OS_X_VERSION_ - might not be available on earlier OSX versions/xcode 2018-08-30 16:29:58 +02:00
twinaphex 1222192afb Add conditionals to maintain backwards compatibility with OSX 10.5 2018-08-30 16:22:02 +02:00
neville d7899c51aa Compatibility fixes for OSX PPC 2018-08-30 16:18:51 +02:00
Stuart Carnie 0291c41afa fix(Metal): Fix blank screen after full screen toggle; window focus 2018-07-14 11:18:21 -07:00
Stuart Carnie 74e1f24e90 feat(Metal): Full screen support
* I believe there is a race condition where the viewport is not set
  correctly on launch
2018-07-06 23:38:34 -07:00
Stuart Carnie d1712d7c5a fix(macOS): Fix older targets 2018-07-04 15:26:49 -07:00
Stuart Carnie d8061ac0e9 fix(macOS): Use correct availability macro check 2018-07-04 14:19:05 -07:00
Stuart Carnie c7b21d5bd6 feat(Metal): Add support to disable display sleep (no screen saver) 2018-07-04 13:13:03 -07:00
Stuart Carnie 5240efc857 chore(Metal): fix compiler warnings when targeting newer macOS versions 2018-07-04 00:24:04 -07:00
Stuart Carnie a0900ec433 feat(Metal): full xmb pipeline support
Menu TODOs:

* understand why ribbon does not look the same as GL
* add clear support to `MenuDisplay` for glui
2018-07-03 22:32:12 -07:00
Stuart Carnie eacd52f009 fix(Metal): improve shader stability
* use MTKView, which handles layer and scaling changes automatically
  between displays
2018-06-23 13:33:27 -07:00
twinaphex 837cf84fc8 Put this around an ifdef 2018-06-21 08:26:27 +02:00
Stuart Carnie 411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
Brad Parker a1aefc901c Qt WIMP GUI 2018-04-30 14:33:05 -04:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex 449483206f Revert "New attempt to fix memory leaks of struct retro_system_info"
This reverts commit a1d3dd69dd.
2017-05-30 01:44:49 +02:00
twinaphex a1d3dd69dd New attempt to fix memory leaks of struct retro_system_info
char variables
2017-05-29 22:24:10 +02:00
twinaphex 3fbed8df27 (Menu) Menu driver no longer uses a duplicate system info
struct
2017-05-28 17:21:57 +02:00
twinaphex bf3188eac4 Combine runloop_ctl and rarch_ctl 2017-05-15 05:06:23 +02:00
twinaphex 80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex 42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
twinaphex 9fdcd926ad Buildfixes 2017-04-29 02:00:50 +02:00
twinaphex 09f108b4a7 (OSX) Buildfix 2017-04-28 15:09:43 +02:00
Twinaphex 2d239779a5 (OSX) Buildfix 2017-02-21 17:30:18 +01:00
twinaphex d3e8e66b9f Create task_push_load_content_with_current_core_from_companion_ui 2017-02-21 17:29:30 +01:00
twinaphex 96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex b3642df33f (ui_cocoa.m) Cleanups 2017-01-16 22:34:36 +01:00
twinaphex 3d7fbd355e (Apple) Buildfixes 2016-10-22 17:41:26 +02:00
twinaphex d08668b331 Rollback 4b807b482 - was unnecessary in hindsight anyway 2016-10-22 16:39:55 +02:00
twinaphex 4b807b482f Create runloop_poll 2016-10-20 02:17:17 +02:00
Twinaphex f5a38977d8 (OSX) Don't register click if we are on titlebar (we detect this for now
if y of location in windows' position is less than 0
2016-10-01 02:01:01 +02:00
twinaphex da64bb0f0d (ui_cocoa) Cleanup main loop 2016-09-30 08:17:18 +02:00
twinaphex 228886062b Create path_clear 2016-09-30 04:31:19 +02:00
Twinaphex bc705b79e1 (OSX) Fix 2016-09-29 09:58:57 +02:00
Twinaphex f0facb5463 Silence implicit declarations warnings 2016-09-23 03:42:50 +02:00
twinaphex 2d11ea71cc Move runloop_fullpath to paths.c 2016-09-23 03:39:44 +02:00
twinaphex 164d3b034c Get rid of OSX_PPC 2016-09-09 15:56:56 +02:00
twinaphex 82d82110ae Merge system.h with core.h 2016-09-06 06:11:54 +02:00
twinaphex bf4fd2a864 Update headers for ui/drivers 2016-09-05 18:33:22 +02:00
neville 35b48bca2c (OSX PPC) Buildfix 2016-06-12 19:38:30 +02:00
Twinaphex b11bfc8a73 Add ui_companion_driver_get_main_window 2016-06-12 19:29:07 +02:00
Twinaphex 4481486071 (OSX) openDocument - cleanup 2016-06-09 10:57:02 +02:00
twinaphex ac29a2acc2 Free heap variable 2016-06-08 17:56:09 +02:00
Twinaphex 29012aa74f (Cocoa) Cleanups 2016-06-08 17:54:55 +02:00
Twinaphex 5a746e04c2 (OSX) Refactor document loading code 2016-06-08 17:51:05 +02:00
Twinaphex 1cd441b125 (Cocoa) Reimplement browser loading code 2016-06-08 17:18:48 +02:00
twinaphex 969ef4b88d Add stub browser window implementations for Win32/Cocoa 2016-06-08 15:51:43 +02:00
twinaphex 0e01a3c84b Add ui_browser_window 2016-06-08 15:47:00 +02:00
twinaphex 615fc0432f Free strdup'ed values 2016-06-08 07:24:26 +02:00
twinaphex 047ffe9d30 Remove apple_display_alert 2016-06-08 07:19:19 +02:00
Twinaphex 6cf905508e Reimplement apple_display_alert to use new ui_msg_window implementation 2016-06-08 07:07:10 +02:00
Twinaphex aa81c1d82f Start implementing ui_cocoa_msg_window.m 2016-06-08 06:56:42 +02:00
twinaphex 10a25209da (Msg window) Add backends for Win32/Cocoa 2016-06-08 06:33:15 +02:00
twinaphex a247b16164 Add ui_null_msg_window 2016-06-08 06:29:52 +02:00
Twinaphex ba962d5dda Remove poll_iteration 2016-06-07 17:16:16 +02:00
Twinaphex 02910fd64d (Cocoa) Implement ui_application_process_events 2016-06-07 17:14:57 +02:00
Twinaphex 3b16eb1e91 Add (stub) ui_cocoa_application.m 2016-06-07 16:51:25 +02:00
twinaphex a90bd8cb67 Add ui_null_application.c 2016-06-07 16:31:35 +02:00
twinaphex 242e3d6a9e (ui_cocoa.m) Cleanups 2016-06-04 18:09:40 +02:00
Twinaphex 8e9bb03301 (Cocoa) Rewrite poll_iteration 2016-06-04 18:03:46 +02:00
Twinaphex 98014f7b66 (Cocoa) Add stub ui_cocoa_window.m 2016-06-04 07:56:28 +02:00
twinaphex 61e1c13ae6 Create stub window interface 2016-06-04 04:24:54 +02:00
twinaphex 7d26034ebe Rename rarch_task_* to task_* 2016-05-27 18:14:47 +02:00
twinaphex 747fe1ae63 (Cocoa) Remove obsolete forward declaration 2016-05-17 09:18:37 +02:00
Twinaphex 679cabd430 (OSX) Hopefully this GL hack is no longer necessary on 10.5-era OSX 2016-05-17 09:15:56 +02:00
Twinaphex 52937d4b02 Fix CONTENT_MODE_LOAD_CONTENT_WITH_CURRENT_CORE_FROM_COMPANION_UI 2016-05-17 09:14:18 +02:00
twinaphex fcf2decb2e Remove persist argument 2016-05-17 09:07:41 +02:00
twinaphex bb1d1da693 Remove runloop_iterate_data 2016-05-16 17:29:02 +02:00
twinaphex f70dc77a61 Pass content_ctx_info_t pointer to rarch_task_push_content 2016-05-16 16:25:16 +02:00
Twinaphex 81f669ca61 (Cocoa) Buildfix 2016-05-16 15:44:21 +02:00
twinaphex 6ef0b86e30 Reimplement content loading - task_content_load 2016-05-16 12:51:55 +02:00
twinaphex 2691ab0c7d Rename command_event enums 2016-05-09 20:51:53 +02:00
twinaphex a98ef36d36 Rename event_cmd_ctl to command_event 2016-05-09 20:20:50 +02:00
twinaphex 13e67aa44e Create runloop_iterate_data 2016-05-08 06:29:11 +02:00
Twinaphex 829656391a (OSX) Fix build 2016-04-28 19:29:21 +02:00
Twinaphex d5bc3c4d5b (OSX) Silence some warnings - just use plain numbers instead of enums
which can rapidly grow out of date
2016-03-03 00:48:45 +01:00
Twinaphex 353072c9cd (OSX) Fix build now for real 2016-02-26 13:39:32 +01:00
twinaphex 4dfed7e930 Cast to NSOpenGLContext * 2016-02-26 13:39:01 +01:00
twinaphex dcefb740f2 Create glcontext_get_ptr 2016-02-26 13:36:12 +01:00
twinaphex c6220a9e66 Reimplement rarch_task_push_content_load_default 2016-02-12 04:55:18 +01:00
twinaphex e26c88b4bb (OSX) Buildfix 2016-02-12 04:40:53 +01:00
twinaphex 21c4a07cf0 (OSX) Buildfix 2016-02-10 07:20:54 +01:00
twinaphex ce31c2b02a Add header 2016-01-25 06:17:00 +01:00
twinaphex 5cfc9c1830 (OSX) Buildfix 2016-01-24 07:19:37 +01:00
twinaphex 372d673a26 Rename event_command to event_cmd_ctl - add second parameter 2016-01-22 15:34:43 +01:00
Twinaphex 6f49139eba (OSX) Buildfix 2016-01-21 04:02:15 +01:00
twinaphex a767031651 Use string_is_equal in more places 2016-01-20 04:11:25 +01:00
Twinaphex b1b8f2645f (Apple) Buildfix 2016-01-20 00:38:48 +01:00
twinaphex 01d58f8681 Create RARCH_CTL_IS_INITED, RARCH_CTL_SET_INITED, RARCH_CTL_UNSET_INITED 2016-01-19 23:26:47 +01:00
neville f44e0db97c (Load Core) OSX - Filter by dylibs 2016-01-17 19:27:33 +01:00
Twinaphex a4eae00ac2 Make this runtime too 2016-01-17 19:03:57 +01:00
Twinaphex c9c46b8060 Get rid of another compile-time define 2016-01-17 18:58:50 +01:00
Twinaphex 9324f257fc (OSX 10.5) Change label to 'Load Content' 2016-01-17 18:46:26 +01:00
Twinaphex 681396b151 (OSX) Cleanups 2016-01-17 18:45:01 +01:00
Twinaphex bd153870c2 Move callback function up 2016-01-17 18:43:24 +01:00
Twinaphex 43b949a9a0 Create open_document_handler 2016-01-17 18:42:52 +01:00
Twinaphex 4f0233fbf9 Use BOXSTRING 2016-01-17 18:39:42 +01:00
Twinaphex 777af02e82 Create open_core_handler - cut down on code duplication 2016-01-17 18:38:08 +01:00
neville f6c6f64a20 Implement openCore for OSX 10.5 2016-01-17 18:34:18 +01:00
Twinaphex 7f505afda7 (OSX) Prevent crash with previous hack 2016-01-17 16:26:04 +01:00
Twinaphex 55105303ac Add hack that works around this issue 2016-01-17 15:55:30 +01:00
twinaphex 4b9fea617c (OSX) Perform selectorOnMainThread - move to applicationDidFinishLaunching 2016-01-15 23:09:50 +01:00
twinaphex 8323d06d3d (Cocoa) No more dependencies on get_chosen_screen or
get_backing_scale_factor
2016-01-15 22:20:46 +01:00
Twinaphex f35690e2e5 Fixes 2016-01-15 22:16:18 +01:00
twinaphex 09a183df3f (OSX) Create get_backing_scale_factor 2016-01-15 22:15:23 +01:00
twinaphex 3427d08c34 Do early return in case get_chosen_screen returns NULL 2016-01-15 14:00:11 +01:00
Twinaphex 26bcfa8d89 Revert "Refactor function get_float_from_selector - obsolete"
This reverts commit 1b2632e7fa.
2016-01-15 13:03:40 +01:00
twinaphex 1b2632e7fa Refactor function get_float_from_selector - obsolete
hardcoded ifdef
2016-01-15 12:53:33 +01:00
twinaphex 647438ae93 Hopeful buildfix 2016-01-15 12:40:56 +01:00
Twinaphex 4461ff8442 Fix crappy bug that happens with NSOpenPanel and Cocoa GL - current
context gets lost
2016-01-13 19:44:05 +01:00
Twinaphex a2580d3ec2 Revert "(OSX) use beginWithCompletionHandler - fixes 'OK' case"
This reverts commit 8b1b14e818.
2016-01-13 19:07:57 +01:00
Twinaphex 8b1b14e818 (OSX) use beginWithCompletionHandler - fixes 'OK' case 2016-01-13 19:06:27 +01:00
Twinaphex 61987e8ba5 Add 'set message' 2016-01-13 18:09:08 +01:00
Twinaphex b28771eadb Set dialogs to default dir 2016-01-13 17:00:41 +01:00
twinaphex 172b972a32 Add NSCancelButton cases 2016-01-13 13:36:50 +01:00
twinaphex fdc1f963b2 (ui_cocoa.m) Cleanups 2016-01-13 13:08:51 +01:00
twinaphex a8c6fc150b Add RUNLOOP_CTL_DATA_ITERATE 2015-12-11 10:17:18 +01:00
twinaphex d7fd52b03f Make g_system_menu no longer a global 2015-12-10 23:08:34 +01:00
twinaphex b0b35ba9e5 Remove more references to menu_driver_get_ptr outside of menu/ files 2015-12-07 16:00:48 +01:00
twinaphex 5b1e1592cb Rename rarch_main_iterate and rarch_main_data_iterate 2015-12-07 15:22:36 +01:00
Twinaphex aab828bbe5 Nit 2015-12-06 21:01:50 +01:00
twinaphex ec2795dd23 Another buildfix 2015-12-06 21:00:47 +01:00