Commit Graph

278 Commits

Author SHA1 Message Date
Sunderland93 d81e9a08b2 Add toplevel width and height 2018-11-28 17:59:06 +04:00
Sunderland93 1e097b0e1d Implement xdg_toplevel_close event 2018-11-28 13:58:14 +04:00
Sunderland93 b538786b00 Implement zwp_idle_inhibit_v1 protocol 2018-11-26 21:54:39 +04:00
twinaphex 7d9e564667 Turn some C++ comments into C comments 2018-11-24 19:40:14 +01:00
Sunderland93 17fd203141 Waiting for the "initial" set of globals to appear
(fixed xdg_wm_base_ping working)
2018-11-24 20:52:22 +04:00
Sunderland93 fbcab67d8b Fix wrong toplevel geometry 2018-11-23 23:04:06 +04:00
Sunderland93 cd8bf003d1 Add toplevel configuration 2018-11-23 21:23:53 +04:00
Sunderland93 9d5cb529c1 Add wait event for surface configure 2018-11-23 21:08:42 +04:00
Sunderland93 2615ad3f55 Make it works! 2018-11-21 21:28:32 +04:00
Sunderland93 b64f302eb7 Check for resize 2018-11-19 22:31:17 +04:00
Sunderland93 4d8defb4c9 Remove D-bus based screensaver inhibition
(will replaced to idle-inhibit in future)
2018-11-18 21:50:39 +04:00
Sunderland93 c32c98e667 Very WIP: xdg-shell support 2018-11-17 16:01:51 +04:00
twinaphex 4738ef545c Change interval type to signed int 2018-09-12 00:08:13 +02:00
twinaphex ae0d9fd60d (Wayland) Buildfixes 2018-08-17 17:42:14 +02:00
Wiktor Strzębała 45799ee034 Bring up touch support for wayland subsystem for sailfish os devices
Touch code cleanup
Make variabled static as suggest bparker06
C89 compilation error fix (at least for loops)
More C89 fixes

Signed-off-by: Wiktor Strzębała <wiktorek140@tlen.pl>
2018-08-09 20:49:27 +02:00
twinaphex aec7ed40da This crashed Wayland 2018-08-01 01:15:58 +02:00
Sven 5f35249216 Implement robust cheat searching interface with rumble features 2018-07-25 19:19:14 -04:00
Themaister f2cae17021 Vulkan: Try to avoid creating swapchains redundantly.
Win32: Only make resize events when needed.
Do not create swapchain unless necessary.
Deal better with Windows WSI workarounds.
2018-07-01 16:21:09 +02:00
Gustavo Maciel Dias Vieira 14c505117d Add screensaver (idle) inhibition for Wayland driver
The Wayland driver currently has no implementation for gfx_ctx_wl_suppress_screensaver. This adds a Dbus implementation using the same infrastructure used by the X11 driver.
2018-05-29 09:56:58 -03:00
Brandon Wright df5528b1d0 Divide Wayland rate by 1000 instead of multiply. 2018-04-15 20:00:14 -05:00
Brandon Wright 533f898132 Add get refresh rate context function. Implement for X11 and Wayland. 2018-04-15 17:56:12 -05:00
Brandon Wright e8de264b75 Fix X11 Vulkan bug from Wayland driver. 2018-03-17 19:45:01 -05:00
twinaphex 16c1bd7a03 Create context get_api function 2018-03-01 21:16:54 +01:00
gblues 6904101c44 Clean up trailing whitespace
== DETAILS

