Commit Graph

19316 Commits

Author SHA1 Message Date
lightningterror f2b3db9cbc GS/HW: Improve how we handle decorrection on texture shuffles.
Avoid copies if we can.
2024-03-17 17:24:39 +01:00
refractionpcsx2 7a547e64c4 GS/HW: RTA checks for moves and DST matches and ICO CRC. 2024-03-17 17:24:39 +01:00
lightningterror 6a5ac4fe54 GS/HW: Avoid corrections on new targets. 2024-03-17 17:24:39 +01:00
lightningterror 500e86c43c GS/HW: Update TargetClear to work with RTA Correction. 2024-03-17 17:24:39 +01:00
lightningterror 0900c2fd8b GS/HW: RTA Correction, implement on DATE.
Less copies, and makes it work with DATE.
2024-03-17 17:24:39 +01:00
lightningterror 58628b8dd3 GS/HW: Make sure we don't multiply Cs if Ad is corrected.
Another potential to avoid copies.
2024-03-17 17:24:39 +01:00
lightningterror 71376ff4e6 GS/HW: Decorrect Ad on sw blend in tfx shader.
Otherwise if we do decorrection in covert shader we add more copies.

Also make sure to decorrect for fbmask, tex is fb.
2024-03-17 17:24:39 +01:00
lightningterror fff4aea076 GS/HW: Avoid (Ad + 1) cases on RTA correction.
HW blend will be wrong here so no need to do copies.
2024-03-17 17:24:39 +01:00
lightningterror 6c9f132093 GS/HW: Add support for Ad (RTA) correction.
The idea is to adjust the alpha destination for more
accurate hw blending which will work on all renderers.

Old behavior has Ad in range within 0-1 whereas for blending 0-2 is needed.

copy rt -> adjust the alpha -> copy back the adjusted alpha-> restore old alpha after blending is done
2024-03-17 17:24:39 +01:00
refractionpcsx2 3b7ad788bf GS/HW: Improve shuffle width/height detection 2024-03-16 11:19:26 +00:00
lightningterror 867afd7da0 Qt: Disable Texture barriers option on Metal.
Not implemented.
2024-03-15 18:02:54 +01:00
lightningterror c4bfdc4506 GS/Metal: Fix some Wformat warnings. 2024-03-14 18:18:57 +01:00
lightningterror a7c5eebf99 GS/HW: Adjust blend mix for impossible blend.
Since we can't do Cd*(Alpha + 1) - Cs*Alpha in hw blend what we can do is adjust the Cs value that will be subtracted,
this way we can get a better result in hw blend. Result is still wrong but less wrong than before.
2024-03-14 16:16:11 +01:00
Dan McCarthy a2a6a98635 Debugger: Fixes crash selecting a filter search with new search button
Fixes crash issues when trying to use a search comparison that requires prior results with the New Search button instead of Filter Search.
2024-03-14 01:42:11 +01:00
Dan McCarthy d309e24e60 Debugger: Reduces RAM useage for searches (Act 1)
Reduces memory useage during memory searching process.
- Minimizes passing by copy, uses references to avoid causing copies
- Deletes FutureWatcher ptr when no longer needed to avoid leaking memory (thanks Fobes)
- Updates the search results vector in-place so that no extra copies are needed.
- Makes use of std::move to transfer resources instead of keeping two copies.
- No longer keeps a copy of prior search results in addition to the active search, the stored results are transferred to the search worker and then transferred back.

More improvements to be made, but making a first that should make a
decent impact.

Also: Updates storage of prior results a s a vector now.
Prior since the results were stored in a hashmap, the .keys() function needed to be used to index at an arbitrary point when loading results into the UI.

This caused a big spike in memory usage when the results count is particularly large.
Using a vector optimizes this as we don't need to add any memory when indexing in this way.

Also unlike before when we used vector, we're also removing elements in place when doing filter searches so we don't need two vectors.
2024-03-14 01:42:11 +01:00
KamFretoZ 7abbdf89af OSD: Add Memcard Icon in more places 2024-03-13 11:57:36 +00:00
KamFretoZ 4720f69b76 BPM: Implement "Open in File Browser" Function 2024-03-13 11:57:36 +00:00
Stenzek 515cbc7b29 Path: Add CreateFileURL() 2024-03-13 20:13:35 +10:00
lightningterror b4992856f7 GS/HW: Instead of adjusting blend min/max, adjust GetAlphaMinMax.
Might help in blending cases.
2024-03-12 11:25:29 +00:00
lightningterror 74df63ff94 GS/HW: Remove blend_ad_improved case.
Didn't work properly and will be useless when RTA correction pr is merged.
2024-03-12 11:25:29 +00:00
lightningterror 52ac8f0d7b GS/HW: Calculate blend/rt alpha min/max based on alpha test. 2024-03-12 11:25:29 +00:00
lightningterror 760ea91cc1 GS/HW: Adjust blend_alpha_min/max based on DATE. 2024-03-12 11:25:29 +00:00
refractionpcsx2 2324922111 GS/HW: Don't allow conversion to indexed is read is outside the target 2024-03-12 09:12:56 +00:00
PCSX2 Bot 1cfc2780d0 PAD: Update to latest controller database. 2024-03-11 17:04:34 +01:00
lightningterror c0e47767b7 GS/HW: Adjust dither on Blend Mix when Cs-Cd * Af blend. 2024-03-10 23:41:18 +00:00
refractionpcsx2 65649b3cbb GS/HW: Adjust dither on Blend Mix when Cs-Cd * As blend. 2024-03-10 23:41:18 +00:00
Stenzek d28ba0e53c GS/HW: Don't include TBW in hash cache key
Since we're hashing at the block level, a different TBW that causes a
different-looking texture should cause different blocks to get hashed,
and thus, a different hash.
2024-03-10 23:22:34 +10:00
Stenzek 4fef86a635 GS/HW: Reduce duplicates in hash cache
- Don't include TCC in the hashed TEX0 bits.
 - Hash the region size, not rectangle.

