Commit Graph

727 Commits

Author SHA1 Message Date
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
twinaphex 3902a6715a (D3D) Buildfix 2016-04-23 10:22:23 +02:00
twinaphex 38bc378c4d (D3D) Some buildfixes 2016-04-23 10:18:46 +02:00
twinaphex 61a71e91e0 (D3D common) Add C versions of functions 2016-04-23 09:26:38 +02:00
twinaphex d9ddb92a90 (egl_common.c) Silence warning 2016-04-22 07:56:32 +02:00
twinaphex 641a37ce06 Change some function parameters for gl_ff_matrix/gl_ff_vertex 2016-04-17 05:00:42 +02:00
Hans-Kristian Arntzen e04bbfbae2 Vulkan: Add more logging ... 2016-03-29 17:57:13 +02:00
Hans-Kristian Arntzen c7b96b75b8 Vulkan: Add more error logging. 2016-03-29 17:36:13 +02:00
Hans-Kristian Arntzen 38a305bb6e Vulkan: Add proc address query functions to HW interface.
Allows cores to avoid linking directly against any extra library.
Update HW interface version to 2 to signal ABI change.

Note that the interface is still experimental and can change at any time.
2016-03-29 16:35:31 +02:00
Hans-Kristian Arntzen 02736963bc Vulkan: Implement get_context_data callback in Win32.
Also fix some potential crashes with dinput handling.
2016-03-29 15:50:12 +02:00
Hans-Kristian Arntzen 8ade7fb274 Vulkan: Attempt Windows backend support.
Completely bind since I cannot test myself, but compiles.
2016-03-29 15:50:12 +02:00
Hans-Kristian Arntzen 87a5fd2e44 win32_set_style: Fix broken pointer-to-pointer.
This can't possibly have worked in any sensible way before ...
2016-03-29 15:36:08 +02:00
Hans-Kristian Arntzen 1ff4445ba0 Remove dead code with full_x/full_y.
Very confusing and no longer serves any purpose anyways.
2016-03-29 15:28:13 +02:00
Hans-Kristian Arntzen ca62f342b0 Vulkan: Fix original history.
Verified to work now.
2016-03-25 18:50:49 +01:00
Hans-Kristian Arntzen 83ab0d799f Vulkan: Begin implementing history and feedback. 2016-03-25 14:51:37 +01:00
twinaphex e1c47a68fe Take prototype declaration out of video_driver.h 2016-03-23 06:57:29 +01:00
twinaphex ca63357b54 (X11) Do not keep appending to suspend screensaver if not available 2016-03-21 19:12:16 +01:00
Hans-Kristian Arntzen f1a5725f66 Vulkan: Host writes are implicitly flushed on submit.
Use TOP_OF_PIPE/0 access instead to work
around spammy asserts on Anvil.

