Commit Graph

462 Commits

Author SHA1 Message Date
twinaphex cb17c0f493 Style nits 2016-09-16 13:31:18 +02:00
Bastien Nocera 5afdd35e54 x11: Only call out to xdg-screensaver when D-Bus failed 2016-09-16 13:03:48 +02:00
Bastien Nocera a061b4a801 x11: Implement xdg-screensaver uninhibition 2016-09-16 13:03:37 +02:00
Bastien Nocera e563bd5512 x11: Flatten D-Bus (un)inhibit functions
Instead of nesting, try to exit as soon as possible in case of errors.
Also make sure to tell the caller whether the call succeeded and a
fallback should be attempted.
2016-09-16 12:59:16 +02:00
Bastien Nocera 297c9a8613 x11: Reset dbus_connection global variable on exit
To ensure that the state of the variable is correct. This won't be
needed if X11 is never reinitialised.
2016-09-16 12:34:15 +02:00
Bastien Nocera 6ab7fab326 x11: Lower the severity of D-Bus not being accessible
As there is a fallback through xdg-screensaver, no need to make this any
more important than a log message.
2016-09-16 12:32:22 +02:00
Bastien Nocera 65fa874c3a x11: Rename function fetching the D-Bus connection
You'd expect a "get" function to return the variable in question. This
doesn't, and simply sets a global variable.
2016-09-16 12:32:15 +02:00
Alcaro f6b7fc17f6 Those checks aren't needed. 2016-09-16 00:45:00 +02:00
Alcaro 1964491e5f Fix Linux-MinGW build 2016-09-15 20:54:14 +02:00
twinaphex 1b46f3c344 Nits 2016-09-14 15:58:53 +02:00
twinaphex f87dbe7946 Style nits/cleanups 2016-09-14 15:58:03 +02:00
twinaphex ca673b4fc8 C89_BUILD fixes etc. 2016-09-14 15:56:14 +02:00
Twinaphex 09ccef1684 Merge pull request #3547 from nguillaumin/wip-screensaver-dbus
WIP: Fixes #2026 Screensaver suspend on Linux via Dbus
2016-09-14 15:48:43 +02:00
twinaphex 7ac1ed7e10 Cleanups 2016-09-11 14:54:34 +02:00
nguillaumin c69c488fdf Address code review comments 2016-09-09 18:08:54 -07:00
Nicolas Guillaumin 05df632bd8 WIP: Fixes #2026 Screensaver suspend on Linux via Dbus
One some systems (tested with Gnome 3 on Arch Linux) the current method
of using `xdg-screensaver` to suspend the screensaver does not work.
Instead, using DBus to issue an `Inhibit` request is recommended.

The request returns a cookie that needs to be re-used to un-inhibit the
screensaver later. Additionally if the DBus connection is closed the
current inhibition is discarded. Thus, the DBus connection needs to stay
connected for the duration of the screenshot inhibition.