Significantly reduces hash cache size in Ace Combat 5, over the course
of 30 frames from 1,000+ textures down to 400.

NOTE: This will change texture replacement hashes. Any "old" region
textures will transparently be converted to the new internal name format
upon loading.
2024-03-10 18:26:14 +10:00
Stenzek b16bb14c58 GS/Vulkan: Work around NVIDIA attachment clear bug 2024-03-10 13:16:18 +10:00
Stenzek 36278b6aae GS/HW: Handle redundant FRAME+Z buffer clears 2024-03-10 13:16:03 +10:00
Stenzek 88165ab072 CI: Update to SDL2 2.30.1 and Qt 6.6.2 2024-03-09 14:04:14 +10:00
Stenzek 5337e46f43 Qt: Fix log window disabling itself on close 2024-03-08 23:43:13 +10:00
Stenzek 7ed6801101 VulkanDevice: Add additional semaphore on swap chain
We don't actually need +1 semaphores, or, more than one really.
But, the validation layer gets cranky if we don't fence wait before the next image acquire.
So, add an additional semaphore to ensure that we're never acquiring before fence waiting.
2024-03-08 23:42:58 +10:00
dreamsyntax 162354decf Qt: Toggle for DualSense Player LED 2024-03-07 12:37:00 +10:00
Ty Lamontagne 483c7f41de vmmanager:revert gpu logging 2024-03-07 02:34:53 +00:00
Ty Lamontagne 46e039dab2 VMManager: Log power profile and GPUs on startup 2024-03-07 01:21:28 +00:00
refractionpcsx2 4d23410b99 GS/HW: Pre check DATE requirement before updating rt alphas 2024-03-07 01:20:25 +00:00
JordanTheToaster 88192adfd0 GameDB: God of War 2 Fixes 2024-03-05 12:21:14 +00:00
KamFretoZ e3c745cf9b OSD: Fix Recording Icon 2024-03-05 12:19:51 +00:00
Pierre GRASSER e5de4c8f10 UI: Fix broken setup guide links 2024-03-05 00:51:03 +00:00
PCSX2 Bot 511cb0c322 PAD: Update to latest controller database. 2024-03-04 17:07:55 +01:00
PCSX2 Bot 688306dd9c Qt: Update Base Translation 2024-03-03 00:10:02 +00:00
refractionpcsx2 d39e655fa2 GS/HW: Require alpha for 8H, 4HH, 4HL on source lookup 2024-03-02 21:18:33 +00:00
refractionpcsx2 812a3c1123 GS/HW: Improvements to rt alpha accuracy 2024-03-02 15:28:55 +00:00
KamFretoZ 244a8775dd Qt: Fix InterfaceSettingsWidget layout 2024-03-02 15:08:11 +00:00
KamFretoZ 5e28c2608a FSUI: Icon treatments
OSD: Add Icon for USB Devices
2024-03-02 15:08:11 +00:00
Dan McCarthy bd032bbcb8 Debugger: Memory search expansions + results count
Adds memory search comparisons for Increased, Increased By, Decreased, Decreased By, Changed, Not Changed, Changed By.
For arrays, adds not equals, changed, not changed for filter searches.
Now only shows the comparison types that are currently valid for the given search type and if there's prior search results.

Also refactors to allow holding the prior set of search results rather than just the addresses, needed for these search comparisons to work.

Also adds a ui label to show that the debugger is searching after clicking the search button which then gets replaced with the results count when the search completes.
2024-03-02 14:49:15 +00:00
Stenzek 875fdc40a5 GS/Vulkan: Don't ever fully clear stencil on DATE draws
We manually clear the drawn region when it's needed, in all other cases
it's pre-filled with the setup.

Therefore, the two load actions should be preserve and don't care.
2024-03-02 12:42:42 +10:00
Stenzek 0ae3cbf4d6 GS/Vulkan: Use attachment clear for ONE stencil
66% faster in Persona 3 in DATE-heavy scenes.
2024-03-02 12:42:42 +10:00
JordanTheToaster b9a7143dee GameDB: Arc the Lad TOTS Fixes 2024-03-01 18:57:29 +00:00