Commit Graph

2533 Commits

Author SHA1 Message Date
Jordan Woyak 33a7283d3b VideoBackends/Metal: Fix anisotropic filtering handling. 2025-04-01 15:09:21 -05:00
JMC47 932b4abdcf
Merge pull request #13457 from jordan-woyak/efb-access-fix
VideoCommon: Fix out-of-bounds and disabled EFB access.
2025-03-28 18:43:57 -04:00
Joshua Vandaële 3a1a60d4f8
Fix shadowed variable warnings and missing declarations
- PPCSymbolDB:  Resolve shadowed variable warnings
- PerformanceMetrics:  Resolve shadowed variable warnings
- SWEfbInterface: Add missing declarations
2025-03-27 21:48:08 +01:00
Jordan Woyak e351f03cdf VideoCommon: Fix out-of-bounds and disabled EFB access. 2025-03-26 01:23:16 -05:00
Jordan Woyak 137d1375d4 Enable game-requested anisotropic filtering in Metal backend. 2025-03-17 20:46:24 -05:00
Pokechu22 79a1e480ca Enable anisotropic filtering when the game requests it 2025-03-17 20:46:19 -05:00
JosJuice 8c7ab286f5
Merge pull request #13181 from tygyh/Replace-'reinterpret_cast'
Replace 'reinterpret_cast' with 'static_cast'
2025-03-15 15:31:38 +01:00
JosJuice 3fb4084e25
Merge pull request #13345 from Tilka/unswap_depth
Fix depth texture being incorrectly affected by swap table
2025-03-15 14:30:19 +01:00
Jordan Woyak 5b36c13bfb VideoCommon: Rename Renderer to EFBInterface. 2025-03-12 21:09:16 -05:00
Jordan Woyak fe2d247acb VideoCommon: Don't merge EFBPoke AsyncRequests. 2025-03-10 16:37:24 -05:00
Jordan Woyak c18c039089 VideoCommon: Move backend_info out of VideoConfig struct. 2025-03-09 01:42:45 -06:00
Tillmann Karras 7abb9e7974 Sofware/Tev: use unswapped texture samples for depth 2025-02-25 18:45:01 +00:00
Xphalnos c9bd6a13a9 VideoBackends: Use DXGI 1.6 and D3D11_4 2025-02-02 09:02:35 +01:00
Pokechu22 761e65ed26
Merge pull request #13275 from Pokechu22/d3d12-custom-root-param-index
D3D12: Fix out of bounds root parameter index when per-pixel lighting is disabled
2025-01-20 14:53:40 -08:00
Pokechu22 64514bd8d4 D3D12: Fix out of bounds root parameter index when per-pixel lighting is disabled 2025-01-14 22:30:31 -08:00
OatmealDome 2633b84b98 Vulkan: Only attempt to create a CAMetalLayer on macOS 2025-01-08 13:51:53 -05:00
mitaclaw d92c68e1de Simplify `std::find_if` with `Common::Contains` 2025-01-01 09:52:03 -08:00
JMC47 532a8621da
Merge pull request #13116 from mitaclaw/ranges-modernization-8-trivial-of
Ranges Algorithms Modernization - Of
2024-12-26 16:51:53 -05:00
mitaclaw 140252ffc0 Modernize `std::any_of` with ranges
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-15 19:54:16 -08:00
OatmealDome e6f335bfcf VKSwapChain: Always use surface formats with a normal sRGB color space if not RGBA16F
Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2024-12-03 20:49:50 -05:00
Dr. Dystopia 6d44afc7dd Replace 'reinterpret_cast' with 'static_cast' 2024-11-08 07:26:47 +01:00
JMC47 e10821a847
Merge pull request #13104 from TellowKrinkle/MTLLogging
VideoBackends:Metal: Log file on failed pipeline compile
2024-10-19 13:03:52 -04:00
JosJuice 07605bf67c
Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivial
Ranges Algorithms Modernization - Trivial
2024-10-15 17:08:55 +02:00
Pokechu22 937bb2aa2e Cache normals in addition to binormals and tangents
Fixes LIT (https://bugs.dolphin-emu.org/issues/13635). The text does not include normals, but has lighting enabled. With the previous default of (0, 0, 0), lighting was always black (as dot(X, (0, 0, 0)) is always 0). It seems like the normal from the map in the background (0, 0, 1) is re-used.

LIT also has the vertex color enabled while vertex color is not specified, the same as SMS's debug cubes; the default MissingColorValue GameINI value of solid white seems to work correctly in this case.
2024-10-12 10:32:41 -07:00
Tilka c1832d17f6
Merge pull request #13117 from mitaclaw/ranges-modernization-9-trivial-find
Ranges Algorithms Modernization - Find
2024-10-11 20:27:18 +01:00
mitaclaw e8d5fb89e4 C++20: Synthesize `operator!=` From `operator==`
The inequality operator is automatically generated by the compiler if `operator==` is defined.
2024-10-10 20:23:55 -07:00
mitaclaw e4fb837f4b Modernize `std::find_if` with ranges
In BTEmu.cpp, `std::mem_fn` was not necessary for the predicate to compile.
2024-10-10 15:28:11 -07:00
mitaclaw 88a1a5b4f2 Modernize `std::set_intersection` with ranges 2024-10-10 00:53:48 -07:00
mitaclaw 01d0bdf1bb Modernize `std::is_sorted` with ranges
In OGLConfig.cpp, `std::views::reverse` is used rather than sorting using `std::ranges::greater` in order to parallel other instances of reverse iteration in the function.
2024-10-10 00:53:48 -07:00
mitaclaw 78440ca335 Modernize `std::reverse` with ranges 2024-10-10 00:53:48 -07:00
TellowKrinkle 1454934a07 VideoBackends:Metal: Use standardized C++ features over clang builtins 2024-10-06 02:13:48 -05:00
TellowKrinkle 32fd10bd08 VideoBackends:Metal: Log file on failed pipeline compile 2024-10-06 02:13:48 -05:00
TellowKrinkle 9244cded9f VideoBackends:Vulkan: Increase VMA Vulkan Version to 1.2
We now use Vulkan 1.2 if available
2024-10-05 16:51:14 -05:00
JMC47 2d9f789940
Merge pull request #13050 from TellowKrinkle/HKIsNotMVK
Vulkan: Don't do MoltenVK things on Asahi Linux
2024-10-05 00:51:27 -04:00
OatmealDome ae14abb2fa
Merge pull request #13088 from TellowKrinkle/iOSFixes
VideoBackends:Metal: Fix bbox on newer iOS devices
2024-10-04 17:32:44 -04:00
TellowKrinkle a267c56412 VideoBackends:Vulkan: Wait until we've confirmed a successful AcquireNextImage before marking semaphores used 2024-10-02 19:22:16 -05:00
TellowKrinkle 7e1a9490c0 VideoBackends:Vulkan: Don't try to present if swapchain acquire failed 2024-10-02 19:22:16 -05:00
TellowKrinkle 70f69c3213 VideoBackends:Metal: subgroup_ops requires Apple7, not Apple6
SIMD-scoped permute operations are Apple6, but reduction operations are Apple7
2024-09-30 23:38:23 -05:00
TellowKrinkle 14feaf4ba8 VideoBackends:Metal: Use ios_use_simdgroup_functions with SPIRV-Cross
It defaults to trying to emulate simdgroup functions on iOS
2024-09-29 23:58:54 -05:00
Tillmann Karras 0a299a4e1e Sw/Tev: drop unused macro 2024-09-24 22:00:03 +01:00
Tillmann Karras 98add9faf0 Sw/Rasterizer: fix two elder typos, AD 2009 2024-09-24 22:00:03 +01:00
TellowKrinkle dc6ccfb2ab VideoBackends:Vulkan: Use Vulkan 1.2 driverID to detect MoltenVK
Previously we'd assume all Apple GPUs were MoltenVK, including those running on Asahi Linux with open source Honeykrisp drivers.
2024-09-05 22:15:30 -05:00
TellowKrinkle 1416dc7e6a VideoBackends:Vulkan: Consolidate feature checking into one struct 2024-09-05 22:15:29 -05:00
Admiral H. Curtiss e1b1e4b4cf
Merge pull request #13031 from parona-source/libfmt-11
Add support for libfmt-11
2024-08-31 15:34:48 +02:00
Ali Homafar 02e9a8feaf vulkan: Add line number to vulkan error logger
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-08-28 17:42:54 -04:00
Alfred Wingate d7c93d87be
Add support for libfmt-11
fmt::join was moved into fmt/ranges.h

Signed-off-by: Alfred Wingate <parona@protonmail.com>
2024-08-22 16:54:35 +03:00
Dr. Dystopia 9602f36248 Remove redundant semicolons 2024-08-20 14:59:54 +02:00
TellowKrinkle cab6e7c12e Properly link against xxhash
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-07-06 16:56:44 -05:00
Luis Condes Diaz 3f64031cbb Migrate Vulkan-Headers to submodule and update to v1.3.288 2024-06-22 08:03:20 +02:00
Admiral H. Curtiss 5c2f73986a
Merge pull request #12537 from TellowKrinkle/MTLSubgroup
VideoCommon: More specific subgroup op bugs
2024-05-21 22:17:22 +02:00