The code is heavily inspired from the [SDL 2.x
code](http://hg.libsdl.org/SDL/file/default/src/core/linux/SDL_dbus.c#l172).
I didn't call the SDL 2 code though since this it to fix the issue with
the GL driver, and I assume one would want to have screensaver inhibited
even when SDL 2 is not available (but GL is).

I've set "WIP" because:
* I haven't done C in a long time so my code is probably not great
* There's a dependency on DBus which I don't know is acceptable or
not
* I've put my code where I could to check it works, but `x11_common` may
not be the best place
* The code need and "init" and "deinit" kind of method as it needs to
initialise the DBus connection, and on deinit close it properly. I've
used `x11_connect` and `x11_window_destroy` but they don't sound like
the best choices.
* I'm a bit unclear as to what happens when "suspend screensaver" is
ticked on/off in the menu. This doesn't seem to call
`x11_suspend_screensaver` everytime, so I'm not sure if there's a hook
somewhere (as disabling screensaver suspend in the menu should cause a
DBus unhinibit request to be sent).
* Should I just call the SDL 2.x code (meaning that the GL driver would
depend on SDL 2.x at runtime)?

So, first of all are you ok with the approach, and if yes I'd gladly get
feedback about the code, how to architecture it and the best place to
put it.

Thanks!
2016-09-08 15:23:41 -07:00
twinaphex b43f786f89 Cleanups 2016-09-08 08:15:40 +02:00
mudlord b1833c2d52 account for if people have core id files but not the actual cores. 2016-09-07 09:44:07 +10:00
twinaphex 3e9df72123 Try to fix ARM build 2016-09-06 03:14:20 +02:00
twinaphex 075aea2289 Header include cleanups 2016-09-06 00:56:00 +02:00
twinaphex 266a06ffb1 Revert "Expose GPU Hard Sync for GLES 3 too"
This reverts commit a74813c9ea.
2016-09-05 21:43:02 +02:00
twinaphex a74813c9ea Expose GPU Hard Sync for GLES 3 too 2016-09-05 21:16:30 +02:00
twinaphex 86d2a36407 (Win32) Buildfixes 2016-09-05 18:43:32 +02:00
twinaphex f30deb9cd0 Header cleanup 2016-09-05 07:47:11 +02:00
twinaphex e6ef3662ac Header include changes 2016-09-05 07:44:17 +02:00
twinaphex 1a241fa9ce Rewrite this 2016-09-05 07:22:44 +02:00
Brad Parker 0eb1777a1f remove extra semicolons 2016-09-03 10:30:21 -04:00
twinaphex 467451fccc Cleanup more header includes 2016-09-01 18:18:55 +02:00
twinaphex aff2812fde Try to get rid of double definition of type 2016-09-01 06:08:06 +02:00
twinaphex 815c0eb3ee Remove header includes 2016-09-01 05:46:10 +02:00
twinaphex ba7d638b99 Use string_is_equal 2016-08-29 18:46:41 +02:00
Francisco José García García 4221374072 (VITA) Add XMB support 2016-08-23 02:49:53 +02:00
twinaphex 9777e9d9ef (MSVC 2003) Add MSVC 2003 compatibility 2006-01-17 04:36:32 +01:00
Logan McNaughton 47227c829b GLES3 fixes 2016-08-06 21:45:35 -06:00
twinaphex fb9a2eea95 Remove one useless HAVE_OPENGLES2 ifdef, and remove some wrong
defines
2016-08-07 04:35:38 +02:00
Hans-Kristian Arntzen 96818a297c Vulkan: Fix validation errors with OriginalHistory.
For some reason, OriginalHistory blit happened inside a render pass.
Also add more TRANSFER_SRC_BIT caps to images as they might have to be
copied to history.
2016-08-07 01:09:15 +02:00
twinaphex 563842945c (gl_common.h) Start catering towards GLES3/GLES3.1/GLES3.2 too 2016-08-01 18:15:14 +02:00
twinaphex 09ea570dcb Create GL_CAPS_FP_FBO 2016-08-01 17:33:50 +02:00
twinaphex 76c021df09 Create GL_CAPS_SRGB_FBO 2016-08-01 17:28:43 +02:00
Hans-Kristian Arntzen 4ac9ebd579 Vulkan: Allow configuring mip/wrap/filter for LUTs.
LUTs are feature complete with CGP now.
2016-07-31 16:16:47 +02:00
Hans-Kristian Arntzen 0eca956789 Vulkan: Create image views with right amount of mip levels. 2016-07-31 14:01:39 +02:00
Hans-Kristian Arntzen 4e8e79eabd Vulkan: Add mipmapping support. 2016-07-31 13:47:10 +02:00
Hans-Kristian Arntzen 7813d40c9e Log if Vulkan debug layers are enabled. 2016-07-31 12:54:10 +02:00
twinaphex 2be127c04a Start wrapping settings->path.libretro 2016-07-24 11:12:26 +02:00
Hans-Kristian Arntzen f54b0c0ff0 Vulkan: Implement swap_interval > 1.
We have to fake it by duping since Vulkan has no native support for
this.
2016-07-24 00:34:48 +02:00
Hans-Kristian Arntzen 8c1b935969 Vulkan: Implement BFI. 2016-07-24 00:07:32 +02:00
twinaphex 4e68bc0b53 CXX_BUILD fix 2016-07-21 21:54:43 +02:00
twinaphex a8de87576e (windows) Fixes drag and drop - we have to call this
function directly since the UI companion driver interface at
this point has not yet been initialized
2016-07-16 23:49:44 +02:00
twinaphex c6e6e300b9 CLeanup 2016-07-16 23:16:30 +02:00
twinaphex 8b4dd98d4b (drag and drop) Try to make some code more understandable 2016-07-16 23:13:24 +02:00