177 Commits

Author SHA1 Message Date
Huw Pascoe
fed06044c4 silence warnings 2019-04-12 17:32:11 +01:00
Brad Parker
10df615d14 add "Send Debug Info" option under Help 2019-03-07 19:17:54 -05:00
orbea
28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
twinaphex
83241ed0b1 Some header cleanups 2019-01-19 23:27:59 +01:00
twinaphex
b027395341 (Android/Vulkan) Enable 'emulate mailbox' for Android 2018-12-03 00:40:50 +01:00
Themaister
f51ef85f27 Vulkan: Fix scissor in menu driver. 2018-11-08 21:57:53 +01:00
twinaphex
77fba6d58d (Vulkan) Silence warning 2018-10-01 00:41:29 +02:00
twinaphex
2125f92281 Silence warnings/cleanups 2018-09-30 13:43:56 +02:00
twinaphex
4c23fa02e9 (MSVC 2013) Fix build for rcheevos
(MSVC) Fix some warnings; unused variables, etc.
2018-09-30 13:38:58 +02:00
Themaister
a1989afba9 Vulkan: Fix race condition in threaded mailbox emulation. 2018-09-10 19:35:13 +02:00
Themaister
d338dac277 Only do mailbox emulation for fullscreen.
Too large impact on performance in Windowed mode.
2018-09-08 16:27:25 +02:00
Themaister
d39f66a738 Emulate mailbox by wrapping acquire in a thread.
Needed on nVidia Windows since they don't support timeout == 0 ...
2018-09-08 15:56:49 +02:00
Themaister
157d1e7e63 Only use mailbox emulation on AMD. 2018-09-08 11:47:58 +02:00
Themaister
66c4f8fd35 Make sure to always clear out swapchain_fence_signalled. 2018-09-08 11:47:58 +02:00
Themaister
9ebac87638 Vulkan: Emulate mailbox on Windows. 2018-09-08 11:47:58 +02:00
Themaister
af534f0fa8 Vulkan maintenance fixes.
- Use VkBuffer instead of linear VkImage for staging uploads.
  Not guaranteed to be supported, and desktop IHVs recommend using
  buffers.

- Fix validation error where swapchain recreation with reuse of the old
  VkSwapchainKHR does not create a fence properly, leading to validation
  error next time that swapchain index is observed.
2018-09-08 11:47:58 +02:00
orbea
260ce526c2 Fix segfaults when starting vulkan without a working vulkan driver.
RetroArch will crash in several places when running vulkan in an
environment that does not have working vulkan drivers.

This should guard against those crashes and allow RetroArch to fail
safely in those cases.
2018-08-24 19:36:03 -07:00
twinaphex
4a54826d9b Remove unused variable 2018-08-16 21:14:56 +02:00
twinaphex
a1d5b0fd03 Update MSVC 2012 solution 2018-08-16 20:49:31 +02:00
Hans-Kristian Arntzen
52cb0fe375 Vulkan: Fix crash when we get two create_swapchain errors in a row. 2018-07-04 20:25:03 +02:00
Hans-Kristian Arntzen
f1d2dac213 Vulkan: Fix various stability issues with WSI.
Added an ifdef to trigger "hardening" which will return spurious errors
for critical WSI things like acquire next image, queue submit and
surface dimension queries.
2018-07-04 19:45:54 +02: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
Themaister
c4ba8d26a0 Support multiple displays in VK_KHR_display. 2018-07-01 01:21:51 +02:00
Stuart Carnie
411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
Hans-Kristian Arntzen
16c797f057 Vulkan: Fix two validation errors.
- Mipgen was only transitioning the first miplevel to GENERAL.
  Fix the image barrier helper function to transition all levels and
  layers.

- Validation layer was complaining that a VkSwapchainKHR was not
  properly destroyed. After recycling the swapchain, destroy the old
  one.
2018-06-06 23:23:32 +02:00
Stuart Carnie
0a4ff225be Update Vulkan 2018-05-13 21:35:18 +02:00
twinaphex
72428a23c5 (shader_vulkan.cpp) Move some functions to vulkan_common.c 2018-04-24 07:07:58 +02:00
twinaphex
163be3ccfd (vulkan_common.c) Prevent some more collissions in the future 2018-03-28 17:41:04 +02:00
twinaphex
de1efd7878 This hack is no longer needed with latest nvidia windows
drivers (390.77)
2018-01-31 18:10:53 +01:00
twinaphex
2178b6d10f Vulkan temporary workaround for swapchain recycling (nvidia) -
Both swapchain recreation methods are proper andwithin the Vulkan specs.
The differnece is retroarch follows method (apparently proposed in
vulkan samples) that "hopes" the driver will reuse some of the old
swapchain resources, while the other method destroys everything and
recreates from scratch. At the moment on Nvidia drivers the second
method is stable while the first method is unreliable in all cases
today.
2018-01-21 04:40:01 +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
f8447c4648 Set correct buffer size. 2017-12-09 17:28:20 +01:00
Themaister
75b84b4f94 Support pending swapchain creation. 2017-12-09 17:28:20 +01:00
Themaister
ac42b87400 Recreate swapchain directly if vkAcquireNextImageKHR fails. 2017-12-09 17:28:20 +01:00
Themaister
714684a4d3 Don't wait for WSI fence unless it has been signalled. 2017-12-09 17:28:20 +01:00
twinaphex
d5b3104cfb Cleanups/warning fixes 2017-12-06 19:51:07 +01:00
Hans-Kristian Arntzen
5c67fc3040 Vulkan: Enable VK_KHR_sampler_mirror_clamp_to_edge extension. 2017-10-01 20:20:45 +02:00
twinaphex
9c32d03c1e (Vulkan/Win32) C89_BUILD fixes 2017-08-12 17:56:30 +02:00
twinaphex
126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
aliaspider
36137d22e5 Vulkan: use the command buffer provided as parameter in
vulkan_copy_staging_to_dynamic.
2017-05-15 05:35:17 +01:00
twinaphex
05e4ec733e Move uint variables 2017-04-28 21:03:04 +02:00
twinaphex
765e636214 (Vulkan) Cleanups 2017-04-24 17:21:29 +02:00
Hans-Kristian Arntzen
2d88530c98 Vulkan: Simple snow pipeline works.
Some other fixes too.
2017-02-20 20:53:59 +01:00
Hans-Kristian Arntzen
6395907887 Vulkan: Find supported composite alpha in swapchain. 2017-02-13 16:30:02 +01:00
twinaphex
374fd57270 Remove the few performance counters that depend on runloop_ctl 2017-01-25 18:15:58 +01:00
twinaphex
6661c0fb94 Rewrite performance counter stop/start/init into macros 2017-01-25 16:53:06 +01:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
Hans-Kristian Arntzen
4c99809cde Vulkan: Fix VSync toggling on Windows.
Retarded bug, but haven't actually had access to a Windows machine until
now.
2016-12-17 12:06:43 +01:00
twinaphex
b43f786f89 Cleanups 2016-09-08 08:15:40 +02:00
twinaphex
467451fccc Cleanup more header includes 2016-09-01 18:18:55 +02:00