citra-canary/externals
GPUCode dfa2fd0e0d
Add vulkan backend (#6512)
* code: Prepare frontend for vulkan support

* citra_qt: Add vulkan options to the GUI

* vk_instance: Collect tooling info

* renderer_vulkan: Add vulkan backend

* qt: Fix fullscreen and resize issues on macOS. (#47)

* qt: Fix bugged macOS full screen transition.

* renderer/vulkan: Fix swapchain recreation destroying in-use semaphore.

* renderer/vulkan: Make gl_Position invariant. (#48)

This fixes an issue with black artifacts in Pokemon games on Apple GPUs.
If the vertex calculations differ slightly between render passes, it can
cause parts of model faces to fail depth test.

* vk_renderpass_cache: Bump pixel format count

* android: Custom driver code

* vk_instance: Set moltenvk configuration

* rasterizer_cache: Proper surface unregister

* citra_qt: Fix invalid characters

* vk_rasterizer: Correct special unbind

* android: Allow async presentation toggle

* vk_graphics_pipeline: Fix async shader compilation

* We were actually waiting for the pipelines regardless of the setting, oops

* vk_rasterizer: More robust attribute loading

* android: Move PollEvents to OpenGL window

* Vulkan does not need this and it causes problems

* vk_instance: Enable robust buffer access

* Improves stability on mali devices

* vk_renderpass_cache: Bring back renderpass flushing

* externals: Update vulkan-headers

* gl_rasterizer: Separable shaders for everyone

* vk_blit_helper: Corect depth to color convertion

* renderer_vulkan: Implement reinterpretation with copy

* Allows reinterpreteration with simply copy on AMD

* vk_graphics_pipeline: Only fast compile if no shaders are pending

* With this shaders weren't being compiled in parallel

* vk_swapchain: Ensure vsync doesn't lock framerate

* vk_present_window: Match guest swapchain size to vulkan image count

* Less latency and fixes crashes that were caused by images being deleted before free

* vk_instance: Blacklist VK_EXT_pipeline_creation_cache_control with nvidia gpus

* Resolves crashes when async shader compilation is enabled

* vk_rasterizer: Bump async threshold to 6

* Many games have fullscreen quads with 6 vertices. Fixes pokemon textures missing with async shaders

* android: More robust surface recreation

* renderer_vulkan: Fix dynamic state being lost

* vk_pipeline_cache: Skip cache save when no pipeline cache exists

* This is the cache when loading a save state

* sdl: Fix surface initialization on macOS. (#49)

* sdl: Fix surface initialization on macOS.

* sdl: Fix render window events not being handled under Vulkan.

* renderer/vulkan: Fix binding/unbinding of shadow rendering buffer.

* vk_stream_buffer: Respect non coherent access alignment

* Required by nvidia GPUs on MacOS

* renderer/vulkan: Support VK_EXT_fragment_shader_interlock for shadow rendering. (#51)

* renderer_vulkan: Port some recent shader fixes

* vk_pipeline_cache: Improve shadow detection

* vk_swapchain: Add missing check

* renderer_vulkan: Fix hybrid screen

* Revert "gl_rasterizer: Separable shaders for everyone"

Causes crashes on mali GPUs, will need separate PR

This reverts commit d22d556d30ff641b62dfece85738c96b7fbf7061.

* renderer_vulkan: Fix flipped screenshot

---------

Co-authored-by: Steveice10 <1269164+Steveice10@users.noreply.github.com>
2023-09-13 01:28:50 +03:00
..
android-ifaddrs HTTP_C::Implement Context::MakeRequest (#4754) 2020-02-21 19:04:04 +01:00
boost@3c27c785ad shader_interpreter: Fix control flow edge cases and implement break/breakc (#6844) 2023-08-21 18:12:46 -07:00
catch2@3f0283de7a externals: update catch to v3.3.2 2023-05-04 11:12:59 -03:00
cmake-modules build: Rework CI and move all bundling into new build target. (#6556) 2023-06-26 17:42:00 -07:00
cpp-jwt@e12ef06218 externals: Update cpp-jwt to e12ef062 (#6051) 2022-06-25 14:41:57 +05:30
cryptopp@511806c0eb externals: Bundle cryptopp as submodule. (#6272) 2023-02-02 16:26:21 +01:00
cryptopp-cmake@15798ac9c2 externals: Switch to newer cryptopp-cmake. (#6242) 2023-01-15 21:45:42 +05:30
cubeb@48689ae7a7 externals: update cubeb (#6548) 2023-05-19 00:24:43 +02:00
dds-ktx@42dd8aa6de Custom textures rewrite (#6452) 2023-04-27 07:38:28 +03:00
discord-rpc@20cc99aeff ci: Fix CI builds being marked as dirty. (#6656) 2023-07-04 21:02:33 -07:00
dynarmic@d333a09b3b externals: Update dynarmic to 6.4.8 (#6596) 2023-06-07 20:25:28 -07:00
enet@4f8e9bdc4c Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
fmt@a33701196a Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
getopt CMakeLists: Derive the source directory grouping from targets themselves 2017-12-11 21:11:52 -05:00
glad video_core: Take factors into account with min/max blending functions (#6925) 2023-08-30 21:26:28 +03:00
glslang@1e4955adbc Prepare for Vulkan backend (#6595) 2023-06-05 07:29:05 -07:00
httplib build: Rework CI and move all bundling into new build target. (#6556) 2023-06-26 17:42:00 -07:00
inih Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
json Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
libadrenotools@deec5f75ee Add vulkan backend (#6512) 2023-09-13 01:28:50 +03:00
library-headers build: Clear out remaining compile warnings. (#6662) 2023-07-04 21:00:24 -07:00
libressl@d4fc7348a3 ci: Fix CI builds being marked as dirty. (#6656) 2023-07-04 21:02:33 -07:00
libusb externals: Link SDL2 statically. (#6461) 2023-05-10 05:08:25 +02:00
libyuv@6900494d90 Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
lodepng Upgrade codebase to C++ 20 + fix warnings + update submodules (#6115) 2022-09-21 18:36:12 +02:00
microprofile src/CMakeLists: Enforce multiple warnings on MSVC (#5692) 2022-11-09 23:14:28 +01:00
moltenvk Add vulkan backend (#6512) 2023-09-13 01:28:50 +03:00
nihstro@fd69de1a1b Update nihstro 2018-01-15 21:20:49 -06:00
open_source_archives archive_ncch: add open source mii archive 2019-03-09 08:19:32 -05:00
openal-soft@d9fed51aa6 audio_core: Implement OpenAL backend (#6450) 2023-05-01 21:17:45 +02:00
sdl2 sdl: Enable cpuinfo detection. (#6554) 2023-05-19 15:48:30 +02:00
sirit@4ab79a8c02 Prepare for Vulkan backend (#6595) 2023-06-05 07:29:05 -07:00
soundtouch@dd2252e9af externals: Update SoundTouch (#6473) 2023-04-27 17:48:57 +05:30
teakra@01db7cdd00 Update teakra (#5961) 2022-02-24 21:02:40 +05:30
vma@0e89587db3 Prepare for Vulkan backend (#6595) 2023-06-05 07:29:05 -07:00
vulkan-headers@85c2334e92 Add vulkan backend (#6512) 2023-09-13 01:28:50 +03:00
xbyak@a1ac3750f9 externals: bump xbyak to v6.68 2023-01-06 06:41:51 -08:00
zstd@63779c7982 externals: update zstd to v1.5.5 again 2023-05-04 11:08:05 -03:00
CMakeLists.txt Add vulkan backend (#6512) 2023-09-13 01:28:50 +03:00