Really simple code cleanup, because my editor flags trailing whitespaces
and it's pretty annoying.
2017-12-12 00:24:18 -08:00
Themaister 75b84b4f94 Support pending swapchain creation. 2017-12-09 17:28:20 +01:00
Brad Parker 1771b11a39 wayland: fix heap buffer overflows 2017-11-05 19:31:34 -05:00
twinaphex 060753258a Combine input_driver.c and input_keyboard.c 2017-06-11 17:51:12 +02:00
twinaphex ded0813f6b Don't need this header 2017-06-06 07:36:06 +02:00
twinaphex f307135d1d Split up wayland input driver into separate driver; and
improve mouse support for menu
2017-06-06 07:34:33 +02:00
twinaphex 6b3dbff75f Merge input_driver.c and input_joypad_driver.c 2017-06-06 05:56:02 +02:00
twinaphex 9ebfb36b4e Use rarch_keysym_lut directly 2017-06-06 05:17:25 +02:00
twinaphex 9d74212a41 Buildfix 2017-05-19 03:35:32 +02:00
twinaphex b0398c1482 C89 build fixes 2017-05-19 03:34:53 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
twinaphex 953045f0d2 Update logs 2017-04-23 11:56:46 +02:00
twinaphex 6ebd4e139e Rewrite more string_is_equal call invocations as memcmp 2017-04-22 08:51:16 +02:00
Kyle Brenneman a4d19e174a Define the platform enums if they aren't in eglext.h.
Add #defines for EGL_PLATFORM_X11_KHR, EGL_PLATFORM_WAYLAND_KHR, and
EGL_PLATFORM_GBM_KHR, if they aren't already defiend in eglext.h.
2017-04-19 07:08:05 -06:00
Kyle Brenneman fcccc9dc0b Use eglGetPlatformDisplay when it's available.
Added a platform parameter to egl_init_context. If the caller provides a
platform other than EGL_NONE, then it will try to use eglGetPlatformDisplay or
eglGetPlatformDisplayEXT instead of eglGetDisplay.

If neither eglGetPlatformDisplay or eglGetPlatformDisplayEXT is supported, then
it will still fall back to calling eglGetDisplay.

Updated the Wayland, X11, and DRM callers to use the correct platform enum.
Those are the callers that don't just pass EGL_DEFAULT_DISPLAY as the native
display handle.

Calling eglGetDisplay with any value other than EGL_DEFAULT_DISPLAY is
inherently unreliable, because it requires the EGL implementation to guess a
platform type based on a (void *) pointer. Some implementations might not
identify a particular platform, or worse, might guess wrong.

