166 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
89d2d66e98
[Vulkan] Fix regression with RGB565 and OriginalHistory. (#14968)
Need to let filter chain know that we remapped the format.
Otherwise we end up trying to copy RGBA8888 to RGB565.
2023-02-12 18:10:07 +01:00
Hans-Kristian Arntzen
a77ada403e
[Vulkan] Use compute shaders to upload RGB565. (#14953)
A compatible path that is still fast. No reason to bother checking for
compat here really.
2023-02-05 19:23:48 +01:00
Hans-Kristian Arntzen
9f7d0c74d5
[Vulkan] Define and implement v2 of context negotiation interface (#14890)
* [Vulkan] Add v2 of context negotiation interface.

* [Vulkan] Add vkEnumerateInstanceVersion symbol.

* [Vulkan] Implement v2 context negotiation

* [libretro] Add GET_HW_CONTEXT_NEGOTIATION_INTERFACE_SUPPORT.

Works around issues in v1 interface where it was not possible to
query what frontend would do when faces with newer interface versions.

This env-call gives stronger guarantees how things have to work.

* [runloop] Implement GET_HW_CONTEXT_NEGOATION_INTERFACE_SUPPORT.

Fairly trivial. Just report the latest version.

* [Vulkan] Add stricted wording around get_application_info in v2.

* [Vulkan] Be more defensive about get_application_info() in v1.
2023-02-04 16:51:50 +01:00
libretroadmin
1a93bb3844 (Vulkan) Move some code around 2023-01-24 04:40:17 +01:00
warmenhoven
5b4c2c3e12
avoid using _PACK16 pixel formats on platforms without them (#14863) 2023-01-23 21:00:22 +01:00
Eric Warmenhoven
3c199c794e Updated Vulkan on Metal for OSX via MoltenVK 2023-01-07 07:38:42 +01:00
libretroadmin
30ea7da063 Cut down on header includes 2022-12-05 13:44:20 +01:00
LibretroAdmin
56ad3fa091 (Vk struct) Turn boolean variables into flags 2022-11-02 21:34:00 +01:00
LibretroAdmin
724acc4eb9 (Vulkan) Use flags for vulkan_ctx_data 2022-10-30 23:07:07 +01:00
LibretroAdmin
0159c2f70f gfx_ctx_vulkan_data - use flags instead of booleans 2022-10-30 22:03:36 +01:00
LibretroAdmin
f40d157571
Use flags pt3 (#14491)
* (Vulkan) Use flags for vulkan_emulated_mailbox

* Use flags for vk_texture

* dispgfx_widget - use flags instead of bools

* (Autoconfig) Use flags
2022-10-07 11:08:17 +02:00
Themaister
d9088dd2a9 Add helpers to mark object names automatically.
Can be trivially extended as required.
2022-08-31 19:45:33 +02:00
Themaister
6038d503c2 Move over to VK_EXT_debug_utils.
Debug marker is deprecated years ago.
2022-08-31 19:45:21 +02:00
libretroadmin
66a2a12766 (Vulkan) Move functions to proper place where they're used
and turn them static
2022-05-21 01:40:23 +02:00
libretroadmin
3b99b42812 (shader_vulkan) Simplify - move functions over that were exclusively
used in shader_vulkan.cpp from vulkan_common.c to there
2022-05-21 01:11:28 +02:00
twinaphex
8cdfc8e8b6 Fix CXX_BUILD errors 2022-04-02 20:37:54 +02:00
MajorPainTheCactus
ad4f6176ff
Vulkan driver fixes for HDR (#13468)
* Fixed crash on boot with xmb and vulkan driver Fixed wrong blend state affecting the ribbon shader Fixed up C++ style comments with C style

* Fixed compilation issue - I made a last minute change and thought I had compiled it but obviously hadn't! No wonder it worked.
2022-01-10 06:26:02 +01:00
MajorPainTheCactus
1a228a4e78
Added HDR support to Vulkan driver (#13456) 2022-01-08 13:22:34 +01:00
twinaphex
8f79e14d0a Silence LGTM static code analysis warnings 2021-03-24 00:25:47 +01:00
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