summaryrefslogtreecommitdiffstats
path: root/src/video_core/vulkan_common (follow)
Commit message (Collapse)AuthorAgeFilesLines
* vulkan_device: Blacklist Intel from float16 math (#5798)Rodrigo Locatti2021-01-271-0/+5
| | | | Astral Chain crashes Intel's SPIR-V compiler when using fp16. Disable this while the vendor works on a fix.
* Merge pull request #5807 from ReinUsesLisp/vc-warningsLC2021-01-241-0/+1
|\ | | | | video_core: Silence the remaining gcc warnings and enforce them
| * video_core: Silence -Wmissing-field-initializers warningsReinUsesLisp2021-01-241-0/+1
| |
* | vulkan_device: Lift VK_EXT_extended_dynamic_state blacklist on RDNAReinUsesLisp2021-01-251-23/+0
|/ | | | It seems to be safe to use this on new drivers.
* nsight_aftermath_tracker: Fix build issues when enabledReinUsesLisp2021-01-232-16/+5
| | | | Fixes a bunch of build errors when Nsight Aftermath is properly enabled.
* Merge pull request #5745 from lioncash/documentationRodrigo Locatti2021-01-171-3/+2
|\ | | | | video_core: Resolve -Wdocumentation warnings
| * video_core: Resolve -Wdocumentation warningsLioncash2021-01-171-3/+2
| | | | | | | | Silences some -Wdocumentation warnings on Clang.
* | vulkan_debug_callback: Add missing header guardLioncash2021-01-171-0/+2
|/ | | | Prevents inclusion issues from occurring.
* vulkan_memory_allocator: Remove unnecesary 'device' memory from commitsReinUsesLisp2021-01-152-15/+15
|
* vulkan_memory_allocator: Add allocation support for download typesReinUsesLisp2021-01-152-55/+91
| | | | | Implements the allocator logic to handle download memory types. This will try to use HOST_CACHED_BIT when available.
* vulkan_memory_allocator: Add "download" memory usage hintReinUsesLisp2021-01-152-10/+38
| | | | | | | Allow users of the allocator to hint memory usage for downloads. This removes the non-descriptive boolean passed for "host visible" or not host visible memory commits, and uses an enum to hint device local, upload and download usages.
* vulkan_common: Move allocator to the common directoryReinUsesLisp2021-01-152-0/+322
| | | | Allow using the abstraction from the OpenGL backend.
* Merge pull request #5350 from ReinUsesLisp/vk-init-warnsRodrigo Locatti2021-01-152-145/+146
|\ | | | | vulkan_common: Silence missing initializer warnings
| * vulkan_common: Silence missing initializer warningsReinUsesLisp2021-01-152-145/+146
| | | | | | | | Silence warnings explicitly initializing all members on construction.
* | vulkan_device: Enable shaderStorageImageMultisample conditionallyReinUsesLisp2021-01-152-18/+20
|/ | | | Fix Vulkan initialization on ANV.
* vulkan_device: Remove requirement on shaderStorageImageMultisampleReinUsesLisp2021-01-131-1/+0
| | | | | yuzu doesn't currently emulate MS image stores. Requiring this makes no sense for now. Fixes ANV not booting any games on Vulkan.
* vulkan_library: Common::DynamicLibrary::Open is [[nodiscard]]MerryMage2021-01-071-1/+1
| | | | Ignore the return value on __APPLE__ systems as well
* vulkan_device: Allow creating a device without surfaceReinUsesLisp2021-01-041-3/+3
|
* renderer_vulkan/nsight_aftermath_tracker: Move to vulkan_commonReinUsesLisp2021-01-044-4/+302
|
* renderer_vulkan: Move device abstraction to vulkan_commonReinUsesLisp2021-01-042-0/+1189
|
* vulkan_instance: Allow different Vulkan versions and enforce 1.1ReinUsesLisp2020-12-312-13/+27
| | | | | | | For listing the available physical devices we can use Vulkan 1.0. Now that MoltenVK supports 1.1 we can require it for running games. Add missing documentation.
* renderer_vulkan: Remove two step initialization on VKDeviceReinUsesLisp2020-12-312-6/+3
| | | | | The Vulkan device abstraction either initializes successfully on the constructor or throws a Vulkan exception.
* renderer_vulkan: Throw when enumerating devices failsReinUsesLisp2020-12-314-11/+8
| | | | | | Report device enumeration errors with exceptions to be consistent with other initialization related function calls. Reduces the amount of code to maintain.
* renderer_vulkan: Initialize surface in separate fileReinUsesLisp2020-12-313-0/+104
| | | | | | Move surface initialization code to a separate file. It's unlikely to use this code outside of Vulkan, but keeping platform-specific code (Win32, Xlib, Wayland) in its own translation unit keeps things cleaner.
* renderer_vulkan: Create debug callback on separate file and throwReinUsesLisp2020-12-315-45/+79
| | | | | | | | Initialize debug callbacks (messenger) from a separate file. This allows sharing code with different backends. Change our Vulkan error handling to use exceptions instead of error codes, simplifying the initialization process.
* renderer_vulkan: Move instance initialization to a separate fileReinUsesLisp2020-12-312-0/+173
| | | | | | Simplify Vulkan's backend initialization code by moving it to a separate file, allowing us to initialize a Vulkan instance from different backends.
* vulkan_common: Rename renderer_vulkan/wrapper.h to vulkan_common/vulkan_wrapper.hReinUsesLisp2020-12-312-0/+2141
| | | | Allows sharing Vulkan wrapper code between different rendering backends.
* vulkan_common: Move dynamic library load to a separate fileReinUsesLisp2020-12-312-0/+49
Allows us to initialize a Vulkan dynamic library from different backends without duplicating code.