summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan
AgeCommit message (Collapse)Author
2026-04-20Replace `find(x) != npos` with `contains(x)` - CoreDr. Dystopia
2026-03-21VulkanContext: Drop support for BUG_BROKEN_DISCARD_WITH_EARLY_Z workaroundOatmealDome
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2026-01-17Merge pull request #14289 from Sintendo/typosJMC47
Fix various typos and spelling mistakes
2026-01-17Fix various typos and spelling mistakesSintendo
2026-01-09c++23: Replace Common::ToUnderlying with std::to_underlyingJoshua Vandaële
Requires at least GCC 11, Clang 13, MSVC 19.30 (VS2022 17.0), or AppleClang 13.1.6 (XCode 13.3).
2025-11-02Merge pull request #13975 from iwubcode/shader_includesJMC47
VideoBackends / VideoCommon: add support for specifying include files in shader code
2025-10-26VideoBackends / VideoCommon: add support for specifying include files in ↵iwubcode
shader code
2025-10-26Merge pull request #14031 from TellowKrinkle/GlslangFixJordan Woyak
CMake: Fix bundled glslang
2025-10-24CMake: Fix bundled glslangTellowKrinkle
2025-10-18VideoBackends:Vulkan: Prevent hazards when restarting render passesTellowKrinkle
2025-10-13VideoBackend: Rename GetName to GetConfigNameDentomologist
Make the function name more explicit and a better match for GetDisplayName. Change NAME to CONFIG_NAME while I'm at it.
2025-09-27Externals: Update glslang to 16.0.0 and allow using system glslangJoshua Vandaële
2025-08-23VideoBackends / VideoCommon: rename member variables in RenderState to be ↵iwubcode
consistent
2025-08-17VideoBackends: allow custom pixel uniforms to be passed to the vertex shader ↵iwubcode
as well
2025-07-29VKPipeline: Don't include depth clamp control struct when not supportedCrossVR
This should not be needed
2025-07-29DriverDetails: Disable depth_clamp_control on AMD official driversCrossVR
2025-07-23Merge pull request #13100 from CrossVR/unrestricted-depth-rangeJules Blok
Vulkan: Add support for unrestricted depth range.
2025-07-21Vulkan: Fix present semaphores reuseMartino Fontana
Fixes validation errors. See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html
2025-07-21Vulkan: Add support for unrestricted depth range.CrossVR
2025-06-14Source: Remove redundant lambda parameter listsDr. Dystopia
2025-06-09Merge pull request #13658 from jordan-woyak/vk-present-done-raceJMC47
Vulkan: Eliminate m_last_present_done flag.
2025-06-07Merge pull request #13522 from ↵Jordan Woyak
tygyh/Enforce-overriding-destructor-style-Core&UnitTests Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-05-13Vulkan: Eliminate m_last_present_done flag.Jordan Woyak
2025-05-01Make overriding explicit and remove redundant virtual specifiers on ↵Dr. Dystopia
overriding destructors - Core & UnitTests
2025-04-30VideoBackends/Vulkan: Use WorkQueueThreadSP for swap commands.Jordan Woyak
2025-03-17Enable anisotropic filtering when the game requests itPokechu22
2025-03-15Merge pull request #13181 from tygyh/Replace-'reinterpret_cast'JosJuice
Replace 'reinterpret_cast' with 'static_cast'
2025-03-09VideoCommon: Move backend_info out of VideoConfig struct.Jordan Woyak
2025-01-08Vulkan: Only attempt to create a CAMetalLayer on macOSOatmealDome
2025-01-01Simplify `std::find_if` with `Common::Contains`mitaclaw
2024-12-26Merge pull request #13116 from mitaclaw/ranges-modernization-8-trivial-ofJMC47
Ranges Algorithms Modernization - Of
2024-12-15Modernize `std::any_of` with rangesmitaclaw
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those. In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
2024-12-03VKSwapChain: Always use surface formats with a normal sRGB color space if ↵OatmealDome
not RGBA16F Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2024-11-08Replace 'reinterpret_cast' with 'static_cast'Dr. Dystopia
2024-10-05VideoBackends:Vulkan: Increase VMA Vulkan Version to 1.2TellowKrinkle
We now use Vulkan 1.2 if available
2024-10-05Merge pull request #13050 from TellowKrinkle/HKIsNotMVKJMC47
Vulkan: Don't do MoltenVK things on Asahi Linux
2024-10-02VideoBackends:Vulkan: Wait until we've confirmed a successful ↵TellowKrinkle
AcquireNextImage before marking semaphores used
2024-10-02VideoBackends:Vulkan: Don't try to present if swapchain acquire failedTellowKrinkle
2024-09-05VideoBackends:Vulkan: Use Vulkan 1.2 driverID to detect MoltenVKTellowKrinkle
Previously we'd assume all Apple GPUs were MoltenVK, including those running on Asahi Linux with open source Honeykrisp drivers.
2024-09-05VideoBackends:Vulkan: Consolidate feature checking into one structTellowKrinkle
2024-08-28vulkan: Add line number to vulkan error loggerAli Homafar
This is a minor improvement to add line numbers to the LOG_VULKAN_ERROR define. Basically error logs for Vulkan will now look like: ``` // This 25:03:347 VideoBackends/Vulkan/VulkanLoader.cpp:247 E[Video]: (WaitForCommandBufferCompletion:278) vkWaitForFences failed: (2: VK_TIMEOUT) // Instead of 15:45:154 VideoBackends/Vulkan/VulkanLoader.cpp:247 E[Video]: (WaitForCommandBufferCompletion) vkWaitForFences failed: (2: VK_TIMEOUT) ```
2024-07-06Properly link against xxhashTellowKrinkle
Things using dolphin_find_optional_system_library need to link against the name used there or they won't work with both the system and bundled cases
2024-06-22Migrate Vulkan-Headers to submodule and update to v1.3.288Luis Condes Diaz
2024-05-21Merge pull request #12537 from TellowKrinkle/MTLSubgroupAdmiral H. Curtiss
VideoCommon: More specific subgroup op bugs
2024-04-04Fix out of bounds accesses for invalid vertex component formatsPokechu22
On all platforms, this would result in out of bounds accesses when getting the component sizes (which uses stuff from VertexLoader_Position.h/VertexLoader_TextCoord.h/VertexLoader_Normal.h). On platforms other than x64 and ARM64, this would also be out of bounds accesses when getting function pointers for the non-JIT vertex loader (in VertexLoader_Position.cpp etc.). Usually both of these would get data from other entries in the same multi-dimensional array, but the last few entries would be truly out of bounds. This does mean that an out of bounds function pointer can be called on platforms that don't have a JIT vertex loader, but it is limited to invalid component formats with values 5/6/7 due to the size of the bitfield the formats come from, so it seems unlikely that this could be exploited in practice. This issue affects a few games; Def Jam: Fight for New York (https://bugs.dolphin-emu.org/issues/12719) and Fifa Street are known to be affected. I have not done any hardware testing for this PR specifically, though I *think* I previously determined that at least a value of 5 behaves the same as float (4). That's what I implemented in any case. I did previously determine that both Def Jam: Fight for New York and Fifa Street use an invalid normal format, but don't actually have lighting enabled when that normal vector is used, so it doesn't change rendering in practice. The color component format also has two invalid values, but VertexLoader_Color.h/.cpp do check for those invalid ones and return a default value instead of doing an out of bounds access.
2024-01-28VideoCommon: Post to analytics when bug is overriddenTellowKrinkle
2024-01-28VideoBackends:Multiple: Split up BUG_BROKEN_SUBGROUP_OPSTellowKrinkle
We now use subgroup ops for more than just a minor performance optimization
2024-01-05VKGfx: Don't panic for VK_SUBOPTIMAL_KHRMartino Fontana
2024-01-03Revert "VideoCommon: revert max pixel shader samplers back to 8 for Android ↵iwubcode
devices." This reverts commit 79648e1c24eac81f54365bbcb6dbc49ad6b16b1c.