Commit Graph

582 Commits

Author SHA1 Message Date
aliaspider
f9e7d4dc3f (3DS) fix gfx corruption when closing content. 2016-10-13 12:16:07 +01:00
aliaspider
d48445fc1e (3DS) video driver:
- texture handling improvement.
- flush pending tasks while waiting for vsync.
2016-10-10 22:25:25 +01:00
Torsten Paul
d4a90f267d Fix handling of enable flag for xdg-screensaver. 2016-10-10 19:01:41 +02:00
twinaphex
f66e447139 Get rid of path_get_content 2016-10-03 15:43:03 +02:00
twinaphex
91b1889873 (X11) Mouse input is no longer registered when we are on the
titlebar of the window or we are no longer inside the window
2016-10-03 06:50:00 +02:00
twinaphex
5b6f1642f0 (D3D) Buildfix 2016-10-03 05:13:39 +02:00
twinaphex
5d77cd431c (d3d_common.cpp) Cleanups 2016-10-03 04:19:19 +02:00
twinaphex
7bd38d93f0 (X11) Cleanup x11_alive 2016-10-01 12:12:58 +02:00
twinaphex
bf035b634b Updates 2016-10-01 09:49:15 +02:00
twinaphex
0f26cade79 Revert "Update GX/WIn32 builds"
This reverts commit 28a96fbb05.
2016-10-01 08:17:07 +02:00
twinaphex
4fe8cf3811 Revert "(Win32) Buildfix"
This reverts commit b73d183c44.
2016-10-01 08:13:41 +02:00
aliaspider
056224bf50 (3DS) avoid using ctrGuCopyImage during font init for now. (fixes freeze
on cia builds)
2016-09-30 16:16:18 +01:00
twinaphex
b73d183c44 (Win32) Buildfix 2016-09-30 08:19:36 +02:00
twinaphex
28a96fbb05 Update GX/WIn32 builds 2016-09-30 06:39:47 +02:00
Twinaphex
03215a831f Merge pull request #3690 from aliaspider/master
(3DS) add experimental font and menu_display drivers.
2016-09-29 21:33:08 +02:00
aliaspider
afd5e85a31 (3DS) add experimental font and menu_display drivers. 2016-09-29 20:14:12 +01:00
twinaphex
be81edad84 Create path_get 2016-09-29 08:23:41 +02:00
aliaspider
5db13323f6 (3DS) create gfx/common/ctr_common.h.
remove depthbuffer.
use vramalloc.
2016-09-28 20:59:54 +01:00
twinaphex
2d11ea71cc Move runloop_fullpath to paths.c 2016-09-23 03:39:44 +02:00
twinaphex
12949420b6 (Windows) Buildfix 2016-09-17 15:07:45 +02:00
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
twinaphex
8b29ad1fee Add early return in case this is NULL 2016-07-16 23:00:35 +02:00
twinaphex
f308997465 DragFinish releases memory allocations - so always call it at the end 2016-07-16 22:39:21 +02:00
twinaphex
ce6f3f955c Doubleclick on titlebar should no longer trigger button press
in RA window
2016-07-16 17:56:07 +02:00
twinaphex
616b9f7471 (Win32) Test 2016-07-16 17:44:21 +02:00
Alcaro
d7dbc45c6b That's a weird way to check versions. Won't even work for 7.0. 2016-07-16 16:51:28 +02:00
Hans-Kristian Arntzen
8569028189 Vulkan: Use manual memory management for cached/incoherent devices. 2016-07-15 16:12:30 +00:00
Hans-Kristian Arntzen
f5bddd45e8 Vulkan: Don't query layout if we have optimal tiling. 2016-07-14 23:15:39 +02:00
twinaphex
b580599710 (X11) Fix 'quit' button not working 2016-07-09 12:09:39 +02:00
twinaphex
76cc6fd8ec Start implementing signal handler code once in frontend driver code 2016-07-08 02:38:33 +02:00
Hans-Kristian Arntzen
d382e1069e Basic VK_KHR_display integration works! :) 2016-07-07 19:28:27 +02:00
Hans-Kristian Arntzen
d2fafc5451 Sketch out vulkan_create_display_surface. 2016-07-06 20:27:39 +02:00
Hans-Kristian Arntzen
e9046dd06f Begin implementing VK_KHR_display. 2016-07-06 19:37:47 +02:00
twinaphex
9fab75c4b5 Cleanups; 80-char width limit 2016-06-30 07:40:25 +02:00
Hans-Kristian Arntzen
c80127d29d Vulkan: Hook up async compute test more properly.
Supports multiple queues and queues from different families.
2016-06-27 20:54:53 +02:00
Hans-Kristian Arntzen
4abb0ef331 Vulkan: Cache destroy device callback. 2016-06-27 20:54:53 +02:00
Hans-Kristian Arntzen
6841b5ad00 Vulkan: Keep dylib around if caching instance. 2016-06-27 20:54:53 +02:00
Hans-Kristian Arntzen
4729ec9e1b Add support for signalling semaphores from frontend.
Useful for conserving framebuffer memory.
2016-06-27 20:54:53 +02:00
Hans-Kristian Arntzen
54c1759f45 Vulkan: Make a more general purpose symbol loader.
Avoids painful manual loading and wrapping function pointers everywhere
...

