Commit Graph

46142 Commits

Author SHA1 Message Date
sum2012 d6477e808f Fix setAudioStream 2026-06-08 23:04:29 +08:00
sum2012 9c78c886e1 Fix multi-stream handling system that supports both selective ignoring and active stream switching
Fix #15606
But bypasses all  setAudioStream , MediaEngine state-changing or data-consuming calls.
2026-06-08 23:00:36 +08:00
sum2012 b26dcb3f9a Try to fix 'avail' test 2026-06-07 20:27:06 +08:00
sum2012 dad0707412 fIX AI deleted this line
Fix UFC 2010 video
2026-06-07 19:10:01 +08:00
sum2012 dd0fa10f89 Fix muti ringbuffer structures for mpeg
Fix #11934
2026-06-06 04:56:11 +08:00
Henrik Rydgård ecc35b904a Merge pull request #21792 from hrydgard/fix-another-depth-issue
Fix menus in NBA2K12.
2026-06-05 18:27:23 +02:00
Henrik Rydgård b84afa8a5b Fixes menus in NBA2K12.
Not sure if we can find a better way, I suppose
we could clamp vertex coordinates that are in this range instead, if it
turns out that this somehow breaks something.
2026-06-05 18:23:31 +02:00
Henrik Rydgård 9506f5c470 Merge pull request #21791 from hrydgard/compat-info
Add a debug window to check active compat flags
2026-06-05 18:14:25 +02:00
Henrik Rydgård 45f41be8f0 Add a debug window to check active compat flags 2026-06-05 17:55:28 +02:00
Henrik Rydgård 78a6bd7157 Add DevMenu to the three dots menu on the pause screen 2026-06-05 17:19:06 +02:00
Henrik Rydgård 84677d4cb5 Merge pull request #21788 from hrydgard/more-work
GTA sprite fix: Detect sprites, clip them slightly to avoid filtering artifacts
2026-06-05 12:43:19 +02:00
Henrik Rydgård d59cdcad61 GTA sprite fix: Detect sprites, clip them slightly to avoid filtering artifacts 2026-06-05 11:48:46 +02:00
Henrik Rydgård 928cdea420 Fix vulkan validation error after #21616
See #21616
2026-06-05 10:09:23 +02:00
Henrik Rydgård f9bf58f8b0 Merge pull request #21616 from jasaaved/borderless-fullscreen
Windows Vulkan: default to borderless fullscreen, add exclusive option
2026-06-05 09:54:46 +02:00
Henrik Rydgård 7d7985ec3b Merge pull request #21787 from hrydgard/depth-round-15-bit
Truncate depth to 15 bits when our compatibility flag for depth rounding is set
2026-06-05 01:50:29 +02:00
Henrik Rydgård 9ce5270e80 With our compatibility flag for depth rounding, truncate to 15 bits.
This matches some earlier test results by Unknown where we could see
that only every second value was used, and is the only explanation I can
come up with for the Afterburner problem, having now traced all the
depth math properly.

Fixes #21785 - and hopefully doesn't break anything else.
2026-06-05 00:50:30 +02:00
Henrik Rydgård ca4eb8e95e Merge pull request #21786 from hrydgard/depth-cull-fix
Apply the correct culling epsilons both in fastcull and in software transform
2026-06-05 00:49:43 +02:00
Henrik Rydgård 19d6850789 Apply the correct culling epsilons both in fastcull and in software transform. Fixes NBA again. 2026-06-05 00:18:06 +02:00
jasaaved 95006cf1d3 Changed bFullScreenExclusive to bAllowFullScreenExclusive
There's no guarantee VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT will enter Fullscreen exclusive (FSE). Under the right conditions, the driver and/or DWM can grant FSE. Adding "allow" to the FSE setting should make this a bit clearer.
2026-06-04 12:54:52 -07:00
Henrik Rydgård 392a862be2 Merge pull request #21784 from hrydgard/smarter-2d-filter
Smart 2D texture filtering: Use the new vertex path to check for pixel mapping in transformed geometry
2026-06-04 17:24:40 +02:00
Henrik Rydgård 169f473b95 Smart 2D texture filtering: Use the new vertex path to check for pixel mapping in transformed geometry
Previously, "Smart 2D texture filtering" was limited to through-mode
draws, but many games use fully transformed draws to do 2D elements.

An example of this is Outrun in the menus, and it's always been plagued by
horrible filtering artifacts.

With the improved Smart 2D texture filtering, the artifacts are gone!
Of course, instead of glitchy bilinear you instead get point sampled
texturing so it looks more pixellated, but no more ugly borders between letters
in the game.
2026-06-04 17:04:04 +02:00
Henrik Rydgård 420537b32c Merge pull request #21783 from hrydgard/clipping-compat-flag
Avoid soft-transform-and-clip if the near plane matches the final clip plane, and a new compat flag isn't set
2026-06-04 15:55:23 +02:00
Henrik Rydgård 1867f0775e Avoid soft-transform-and-clip if the near plane matches the final clip plane, and a new compat flag isn't set
Fixes #21776

Since only two games are known to need the cull-after-clip behavior
(previously known as inversion), we flag those and avoid unnecessary
soft clipping.

I had hoped to find a dynamic check that would work, but haven't managed
to figure out a good one yet.