We still have to invalidate the caches however.
2016-03-21 16:57:04 +01:00
Hans-Kristian Arntzen fa7eeb57b8 Vulkan: Use 1.0.6.
1.0.2 is pre public release version I think ...
2016-03-21 10:03:15 +01:00
Hans-Kristian Arntzen 84923a0465 Vulkan: Tighten up pipeline barrier usage.
Lots of memory barriers used with TOP_OF_PIPE which is not valid.
2016-03-21 10:02:00 +01:00
twinaphex 34958ec39a (Vulkan) Don't use VK_API_VERSION any more 2016-03-20 03:04:52 +01:00
twinaphex f79418459f Ability to compile now with --enable-wayland and --disable-x11
defined
2016-03-09 09:21:07 +01:00
Hans-Kristian Arntzen f02faeea27 Vulkan: Fix segfault on nVidia. 2016-03-06 12:33:46 +01:00
Hans-Kristian Arntzen ebdb7168ed Vulkan: Clean up symbol loading.
Should use GetDeviceProcAddr when appropriate.
2016-03-06 11:27:36 +01:00
twinaphex eebcde721b Rename video_coord_array 2016-03-05 07:28:02 +01:00
twinaphex 418c5cbb76 (Win32) Buildfix 2016-03-04 05:01:49 +01:00
twinaphex 6d4212ca06 Check OS version before going down screensaver path 2016-03-04 04:51:57 +01:00
twinaphex 7d0205deac (vulkan_common.c) Add log error when vkCreateInstance fails 2016-03-02 03:13:31 +01:00
twinaphex 6f80e09ce1 Change MIN/MAX to upper-case 2016-03-02 00:07:31 +01:00
twinaphex 77001a5577 (Android) More preparation for Vulkan 2016-03-01 18:59:12 +01:00
twinaphex 86a8899b0f (Android) Start preparing Android JNI Makefiles for Android 2016-03-01 18:46:40 +01:00
twinaphex e938be3747 Have to rewrite EGL context code 2016-03-01 06:49:05 +01:00
twinaphex de27720044 We don't need to link against libvulkan.so implicitly anymore 2016-03-01 02:47:16 +01:00
twinaphex b79edb6095 Reimplement function pointers 2016-03-01 02:21:53 +01:00
twinaphex 937230564d move more code to vksym.h 2016-03-01 01:53:48 +01:00
twinaphex a6048b4218 Add vksym.h 2016-02-29 23:38:49 +01:00
twinaphex 7a907a97a7 Start preparing to split this code up 2016-02-29 23:31:51 +01:00
twinaphex 9a10ef5591 (Vulkan) Add more Vulkan function pointers 2016-02-29 23:28:12 +01:00
twinaphex 860b7fde62 (Vulkan) Add DeviceWaitIdle function pointer 2016-02-29 23:25:25 +01:00
twinaphex 1d9220d9d1 (Vulkan) Add vkCmdBindVertexBuffers function pointer 2016-02-29 23:22:56 +01:00
twinaphex c8b9bb609f (Vulkan) More image function pointers 2016-02-29 23:19:23 +01:00
twinaphex 30eac5b778 (Vulkan) Add vkDestroyDescriptorPool fp 2016-02-29 23:13:13 +01:00
twinaphex 6023a5f06e Add vkAllocateDescriptorSets fp 2016-02-29 23:11:00 +01:00
twinaphex 4a1a623099 (Vulkan) Add more funcptrs 2016-02-29 23:09:05 +01:00
twinaphex 0e60d20705 Add Command Function pointers 2016-02-29 23:04:17 +01:00
twinaphex 67ea4e1d6b (Vulkan) Pipeline function pointers 2016-02-29 22:55:31 +01:00
twinaphex 1fbac78e35 (Vulkan) Go through function pointer for vkDestroyPipelineCache 2016-02-29 22:38:58 +01:00
twinaphex a7df7be64b Add vkAllocateMemory/vkFreeMemory 2016-02-29 22:36:53 +01:00
twinaphex a53e7a5437 (Vulkan) Add pipeline barrier function pointer 2016-02-29 22:30:23 +01:00
twinaphex bd96ab3585 (vulkan_common.c) Cleanups 2016-02-29 22:26:20 +01:00
twinaphex 1b85ee442f Go through funcptr for vkAllocateCommandBuffers 2016-02-29 22:23:35 +01:00
twinaphex 83dc7db6c7 (Vulkan) Add descriptor set layout function callbacks 2016-02-29 22:04:23 +01:00
twinaphex caed6c61cb (Vulkan) Function pointer for vkFreeCommandBuffers 2016-02-29 21:58:10 +01:00
twinaphex 1e407079e4 Add function pointers for image view functions 2016-02-29 21:55:54 +01:00
twinaphex a6eb40b3d2 Add funcptr for vkAllocateCommandBuffers 2016-02-29 21:51:42 +01:00
twinaphex 4771c45ed3 Add render pass command function pointers 2016-02-29 21:43:04 +01:00
twinaphex 7f5d0f2763 (Vulkan) More function pointers for command buffer functions 2016-02-29 21:37:35 +01:00
twinaphex 860ffff3c9 (Vulkan) Go through funcptr for vkEndCommandBuffer 2016-02-29 21:31:51 +01:00
twinaphex a1c8a47665 (Vulkan) Go through funcptr for vkDestroyInstance 2016-02-29 21:27:18 +01:00
twinaphex c62971042d (Vulkan) Cleanups 2016-02-29 21:20:36 +01:00
twinaphex eae652d6a5 Go through funcptr for vkDestroyCommandPool 2016-02-29 21:17:21 +01:00
twinaphex f0458495f4 Go through funcptr for vkDestroyPipeline 2016-02-29 19:41:25 +01:00
twinaphex d45f0e0946 Some cleanups 2016-02-29 19:39:49 +01:00
twinaphex 670eede306 Go through function pointer for vkCmdClearAttachments 2016-02-29 19:34:40 +01:00
twinaphex fc7a972466 Go through function pointers for vkMapMemory/vkUnmapMemory 2016-02-29 19:20:42 +01:00
twinaphex b660fb8878 Create sampler function pointers 2016-02-29 19:11:09 +01:00
twinaphex 0e91bb6852 Go through more function pointers 2016-02-29 19:03:18 +01:00
twinaphex dfde6f833a (Vulkan) Nits 2016-02-29 18:46:17 +01:00
twinaphex 1d96e80b05 (Vulkan) More funcptrs 2016-02-29 18:40:30 +01:00
twinaphex fbf527eac2 (vulkan_common.c) Style nits 2016-02-29 18:24:12 +01:00
twinaphex ef93f92ea2 Cleanups 2016-02-29 17:22:57 +01:00
twinaphex a8ccf2531d Cleanups 2016-02-29 17:21:40 +01:00
twinaphex e6da374bb5 Cleanups 2016-02-29 17:18:28 +01:00
twinaphex a4c9d02953 Add DestroyImage funcptr 2016-02-29 17:16:01 +01:00
twinaphex 874b5b7e17 Go through more funcptrs 2016-02-29 17:13:13 +01:00
twinaphex 8f69470c25 Go through VKFUNC macro 2016-02-29 17:00:08 +01:00
twinaphex d6005c224c Go through VKFUNC 2016-02-29 16:55:50 +01:00
twinaphex 6836b5f868 vkCreateImage - go through funcptr 2016-02-29 16:48:55 +01:00
twinaphex 3677144d18 Start going through VKFUNC 2016-02-29 16:47:21 +01:00
twinaphex 6c9e8041c6 Add function pointer for vkCreateCommandPool 2016-02-29 16:41:49 +01:00
twinaphex 6dce80ea07 Add function pointers for vkCreatePipelineCache and vkCreatePipelineLayout 2016-02-29 16:37:15 +01:00
twinaphex 778b50fc28 Add funcptr for vkCreateFramebuffer 2016-02-29 16:32:34 +01:00
twinaphex 361cce328d vkCreateRenderPass - add funcptr 2016-02-29 16:30:45 +01:00
twinaphex 277e2977ff (Vulkan) Add function pointer to vkDestroyDevice 2016-02-29 16:28:12 +01:00
twinaphex 4248e244a8 Go through funcptr for vkCmdCopyImage 2016-02-29 06:52:08 +01:00
twinaphex 89ee08214d We need to grab a function pointer to vkCmdDraw later after
vkCreateDevice
2016-02-29 06:21:42 +01:00
twinaphex be5333371b (Vulkan) More funcptrs 2016-02-29 06:16:31 +01:00
twinaphex bfd38e171b (Vulkan) More Vulkan funcptrs 2016-02-29 05:57:38 +01:00
twinaphex 3abea50cbf Move function pointers to vulkan_context 2016-02-29 05:49:05 +01:00
twinaphex 2a621a8424 Go through vkEnumeratePhysicalDevices funcptr 2016-02-29 05:37:37 +01:00
twinaphex cf03851cc8 Add vkGetDeviceQueue funcptr 2016-02-29 05:37:37 +01:00
twinaphex 5e970637d4 (Vulkan) Add more function pointers 2016-02-29 05:32:10 +01:00
twinaphex 25d741e26a Start setting up more function pointers 2016-02-29 04:21:08 +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
Alcaro 04ac09f579 One thing less to worry about when copypasting this, less risk of repeating 2d5e10e840. 2016-02-23 16:08:57 +01:00
Alcaro f8452e23c8 Don't use uninitialized variables. 2016-02-23 16:06:37 +01:00
twinaphex ffd94d3ac0 We cannot rely on vulkan_intel.h being available, so just
include its contents inside vulkan_common.h
2016-02-23 01:24:15 +01:00
twinaphex 7da0739b61 Get rid of global g_egl_api now too 2016-02-22 11:54:55 +01:00
twinaphex 22a677b3a8 Don't use egl_common's 'api' variable anymore 2016-02-22 11:54:19 +01:00
Hans-Kristian Arntzen cece4e5ae2 Vulkan: Add workaround for broken VkImageView swizzling.
Certain early drivers fail to apply swizzle mask.
2016-02-21 13:52:30 +01:00
Hans-Kristian Arntzen 6e7f1371dd Vulkan: Fix scenario where we limit the number of frames too much. 2016-02-21 13:03:26 +01:00
Hans-Kristian Arntzen 9e060bf088 Fix STATIC texture upload. 2016-02-21 13:01:53 +01:00
Hans-Kristian Arntzen 0dddd671f8 Vulkan: Use more approriate barrier 2016-02-21 12:59:11 +01:00
Hans-Kristian Arntzen 4259ea3d06 Merge branch 'master' of git://github.com/libretro/RetroArch 2016-02-21 12:45:26 +01:00
Hans-Kristian Arntzen 36eb07e067 Vulkan: Use copy paths if needed. 2016-02-21 12:33:16 +01:00
twinaphex 254e0bbd90 vulkan_common.h - style nits 2016-02-21 10:11:35 +01:00
twinaphex f462954609 Style nits pt. 2 2016-02-21 10:09:41 +01:00
twinaphex 8ce2665383 Style nits 2016-02-21 10:08:36 +01:00
Hans-Kristian Arntzen 8550c16f86 Always try to use cached memory if we can for linear textures.
Should improve cores which use SOFTWARE_FRAMEBUFFER.
2016-02-20 15:17:25 +01:00
Hans-Kristian Arntzen b61c05e10f Log the number of swapchain images we get. 2016-02-20 14:24:36 +01:00
Hans-Kristian Arntzen 111c37832a Make sure we get a queue which also supports compute.
Graphics + Compute queue must be supported.
2016-02-20 14:20:17 +01:00
Hans-Kristian Arntzen 5542427246 Try to use cached memory for readbacks.
Speeds up nVidia readbacks by order of magnitude.
2016-02-20 12:04:53 +01:00
Hans-Kristian Arntzen 4540369fcb Use correct cast for WSI_XLIB. 2016-02-19 22:25:51 +01:00
Hans-Kristian Arntzen 0bcdf6ebe0 More properly enumerate GPUs.
Just pick the first one for now.
2016-02-19 21:55:11 +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
Hans-Kristian Arntzen 1b5cc1ca9c Fix some types for WSI. 2016-02-19 19:50:04 +01:00
twinaphex d6906ee7df (xcb) Buildfix 2016-02-19 15:43:12 +01:00
twinaphex 11831a8b47 move shareable vulkan initialization code to vulkan_common.c 2016-02-19 14:38:15 +01:00
twinaphex 5cb0aa51c0 Add includes to vulkan_common.h 2016-02-19 14:26:45 +01:00
twinaphex e1a1843edc Start moving code to vulkan_common.h 2016-02-19 14:23:51 +01:00
twinaphex 72fed0d871 Add VULKAN_WSI_MIR (for when we ever get around to adding Mir support) 2016-02-19 12:24:20 +01:00
twinaphex cebefa6ae1 Refactor vulkan_surface_create 2016-02-19 12:23:16 +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
Hans-Kristian Arntzen c74c7ae053 Vulkan: Work around broken push constants on Ivy Bridge.
Use UBOs instead, should be more compatible with early drivers.
2016-02-18 18:36:49 +01:00
twinaphex 51a94d6ac7 Remove unix_common 2016-02-17 22:09:37 +01:00
twinaphex 17e5e57bed Add unix_common 2016-02-17 08:01:30 +01:00
Hans-Kristian Arntzen adbf9fed16 Vulkan implementation. 2016-02-16 20:42:02 +01:00
twinaphex 4941cd7dbd gl_ff_vertex - avoid glLoadIdentity 2016-02-14 03:47:33 +01:00
twinaphex 2fa46bcef8 Cleanups 2016-02-05 13:36:18 +01:00
twinaphex a267bdfbe3 MOve gfx/image/image.c to gfx/video_texture_image.c 2016-01-30 02:39:08 +01:00
aliaspider 2ff854177c (WIN32) build fix 2016-01-18 20:03:34 +01:00
aliaspider ee8e05050a (WIN32) fix runtime availability check for PowerCreateRequest. 2016-01-18 18:05:49 +01:00
twinaphex 54f46f4ee3 Update headers 2016-01-10 04:41:52 +01:00
twinaphex c9017a5e09 buildfix 2016-01-09 07:14:46 +01:00
twinaphex 4178950483 move translate_filter to d3d_common.cpp 2016-01-09 06:28:42 +01:00
twinaphex 8327302d6b Have win32_set_video_mode use this code too 2016-01-09 05:28:52 +01:00
twinaphex dad51f5677 Create win32_set_style 2016-01-09 05:24:27 +01:00
twinaphex 3e9820f6ae (D3D) Use win32_set_window 2016-01-09 05:04:47 +01:00
twinaphex c1d79c2205 (Win32) Buildfix 2016-01-09 05:00:56 +01:00
twinaphex c18cfee6d0 Create win32_set_window 2016-01-09 04:59:12 +01:00
twinaphex 93fed31e3a N/A 2016-01-08 20:51:30 +01:00
twinaphex d8f851365f Cleanups 2016-01-08 09:48:46 +01:00
twinaphex 3d9f7117e4 Cleanups 2016-01-08 05:46:14 +01:00
twinaphex 3a30649876 Pass through data variable to win32_window_create correctly 2016-01-08 05:13:10 +01:00
twinaphex 377c1f2661 N/A 2016-01-08 04:52:49 +01:00
twinaphex 281de92d79 Fix function name clashes pt. 1 2016-01-07 09:22:04 +01:00
twinaphex 186a9fe61b Try to set g_inited to true 2016-01-07 07:18:52 +01:00
twinaphex e8656333f1 Make it possible to manually set one of the devices with d3d_device_free 2016-01-07 02:22:53 +01:00
twinaphex 5a60055aa9 Make curD3D a static variable 2016-01-07 01:18:51 +01:00
twinaphex b4b3574665 use void pointer 2016-01-07 01:00:11 +01:00
twinaphex 3b8932b302 Turn returntype of set_resize into bool 2016-01-07 00:58:33 +01:00
twinaphex 28b615e62c (D3D) Buildfixes 2016-01-07 00:45:09 +01:00
twinaphex 3b34d6b6f1 WM_SIZE - we need to call the context driver's d3d_resize function 2016-01-07 00:43:16 +01:00
twinaphex 56a17b21f1 Create d3d_device_free 2016-01-07 00:19:27 +01:00
twinaphex 2199e22e63 Remove d3d_restore_device 2016-01-06 04:26:24 +01:00