Commit Graph

278 Commits

Author SHA1 Message Date
twinaphex 53dbd69751 (EGL) Create egl_bind_api 2020-01-04 15:09:42 +01:00
twinaphex efdc07ab10 (Wayland) update_title function - simplify this function a bit 2019-09-22 12:14:49 +02:00
twinaphex 718d65d95d Take this out - too unsafe - fixes D3D12 driver 2019-08-29 12:30:56 +02:00
Sunderland93 8345f08f64 [Wayland] Remove deprecated wl_shell interface 2019-08-28 12:26:51 +04:00
twinaphex a623a611f1 (Wayland) Untested - apply the same for Wayland 2019-08-24 20:51:12 +02:00
twinaphex 65b4c2595e Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00
twinaphex 453cc3dcbd (video context driver) has_Windowed can be degraded to a simple
boolean variable
2019-07-26 06:23:20 +02:00
LazyBumHorse c20c67bd3a proper shader compatibility checks
- move shader flags from the video drivers to the context drivers
 - rework config_load_shader_preset() from configuration.c into retroarch_load_shader_preset() in retroarch.c with proper compatibility check
 - implicitly call retroarch_load_shader_preset() in retroarch_get_shader_preset() once per core/content life cycle
 - use video_shader_is_supported() instead of video_driver_test_all_flags() where appropriate
 - remove GFX_CTX_FLAGS_NONE because it is meaningless
2019-06-18 13:46:41 +02:00
twinaphex e680fab6e1 (Cheevos) Fix Cheevos
(Wayland) Hopefully finally fix EGL issues
2019-05-30 11:08:00 +02:00
twinaphex 9d585ecd94 (EGL) Buildfixes 2019-05-29 10:02:03 +02:00
twinaphex 4a08b3e239 (Wayland ctx) Add missing HAVE_EGL ifdefs 2019-05-27 14:55:41 +02:00
orbea 1e86824e96 wayland: Fix build.
Fixes https://github.com/libretro/RetroArch/issues/8614
2019-04-21 08:11:26 -07:00
twinaphex 8e638f435a (Wayland) wl_array_for_each macro fails with CXX_BUILD - have to
roll our own macro instead doing it right
2019-04-20 20:33:22 +02:00
twinaphex 7b3be5eddf (wayland) Fix some CXX_BUILD issues; possibly not all 2019-04-20 18:42:23 +02:00
Themaister ecc7bc0cf2 Fix compile error and flag errors on X/Wayland. 2019-03-13 18:27:44 +01:00
twinaphex b347b26d61 Reimplement shader flags being set - GL core should have only
Slang support and no GLSL, with the GL2 driver it is dependent
on the context driver
2019-03-13 14:06:50 +01:00
Vladimir Serbinenko 2d5715b807 wayland: fix keyboard handling.
This bug interferes with my BK-0010 libretro port.
2019-03-12 23:49:46 +01:00
Twinaphex 3b19fa9bad
Merge pull request #8226 from Sunderland93/master
[Wayland] Fix zxdg_shell_v6 detection
2019-02-08 19:35:47 +01:00
Aleksey Samoilov b609eaf83f
[Wayland] Fix zxdg_shell_v6 detection 2019-02-08 21:45:40 +04:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
twinaphex 62bea6ad11 SOme header cleanups 2019-02-02 22:02:24 +01:00
orbea 5d56080312 Use the posix poll.h instead of sys/poll.h. 2019-02-01 09:58:04 -08:00
benutzer193 8e26b13578
If window is not present, create window 2019-01-26 17:49:20 +01:00
Sunderland93 cd35fb9440 Change prev_width and prev_height to unsigned int 2019-01-20 22:12:05 +04:00
Sunderland93 dba9781f26 Fix toggle fullscreen 2019-01-12 22:18:31 +04:00
Greg V b52a5ae664 Remove trailing whitespace in wayland_ctx.c
vim has been helpfully doing this for me every time I saved the file
and I've had to manually ignore these changes when committing.
Let's just commit this.
2019-01-11 20:37:59 +03:00
twinaphex 01b2b9c3a6 Buildfix 2019-01-09 01:01:03 +01:00
Twinaphex d2f7853d49
Merge branch 'master' into more-wayland 2019-01-08 21:45:43 +01:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
Greg V e36bf32490 Wayland: track current output and its scale
Ideally, we would track all outputs we're on and choose the highest DPI among them,
but that is pretty difficult. Let's at least use the latest output we've entered
as the current one.
2019-01-04 01:58:44 +03:00
Greg V 60c8f51009 Wayland: keep track of all outputs (displays)
Required to support multiple monitors with varying scales (HiDPI/LoDPI)
2019-01-04 00:37:02 +03:00
Greg V 056c7fffe1 Wayland: consistently store wl->width/height unscaled
No functional change
2019-01-03 23:43:36 +03:00
Greg V b7a13a02cb Wayland: use lowercase 'retroarch' as app_id
It should match the name of the .desktop file.
2019-01-03 22:16:55 +03:00
Greg V c151ad1bb2 Wayland: remove bogus condition
Pointy hat: @sardemff7
2019-01-03 22:15:48 +03:00
Sunderland93 d374e8415f Fix drag with "Alt" key on non xdg_wm_base shell's 2019-01-03 22:54:01 +04:00
Greg V a9a53fdb64 Wayland: create fullscreen Vulkan surface multiplied by the scale 2019-01-01 02:43:59 +03:00
Greg V 6d943e10a6 Wayland: unbreak Vulkan after fixing HiDPI resizing 2019-01-01 02:38:14 +03:00
Greg V c901866864 Wayland: Fix window resizing on HiDPI monitors 2019-01-01 02:23:39 +03:00
Themaister 868465ad01 EGL: Add callback to select EGLConfig.
A more robust fix for DRM/GBM shenanigans.
2018-12-11 20:12:25 +01:00
Sunderland93 830882e296 Merge branch 'server-decorations' 2018-12-09 19:03:57 +04:00
Sunderland93 d1c15efc24 Revert "Add KDE's server-decoration protocol as fallback (for KDE)"
This reverts commit 058a880a8b.
2018-12-09 18:47:47 +04:00
Sunderland93 058a880a8b Add KDE's server-decoration protocol as fallback (for KDE) 2018-12-09 18:42:45 +04:00
Sunderland93 f45154f15c Add support for zxdg_decoration_manager_v1 2018-12-09 14:56:36 +04:00
Sunderland93 dc94886664 Initial support for xdg-decoration-unstable-v1 2018-12-05 22:51:07 +04:00
Sunderland93 e12caa94d4 Style fixes 2018-12-05 22:36:37 +04:00
Sunderland93 2b6fbbdfe0 Temp fix resizing 2018-12-03 14:46:57 +04:00
Sunderland93 9b0bad5d9f Add zxdg_shell_v6 and wl_shell ad fallback interfaces 2018-12-03 14:32:31 +04:00
Sunderland93 eda342262b Fix 2018-12-02 21:15:57 +04:00
Aleksey Samoilov 3d159d424e
Cleanup 2018-12-02 17:53:03 +04:00
Sunderland93 0f5729354e Initial support for toplevel resizing 2018-11-30 21:36:42 +04:00
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