This will improve performance a little bit in some other games since we
can avoid clipping in software at all in many cases.
2026-06-04 14:49:22 +02:00
Henrik Rydgård 791978b0e9 Merge pull request #21782 from hrydgard/software-transform-work
Software transform code cleanup
2026-06-04 14:25:03 +02:00
Henrik Rydgård 61a2d78930 Buildfix 2026-06-04 14:02:12 +02:00
Henrik Rydgård 50e5f9c23a Small simplification and fix in VertexShaderGenerator 2026-06-04 12:45:20 +02:00
Henrik Rydgård 195455a7f4 Break out VertexReader, prepare VertexReader for CrossSIMD use in software transform 2026-06-04 12:45:17 +02:00
Henrik Rydgård 7e265fd1c4 Remove some obsolete compat.ini settings 2026-06-04 12:45:17 +02:00
Henrik Rydgård 84c366971c Software transform: Scope some variables properly. Remove unnecessary & on parameter. 2026-06-04 12:45:17 +02:00
Henrik Rydgård 00d201b216 Correct software transform stats in all-cull and through mode cases 2026-06-04 12:45:17 +02:00
Henrik Rydgård 3fa4324329 Merge pull request #21781 from hrydgard/more-crosssimd
Fix depth clear issue from previous commit, use fastcull on indexed draws
2026-06-04 11:55:33 +02:00
Henrik Rydgård c270e8766e Correct depth clear translation. Fixes #21780 2026-06-04 11:30:52 +02:00
Henrik Rydgård 652e3e2c22 Use fastcull on indexed draws too. 2026-06-04 11:24:15 +02:00
Henrik Rydgård c697496364 Other fixes 2026-06-04 11:24:15 +02:00
Henrik Rydgård 1cc0062120 Add Dot3 and Dot4 instructions to Vec4F32 2026-06-04 11:24:15 +02:00
jasaaved 0147ea0ae8 Grey out "Use all screens" when "Exclusive fullscreen" is on
Exclusive full screens is fundamentally a single monitor concept. It doesn't make sense to have "use all screens" and "Exclusive fullscreen".

The order of the options have been swapped so "Fullscreen" and "Exclusive Fullscreen" are right next to each other.
2026-06-03 17:15:13 -07:00
jasaaved 5e25118043 Fix the exclusive fullscreen config guard and switching the setting on/off
Previously the exclusive fullscreen option in the settings screen was
guarded by a compile-time #ifdef VK_EXT_full_screen_exclusive, which is
always true on Windows. It now uses a runtime fullScreenExclusiveSupported
cap derived from whether the extension is actually enabled by the driver.

Switching between borderless and exclusive fullscreen currently requires a
restart. This is because once DWM has claimed the window (any frames
presented), ALLOWED_EXT cannot re-engage exclusive mode on an existing
swapchain. A new process gets a fresh HWND that DWM has not claimed yet,
so ALLOWED_EXT works correctly at startup.

The proper fix is to use VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
with vkAcquireFullScreenExclusiveModeEXT/vkReleaseFullScreenExclusiveModeEXT
to explicitly negotiate exclusive mode with DWM mid-session without needing
a restart. To be done in a follow-up.
2026-06-03 17:15:13 -07:00
jasaaved b5bd685556 Add VK_EXT_full_screen_exclusive guard
Exclusive fullscreen option is now hidden on platforms without VK_EXT_full_screen_exclusive.
2026-06-03 17:15:13 -07:00
jasaaved 0c23cdaf3d Windows Vulkan: default to borderless fullscreen, add exclusive option
Vulkan swapchain now explicitly sets VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT by default, enabling proper borderless fullscreen behavior with benefits including better Alt+Tab, VRR/G-Sync/FreeSync, and Auto HDR support.
2026-06-03 17:15:13 -07:00
Henrik Rydgård b546ec8c88 Merge pull request #21775 from hrydgard/depth-scale
Remove unnecessary scaling and then un-scaling of through-mode Z coordinates
2026-06-03 22:54:43 +02:00
Henrik Rydgård 078197d790 Remove unnecessary scaling and then un-scaling of through-mode Z coordinates 2026-06-03 20:31:05 +02:00
Henrik Rydgård 382999b013 Merge pull request #21774 from hrydgard/assorted-fixes
Add default mappings for the right stick to many of our default keymaps
2026-06-03 19:11:50 +02:00
Henrik Rydgård 9f5d28ca6e Fix toggling pause with the bound pause key 2026-06-03 18:49:13 +02:00
Henrik Rydgård eb6e9d9c4f Add some bindings for the right analog stick by default (for right-stick patches) 2026-06-03 18:49:10 +02:00
Henrik Rydgård 2ea8a9ac1f Revert "Remove unnecessary scaling and then un-scaling of through-mode Z coordinates"
Didn't mean to commit this, it was supposed to go in a PR.

This reverts commit 6d4c70c67d.
2026-06-03 17:18:10 +02:00
Henrik Rydgård 87c0146eaa Fix main menu init
Fixes #21773
2026-06-03 16:00:51 +02:00
Henrik Rydgård 6d4c70c67d Remove unnecessary scaling and then un-scaling of through-mode Z coordinates 2026-06-03 16:00:40 +02:00
Henrik Rydgård d4995a97aa Merge pull request #21771 from hrydgard/bbox-debug
Fix culling for draws with 8-bit positions, visualize bbox corners in the ImGe debugger
2026-06-03 15:54:03 +02:00
Henrik Rydgård 48084e9c3e Cleanup, fix some oversights 2026-06-03 15:23:17 +02:00
Henrik Rydgård bf196aded6 Fix critical bug in LoadS8Norm for SSE 2026-06-03 15:21:53 +02:00