Fixes https://github.com/libretro/RetroArch/issues/4790
2017-04-16 14:19:40 -06:00
twinaphex 7f4b490fdb Prevent implicit memsets with struct video_viewport 2017-04-15 19:43:52 +02:00
twinaphex 6247d6ea1d Update check_window - we no longer need runloop.h inside context driver 2017-01-23 01:02:33 +01:00
twinaphex 4ea31e99aa Remove some header includes 2017-01-23 00:39:20 +01:00
twinaphex 1ea3bea0ee Don't pass video_info by value to context_driver init function 2017-01-22 18:29:22 +01:00
twinaphex 96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
Brad Parker a54ea9ad88 show titlebar again for remaining drivers 2017-01-19 18:08:39 +00:00
Brad Parker b44c8c9995 store buffer for window title, only update actual title when it changes 2017-01-19 00:33:52 -05:00
twinaphex 34da27c36b Don't need 'frame_count' variable for check_window 2017-01-18 21:47:12 +01:00
twinaphex a6a4808e94 Refactor frame monitor code 2017-01-18 17:41:27 +01:00
twinaphex 666534cc74 Grab settings pointer only once inside wrapper 'input_driver' function 2017-01-16 00:14:10 +01:00
twinaphex 1fa3475d79 Add parameter to video_context_driver's 'init' function 2017-01-13 16:52:07 +01:00
twinaphex 80f79130c0 Update set_video_mode context driver callback function 2017-01-11 06:35:50 +01:00
twinaphex d48141041d Pass joypad_info to input_state function callback - less
settings pointer grabbing
2017-01-10 17:40:21 +01:00
twinaphex b9945f05f1 Pass joypad_info to input_joypad_analog 2017-01-10 03:53:57 +01:00
twinaphex 6376f2af68 Add rarch_joypad_info_t 2017-01-10 03:44:53 +01:00
twinaphex 36fb6776b2 Don't grab settings pointer in video_monitor_get_fps function 2017-01-09 15:42:14 +01:00
twinaphex 6b3cc9068d Pass video_info to swap_buffers too 2017-01-09 14:59:15 +01:00
twinaphex 3d92ce140e Pass video_frame_info_t to update_window_title 2017-01-09 14:42:07 +01:00
twinaphex a90cf337c7 C buildfix 2017-01-09 01:56:36 +01:00
twinaphex c87ef25133 CXX_BUILD fix 2017-01-09 01:54:15 +01:00
twinaphex 77e5cdbfde Revert "Rename runloop_msg_queue_push to video_driver_msg_queue_push"
This reverts commit ad7386913c.
2016-12-22 23:36:11 +01:00
twinaphex ad7386913c Rename runloop_msg_queue_push to video_driver_msg_queue_push
and move code to video_driver.c
2016-12-22 13:15:02 +01:00
Hans-Kristian Arntzen c48bb6284e Wayland: Cursor toggling. 2016-12-17 21:34:51 +01:00
Hans-Kristian Arntzen 313ac63c33 Make use of xkb_state_update_mask.
Fixes mod keys in Wayland it seems.
2016-12-17 20:42:48 +01:00
Hans-Kristian Arntzen b2059dcb79 Implement basic Wayland keyboard and mouse. 2016-12-17 20:28:08 +01:00
twinaphex 2c7af649cf (Wayland) Cleanups 2016-12-04 03:54:11 +01:00
twinaphex aaefa8d59e (wayland_ctx.c) Prevent implicit memsets 2016-11-06 18:47:50 +01:00
twinaphex 51b0e61712 Cleanups 2016-09-11 16:24:02 +02:00
twinaphex 7e83162c60 Remove general.h 2016-09-11 15:10:58 +02:00
twinaphex 6f47289ba6 Start adding HAVE_CONFIG_H to gfx/drivers_context 2016-09-06 19:39:02 +02:00
twinaphex acd4dd527b Header include cleanups 2016-09-05 18:31:32 +02:00
Brad Parker 0eb1777a1f remove extra semicolons 2016-09-03 10:30:21 -04:00
twinaphex aa15fb3f91 Update remaining video context drivers 2016-08-31 15:02:07 +02:00
Brad Parker 2afd72252c make GLX context current when creating font textures with threaded video 2016-08-31 01:33:35 -04:00
Logan McNaughton 47227c829b GLES3 fixes 2016-08-06 21:45:35 -06:00
twinaphex d953be6397 (Wayland) Use signal handler code from frontend driver 2016-07-08 12:52:46 +02:00
Hans-Kristian Arntzen 471d06d133 Fix Wayland refresh rate logging. 2016-07-06 23:22:13 +02:00
twinaphex 5845a9944d Add more HAVE_THREADS ifdefs 2016-05-11 19:02:43 +02:00
Hans-Kristian Arntzen d723411436 De ioctl video_driver. 2016-05-08 14:00:51 +02:00
twinaphex 60233d1abb Add set_flags to context driver 2016-05-05 17:35:28 +02:00
twinaphex 8136683ffc (context drivers) Start exposing core GL flag 2016-05-05 05:46:00 +02:00
twinaphex a0425dfb14 (Context drivers) Add get_flags function 2016-05-05 05:35:35 +02:00
twinaphex 64a77af881 Use RARCH_DISPLAY_CTL_HW_CONTEXT_GET directly instead of
going through video_driver_callback
2016-03-04 20:49:55 +01:00
twinaphex b8c1e31c13 (Android/Vulkan) Start hooking up Vulkan for Android context driver 2016-03-01 18:16:22 +01:00
twinaphex e938be3747 Have to rewrite EGL context code 2016-03-01 06:49:05 +01:00
Alcaro 7a6463a300 Add escape hatch if rarch (or the core) is in an infinite loop. 2016-02-23 16:11:39 +01:00
twinaphex 22a677b3a8 Don't use egl_common's 'api' variable anymore 2016-02-22 11:54:19 +01:00
twinaphex fd7a62f5ca (Wayland) Context driver doesn't use egl api anymore 2016-02-22 11:48:17 +01:00
twinaphex e4935d490c (DRM) Uses its own sighandler and atomic quit variable 2016-02-22 11:46:08 +01:00
Hans-Kristian Arntzen c4104ae37c Wayland: Add metrics support. 2016-02-21 22:04:56 +01:00
Hans-Kristian Arntzen 52a515f0d3 Wayland: Add HiDPI awareness. 2016-02-21 21:35:06 +01:00
twinaphex fde9f1ce2c Start making GL optional (previously we assumed pretty much - hardware
context = GL) Still have the issue where the menu driver auto-switches
back to rgui instead of glui/xmb
2016-02-20 06:16:34 +01:00
Hans-Kristian Arntzen 88ec0f522b Vulkan: Add Vulkan backend to GLX context.
Also fixes some snags with libretro-test-vulkan.
2016-02-19 21:37:24 +01:00
twinaphex 11831a8b47 move shareable vulkan initialization code to vulkan_common.c 2016-02-19 14:38:15 +01:00
twinaphex e1a1843edc Start moving code to vulkan_common.h 2016-02-19 14:23:51 +01:00
twinaphex 2d5e10e840 Fix this 2016-02-19 13:17:03 +01:00
twinaphex 140d65b994 Setup specific WSI extensions 2016-02-19 13:11:30 +01:00
twinaphex 7ec1a6836c (Vulkan WSI) Add Mir bits (we don't have Mir context driver yet
but whatever, add them all)
2016-02-19 13:06:38 +01:00
twinaphex 50efe142b9 Go through function pointers 2016-02-19 13:03:35 +01:00
twinaphex eb1fe0476d Start implementing xlib/xcb bits (for when these context drivers
get added)
2016-02-19 12:46:42 +01:00
twinaphex 14d39be698 Move code around 2016-02-19 12:30:18 +01:00
twinaphex cebefa6ae1 Refactor vulkan_surface_create 2016-02-19 12:23:16 +01:00
twinaphex db074e1c1a Start implementing more WSI variants 2016-02-19 12:15:16 +01:00
twinaphex 353c421a5c Add function pointer for vkCreateAndroidSurfaceKHR 2016-02-19 12:08:34 +01:00
twinaphex 6fcd097e4c Start setting up vulkan_init_context for multiple WSI types 2016-02-19 12:04:56 +01:00
twinaphex 1c412eea5a Start adding preliminary implementation for vulkan_surface_create 2016-02-19 12:00:52 +01:00
twinaphex 96c9687a8a Create vulkan_surface_create 2016-02-19 11:55:57 +01:00
twinaphex 98990d6afc Add more WSI enum types 2016-02-19 11:50:25 +01:00
twinaphex 7205d76ab0 Cleanups 2016-02-19 11:36:46 +01:00
twinaphex c105fb22f3 Style nits 2016-02-19 11:29:15 +01:00
twinaphex a61536ffdc More refactors - create vulkan_destroy_context 2016-02-19 11:12:43 +01:00
twinaphex 6be1453d9c Create vulkan_init_context 2016-02-19 11:04:51 +01:00
twinaphex 50a605e9db Cleanups 2016-02-19 10:54:00 +01:00
twinaphex 1165d1c0b7 Create gfx_ctx_vulkan_data_t 2016-02-19 10:35:59 +01:00
twinaphex 02e3d6eba7 Only one Wayland context driver now 2016-02-19 07:58:14 +01:00
twinaphex 0b85951abe (Wayland context) Cleanup some defines 2016-02-18 07:40:13 +01:00
twinaphex a21444fc9a (Wayland ctx) More improvements to Vulkan support 2016-02-18 07:29:20 +01:00
twinaphex f5c5c82729 Add extra conditionals for all possible usecases (HAVE_EGL/HAVE_OPENGL/HAVE_OPENGLES/etc) 2016-02-18 07:18:58 +01:00
twinaphex bd672b8b72 Add vulkan path in registry_handle_global 2016-02-18 05:31:24 +01:00
twinaphex 620fbe8976 Forgot to set this 2016-02-18 00:20:23 +01:00
twinaphex eeada0c458 Start making general-purpose Wayland context driver that could work
for both Vulkan and EGL/GL
2016-02-17 23:22:54 +01:00
twinaphex 56a14ffc3c Start adding HAVE_OPENGL/HAVE_VG ifdefs 2016-02-17 22:20:43 +01:00
Hans-Kristian Arntzen adbf9fed16 Vulkan implementation. 2016-02-16 20:42:02 +01:00
twinaphex 157eb71606 Use string_is_equal more 2016-01-20 06:16:55 +01:00
twinaphex 54f46f4ee3 Update headers 2016-01-10 04:41:52 +01:00
twinaphex 3b8932b302 Turn returntype of set_resize into bool 2016-01-07 00:58:33 +01:00
twinaphex e1331fa6a5 CXX_BUILD fixes 2015-12-10 14:05:56 +01:00
twinaphex 902997c579 Remove gfx_ctx_data_get_ptr 2015-12-09 09:05:55 +01:00
Higor Eurípedes 1cf574cfbe Move most of egl_common globals into egl_ctx_data_t 2015-12-08 13:54:03 -03:00
Higor Eurípedes c257374dcd (video_context_driver) Make better use of the data argument in context calls 2015-12-08 12:19:08 -03:00
twinaphex a95762e5cb Create egl_has_config 2015-12-08 14:42:02 +01:00
twinaphex 2d55dc3bda Complete namespace changes 2015-12-07 15:32:14 +01:00
twinaphex 866501703f Cleanups 2015-11-23 21:28:54 +01:00
twinaphex f98cda3c33 video_context_data only accessed now from one file 2015-11-23 21:06:15 +01:00
twinaphex 1f87c6d9e2 Dont' try to access driver->video_context_data directly 2015-11-23 20:56:06 +01:00
twinaphex 85dbeeb8f9 No more video_monitor.h 2015-11-22 13:32:46 +01:00
twinaphex 2f151896eb use egl_create_surface everywhere 2015-11-20 13:43:05 +01:00
twinaphex 1101bb34d3 Create g_egl_api/g_egl_inited 2015-11-20 13:27:31 +01:00
twinaphex 3c842823bc (Mali/Wayland) Use egl_create_context 2015-11-19 18:36:24 +01:00
twinaphex c1e61f7ff0 Start using egl_init_context for most GLES context drivers 2015-11-19 18:10:59 +01:00
twinaphex ee3f625a83 Remove signal includes 2015-11-19 15:57:09 +01:00
twinaphex 80369a8823 Create egl_install_sighandlers 2015-11-19 15:55:57 +01:00
twinaphex 2fe6686ced Create g_egl_quit 2015-11-19 15:47:30 +01:00
twinaphex 774542fc62 Simplify egl_destroy 2015-11-19 15:34:40 +01:00
twinaphex 5aedc1c4ca Create egl_set_swap_interval 2015-11-19 15:16:37 +01:00
twinaphex 7b39fd50a3 Create egl_swap_buffers 2015-11-19 14:38:55 +01:00
twinaphex e2c82900d1 Create egl_bind_hw_render 2015-11-19 14:32:39 +01:00
twinaphex 6dee1fcc92 Move g_use_hw_ctx to egl_common.c 2015-11-19 14:28:21 +01:00
twinaphex 9705dc8d04 Create egl_destroy 2015-11-19 14:23:14 +01:00
twinaphex 36579ae58d Start moving identical state variables to egl_common.c 2015-11-19 14:09:51 +01:00
twinaphex ffbb9d0481 Create generic egl_get_proc_address 2015-11-19 13:24:51 +01:00
twinaphex 50f8634902 Add gfx/common/egl_common.c 2015-11-19 13:16:43 +01:00