147 Commits

Author SHA1 Message Date
twinaphex
cdca5d0afc Turn vulkan_copy_staging_to_dynamic into macro 2020-12-15 07:20:33 +01:00
twinaphex
d70420a12d vulkan_copy_staging_to_dynamic - put sync texture to GPU
outside of the function
2020-12-15 07:01:00 +01:00
twinaphex
7b30d4eec2 Move macro up in the file 2020-08-27 12:13:21 +02:00
twinaphex
b4d26aca9c Turn vulkan_write_quad_vbo into macro 2020-08-27 02:29:32 +02:00
twinaphex
9672d9b12f Cleanup 2020-08-27 02:07:33 +02:00
twinaphex
54c31348ce Further simplify vulkan_write_quad_vbo 2020-08-19 06:06:30 +02:00
twinaphex
2f405c4088 Optimize vulkan_write_quad_vbo 2020-08-19 05:32:40 +02:00
twinaphex
6136035f2e Optimize vulkan_write_quad_vbo 2020-08-19 04:59:14 +02:00
twinaphex
4177ea4256 Update 2020-08-17 15:11:48 +02:00
twinaphex
f09df7c6e3 Reorder structs, alignment 2020-08-15 19:43:17 +02:00
twinaphex
bfc8a7beca Reorder structs/alignment 2020-08-14 21:45:41 +02:00
twinaphex
89461eb6a5 Move vulkan gpu_list to struct data 2020-08-03 15:30:46 +02:00
twinaphex
a5a3d64b18 (Vulkan) Cleanups 2020-07-20 06:31:15 +02:00
twinaphex
e10f4eed8d (Vulkan) Cleanups 2020-07-09 03:48:42 +02:00
twinaphex
85d3a3723e (Vulkan) VULKAN_TRANSFER_IMAGE_OWNERSHIP - reuse existing macro 2020-07-03 18:05:40 +02:00
twinaphex
09180e64b5 Start unifying more macros 2020-07-03 18:00:40 +02:00
twinaphex
a7a74a1d92 Cleanup 2020-07-03 17:51:07 +02:00
twinaphex
276e86a403 (Vulkan) Turn some of these functions into macros 2020-07-03 17:48:46 +02:00
twinaphex
25f682249f (Vulkan) Turn vulkan_image_layout_transition into macro 2020-07-03 08:45:53 +02:00
twinaphex
7a22eb1f44 Turn vulkan_image_layout_transition_levels into macro 2020-07-03 08:32:33 +02:00
Themaister
cd4f22c275 Vulkan: Add path which uses WSI acquire semaphores.
Fence wait path has some issues on certain platforms. For now, gate this
on whether the GPU is integrated or not.
2020-06-09 00:24:29 +02:00
Themaister
15df55d011 Vulkan: Refactor swapchain index and frame index.
Do not tie these concepts together, it will not work for upcoming
refactor of swapchain logic.
2020-06-09 00:24:29 +02:00
twinaphex
920e89a506 Move pass set texture to vulkan_common.c 2020-01-22 14:27:24 +01:00
twinaphex
90874b434e (shader_vulkan.cpp) Move more C code to vulkan_common.c 2020-01-22 12:09:08 +01:00
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
twinaphex
d43b26348b (Vulkan) Don't use video_driver_get_size 2019-08-13 12:28:16 +02:00
twinaphex
ee3208ac39 Integrate video_driver.c into retroarch.c 2019-06-17 15:10:22 +02:00
Themaister
3b9ad729fb Vulkan: Fix color issues with RGBA8888 swapchains in readback. 2019-02-15 20:30:08 +01:00
twinaphex
d3ae2cbd29 Cleanup some header includes 2019-01-20 01:49:21 +01:00
orbea
e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -08:00
orbea
bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
Themaister
077b108aa1 Vulkan: Fix potential crash when toggling fullscreen.
If we have HW rendering, and we toggle fullscreen while in the menu, we
don't have a ready HW image, so fall back to black dummy texture.
2018-12-12 13:28:46 +01:00
Themaister
f51ef85f27 Vulkan: Fix scissor in menu driver. 2018-11-08 21:57:53 +01:00
Themaister
3f41cd533b Fix RGUI regression on Vulkan. 2018-10-16 23:29:17 +02:00
twinaphex
448d2d333c Set ctx_driver 2018-10-14 08:22:26 +02:00
twinaphex
e661cf3cfd Rewrite video_context_driver_init_first 2018-10-14 08:13:05 +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
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
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
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
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