twinaphex
f853632260
Move framebuffer generate_mips function to vulkan_common.c
2020-01-22 10:52:20 +01:00
twinaphex
e9c73bd9a6
(Vulkan) Move more C code to vulkan_common.c
2020-01-22 10:41:38 +01:00
twinaphex
ef27a660a7
(shader vulkan) Cleanups - moving C code out of the C++ file
2020-01-22 10:11:42 +01:00
twinaphex
6c97a7514c
(Vulkan) turn superfluous functions in vulkan_common.c into macros
...
to avoid unnecessary function overhead
2020-01-03 20:20:59 +01:00
Hans-Kristian Arntzen
96723c6f70
Vulkan/Android: Workaround weird WSI return codes in landscape mode.
...
Android WSI wants you to use preTransform, and if it is not used
correctly, Android 10 will return VK_SUBOPTIMAL_KHR, and we would create
a new swapchain every frame.
This workaround just ignores this error, since it's not really an error.
A more "proper" fix is to use prerotate and modify the MVP matrices,
which might help certain devices with crummy display processors.
2019-12-17 19:08:20 +01:00
Rinnegatamante
d1a74e1b96
Fix for crash on Linux.
2019-10-15 09:07:15 +02:00
LazyBumHorse
3c6a46d95d
fix handling of vulkan_gpu_list (use after free, not always being initialized)
2019-08-15 17:52:24 +02:00
twinaphex
c4c7a1b8cc
(Vulkan) Dehardcode application name
2019-07-19 20:12:12 +02:00
twinaphex
b04e057b5d
Revert "(Win32/Vulkan) Dehardcode more program name strings"
...
This reverts commit 5cefcb83273c145e8aafc9b7b6988ffbb6071289.
2019-07-19 19:39:43 +02:00
twinaphex
5cefcb8327
(Win32/Vulkan) Dehardcode more program name strings
2019-07-19 19:27:24 +02:00
stoofin
1b57cf6112
Fall back to libvulkan.so.1 if libvulkan.so isn't present
2019-06-27 14:08:14 -07:00
twinaphex
48eeb15d2c
Silence warnings
2019-06-20 01:16:05 +02:00
Brad Parker
d01f04c146
d3d10/11/12: add GPU selection
2019-06-18 16:35:50 -04:00
Brad Parker
c962da0ddb
add video setting to select gpu (currently implemented for vulkan)
2019-06-13 12:47:08 -04:00
twinaphex
17b2019e11
(Vulkan) Fix potential memory leak
2019-05-26 08:18:42 +02:00
Nathan S
775c272029
Menu widgets stuff + vulkan sanity check ( #8710 )
...
* task_screenshot: fix hang with menu widgets
* word_wrap: add max_lines parameter
* vulkan: better instance creation sanity check
2019-05-06 21:10:57 +02:00
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