Reusable for cores, so move to libretro-common.
Also update built-in Vulkan headers.
2016-06-26 13:10:58 +02:00
Hans-Kristian Arntzen
1da2e2dbab Vulkan: Hook up negotiation interface device creation. 2016-06-26 10:40:07 +02:00
Hans-Kristian Arntzen
10a6d7a458 Vulkan: Begin hooking up negotiation interface. 2016-06-25 21:01:36 +02:00
Hans-Kristian Arntzen
972a5db7ae Vulkan: Fix shader module leak. 2016-06-25 14:06:14 +02:00
Hans-Kristian Arntzen
de36f572d1 Vulkan: Fix more validation issues. 2016-06-25 14:01:10 +02:00
Hans-Kristian Arntzen
07880e3f45 Vulkan: Begin hooking up validation layers.
Found lots of regressions due to bad reformatting.
2016-06-25 13:52:33 +02:00
Hans-Kristian Arntzen
d043123f71 Vulkan: Add support for queue transfers in HW rendering. 2016-06-25 11:39:52 +02:00
Hans-Kristian Arntzen
82c7aa0e6f Use max swapchain image setting when creating swapchain. 2016-06-25 09:52:46 +02:00
twinaphex
b434f0863a CXX_BUILD buildfix 2016-06-23 07:44:56 +02:00
Alcaro
90dd86a66a Fix #3129 again 2016-06-19 22:09:52 +02:00
Hans-Kristian Arntzen
21be54501b Log which present modes are supported. 2016-06-13 22:00:32 +02:00
Hans-Kristian Arntzen
e7b4f4fd4d Fix various Android Vulkan issues.
Was getting bogus swapchain width/height causing weird issues.
Also, create swapchain after swap interval is correctly set.
2016-06-13 19:51:44 +02:00
twinaphex
f4c3a41f84 (Win32) Implement application process events 2016-06-07 17:28:51 +02:00
twinaphex
ee8277b31c Rename ui_win32_window.h to ui_win32.h 2016-06-07 16:33:55 +02:00
Hans-Kristian Arntzen
c374c9853d Some potential fixes for Android Vulkan. 2016-06-07 01:43:14 +02:00
twinaphex
ea5f458fbd Go through function pointer 2016-06-06 08:01:26 +02:00
twinaphex
2f7bc8760c Turn win32_browser into static function 2016-06-04 18:43:03 +02:00
twinaphex
cfc3b97808 Use ui_window_win32_focused 2016-06-04 17:30:06 +02:00
twinaphex
b5830de236 Create stub GetForegroundWindow function for Xbox 2016-06-04 17:18:20 +02:00
twinaphex
abbd39fc6e Might want to use GetForegroundWindow instead for window focus 2016-06-04 17:17:10 +02:00
twinaphex
c63f11f6fd Use ui_window_win32_set_droppable 2016-06-04 08:50:43 +02:00
twinaphex
b4c340ca88 (win32_common.cpp) Cleanup 2016-06-04 06:21:58 +02:00
twinaphex
d739e4771e Use set_title function from wgl_ctx.cpp 2016-06-04 06:02:15 +02:00
twinaphex
24688469b0 Buildfix 2016-06-04 05:58:03 +02:00
twinaphex
2d649f5147 Reimplement win32_monitor_from_window 2016-06-04 05:56:46 +02:00
twinaphex
f490b2b58a Simplify win32_monitor_from_window 2016-06-04 05:54:33 +02:00
twinaphex
0c3bc35be1 (Win32) Buildfix 2016-06-04 05:45:39 +02:00
twinaphex
745b204a8f Start using ui_window_win32_t 2016-06-04 05:44:06 +02:00
twinaphex
94e16e638d Cleanup WndProcCommon 2016-06-04 05:09:58 +02:00
mudlord
d75fc24ad7 update 2016-06-04 12:36:05 +10:00
twinaphex
b88db89b89 (Win32) Buildfix 2016-06-04 03:22:31 +02:00
twinaphex
45d6b4a228 Create win32_drag_query_file 2016-06-04 03:20:55 +02:00
twinaphex
d7d5f29c90 (win32_common.cpp) Buildfix 2016-06-03 19:46:09 +02:00
twinaphex
6628da2646 Create CONTENT_MODE_LOAD_CONTENT_WITH_NEW_CORE_FROM_COMPANION_UI 2016-06-03 18:43:05 +02:00
mudlord
1ab94a2c9a updates to dragndrop 2016-06-03 18:25:45 +10:00
twinaphex
30d3cf8a4e Indenting nits 2016-06-03 08:23:43 +02:00
twinaphex
4cfe09faed Nits 2016-06-03 08:21:56 +02:00
twinaphex
59413e0289 (win32_common.cpp) Cleanups/get rid of warning 2016-06-03 08:20:36 +02:00
twinaphex
01390f8ceb Use retro_common_api.h 2016-06-03 08:06:49 +02:00
mudlord
bcf636283b Updates to drag and drop:
* Now recognises old core used, if compatible.
* If not compatible, compatibile cores are scanned and used.
* Different compatible cores are now enumerated to be selected at will.
2016-06-03 16:00:08 +10:00
mudlord
4c53bdf4f9 add drag and drop 2016-06-03 09:14:53 +10:00
twinaphex
7d12408f24 x11_create_input_context - prevent memleak 2016-05-26 07:34:25 +02:00
twinaphex
6bd7fd482c Performance counters got function name changes 2016-05-21 13:14:25 +02:00
Twinaphex
72e1a33715 Merge pull request #3016 from Themaister/master
Add perf counter to fence waits.
2016-05-21 12:36:25 +02:00
Hans-Kristian Arntzen
218ecc07c1 Add perf counter to fence waits.
Makes it easy to check if we're GPU bound or not.
2016-05-21 12:13:46 +02:00
Twinaphex
e133ce31e8 (QNX) Buildfixes 2016-05-19 20:10:10 +02:00
twinaphex
0d833c903a Merge remote-tracking branch 'origin/vulkan-windows' 2016-05-16 07:51:01 +02:00
twinaphex
e2cc3bc08d Create gl_query_core_context_in_use 2016-05-16 05:55:42 +02:00
twinaphex
fc56f6ebdb Add some HAVE_THREADS ifdefs 2016-05-11 10:10:30 +02:00
twinaphex
4a7ab8366b Move libretro.h headers to libretro-common/include 2016-05-10 19:03:53 +02:00
twinaphex
b79b2dca13 Create performance_counters 2016-05-10 08:53:14 +02:00
twinaphex
dde471e001 Rename gfx_ structs 2016-05-10 02:39:09 +02:00
twinaphex
2ebb92834c Rename gfx_fbo_rect to video_fbo_rect 2016-05-10 02:34:36 +02:00
twinaphex
0e08dbe931 Rename gfx_coord to video_coord 2016-05-10 02:32:59 +02:00
twinaphex
ca976aeda9 Make gl_load_texture_data a static function 2016-05-09 03:44:46 +02:00
twinaphex
9c1885a46e Fix Display FPS 2016-05-08 22:00:30 +02:00
Torsten Paul
1979ea52d2 Suppress screensaver only if requested by user settings. 2016-05-08 19:22:45 +02:00
Hans-Kristian Arntzen
d723411436 De ioctl video_driver. 2016-05-08 14:00:51 +02:00
Hans-Kristian Arntzen
464a4add66 XMB ribbon works in Vulkan. 2016-05-08 11:11:28 +02:00
Torsten Paul
ccb224043b Initialize window name at window creation time (fixes #1521).
The protocol error reported in #1521 is caused by two different issues.
First xdg-screensaver fails to parse decimal values for the window id
(https://bugzilla.redhat.com/show_bug.cgi?id=1274931). Using the hex
notation fixes this part.

Second, the script reads the WM_NAME property from the window which is
not yet available at this time. Calling x11_update_window_title() early
ensures the property is set when xdg-screensaver is run.
2016-05-06 00:17:47 +02:00
twinaphex
a34ce90940 (d3d_common.cpp) Include d3dx9tex.h instead 2016-04-23 19:09:15 +02:00
twinaphex
6083f850aa (D3D) Buildfix 2016-04-23 19:04:19 +02:00
twinaphex
cc7f661f9c (D3D) Buildfixes 2016-04-23 19:02:40 +02:00