150 Commits

Author SHA1 Message Date
Henrik Rydgård d6e0dd1478 Always enable the secondary texture cache 2026-06-13 13:34:41 +02:00
Henrik Rydgård f3e590b059 Experiment with a compat flag that forces shader depal 2026-06-12 12:19:17 +02:00
Henrik Rydgård cf9c0c5c84 Restructure the sprite detection, no longer require Smart 2D texture filtering to apply 2026-06-06 11:21:46 +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 d59cdcad61 GTA sprite fix: Detect sprites, clip them slightly to avoid filtering artifacts 2026-06-05 11:48:46 +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 7e265fd1c4 Remove some obsolete compat.ini settings 2026-06-04 12:45:17 +02:00
Henrik Rydgård 0b21731e7b Remove obsolete compat.ini flag DisableAccurateDepth 2026-05-30 19:07:59 +02:00
Henrik Rydgård bae1a7c7f9 Add "FastEmulatedGPU" compat flag. For games like Outrun that have intermittent slowdowns on hardware, it's unnecessary under emulation. 2026-02-26 10:44:16 +01:00
Henrik Rydgård 3dc7aa4a65 Add workaround for the Silent Hill: Shattered Memories. Thanks fcrwr!
Fixes #13781
2026-02-23 15:19:03 +01:00
Henrik Rydgård 202259eb09 Add a quick workaround for Mahjongg Artifacts framebuffer expiration.
Fixes #15828, well at least except for savestate support.
2026-02-22 23:42:13 +01:00
Henrik Rydgård 5a5c7028b9 Assorted warning fixes and data initialization to please valgrind 2026-02-19 11:24:46 +01:00
Henrik Rydgård 475390a968 Add workaround for Tales of Phantasia X.
Fixes #21162
2026-01-29 23:16:51 +01:00
Henrik Rydgård 60a065b242 Make the Brave Story hack safer, hide it behind a compat flag. 2026-01-23 23:39:11 +01:00
Henrik Rydgård 34473fc621 Add a compat flag to map some extra memory at address 0.
Can be used to work around certain types of crashes without having to
disable fast memory.
2026-01-23 15:14:15 +01:00
Henrik Rydgård 2b863aafe1 Prepare for the new defaulting mechanism, IniFile cleanup 2025-11-05 12:49:52 +01:00
Henrik Rydgård 14ddad5ce3 Change how defaults work in the inifile reader (more flexible this way) 2025-10-31 21:57:52 +01:00
Henrik Rydgård f14c4dfb90 Add a compatibility flag to apply sum2012's workaround for Ghost Recon: Predator
I'm not confident in the behavior here, so let's change it only for this
game for now.

Replaces #20892

Fixes #20856
2025-10-21 15:23:12 +02:00
Henrik Rydgård e745ab16e4 Merge branch 'master' into IgnoreEnqueue 2025-08-15 11:30:10 +02:00
Henrik Rydgård e29ba8f471 Add a warning in games that are affected badly by savestate timewarps 2025-08-05 17:17:20 +02:00
Henrik Rydgård 266a6a33be Add workaround for scePsmf LLE not working with Dragon's Lair 2025-06-07 15:05:33 +02:00
Henrik Rydgård e961c1ed96 Add support for compat flags that control DisableHLE 2025-04-03 20:04:04 +02:00
Henrik Rydgård 8d6593b92b Remove compat flag AllowDelayedReadback 2025-01-05 09:18:13 +01:00
Henrik Rydgård c5ad81e3d5 Add DepthRaster.cpp/h. Rasterize depth rectangles, some triangles 2024-12-21 14:27:53 +01:00
Henrik Rydgård 0973fea7ce Add error message if compat.ini can't be found 2024-12-11 09:27:29 +01:00
Henrik Rydgård 419c329b06 Show active compat flags on crash screen 2024-12-10 01:43:44 +01:00
LunaMoo 864a4b38aa Work around Brothers in Arms speed issue via compat hack (#18513)
Co-authored-by: Henrik Rydgård <hrydgard@gmail.com>
2024-09-18 09:51:07 +00:00
Henrik Rydgård 16a56aa18b Port over LunaMoo's compat flag for The Warriors video playback
This reverts to the old behavior before we started parsing mpeg headers,
that is, in 558b462 which is part of #8867.

LunaMoo has this under "HackFixVideo" in his build.

See #8991. This doesn't really "fix" that, but works around it.
2024-09-11 14:32:53 +02:00
Henrik Rydgård c7546dfe8d Add compat.ini setting for Sakura-Sou no Pet na Kanojo
See issue #15224
2024-09-10 19:28:49 +02:00
Henrik Rydgård ef95e24169 Implement compat flag proposed in #18423, forcing readbacks in Juiced 2
In-game, there's no slowdown, and this fixes the decal editor. So it's
no use allowing readbacks to be turned off in this game.

See issue #18423
2024-07-20 11:24:24 +02:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
LunaMoo 1f21ebdff3 Change GOWFramerateHack30 to FramerateHack30 and workaround problems in:
- Blitz: Overtime,
- Brian Lara 2007: Pressure Play.
2024-06-08 18:02:44 +02:00
Lubos e76a5b1d3d OpenXR - Gran Turismo projection hack 2024-05-10 19:40:13 +02:00
Henrik Rydgård 2cd7b5cceb Hacky compat workaround for Resistance's ad-hoc mode
Slicing the slow memcpy calls messes up some timing so it crashes. Too
hard to fix for 1.17.1, so we do this :(
2024-02-04 00:43:48 +01:00
Henrik Rydgård a6f041568b Allow merging framebuffers vertically like the old Juiced 2 fix.
Fixes Tokimeki Memorial 4 rendering.

Fixes #6379, see comments.
2023-12-30 22:40:07 +01:00
Henrik Rydgård 437b292b7d Tactics Ogre: Remove a redundant readback operation it performs a lot. 2023-12-21 12:37:34 +01:00
Henrik Rydgård 4ef54169af Add a compat.ini setting to allow delayed GPU readbacks, for experimentation. 2023-12-02 11:34:59 +01:00
sum2012 92c1eb4efa Add it to option
Also fix Sengoku Musou 3Z Special DLC
2023-10-23 19:38:09 +08:00
sum2012 60ddac0048 Add UMDReadSpeed in compat.ini
Fix #11062
2023-10-19 06:21:05 +08:00
Henrik Rydgård 16d073c4ad Add compat flag to not load CLUTs from old framebuffers 2023-08-24 10:30:37 +02:00
Henrik Rydgård 731d9b6d59 Merge branch 'master' into Font-ltn12-hack 2023-08-17 14:47:46 +02:00
Lubos 6e10f20f8b OpenXR - Tony Hawk mirroring hack better 2023-07-02 20:29:59 +02:00
Henrik Rydgård 9a3ff69091 Workaround for some SOCOM game's misuse of CLUT8 textures.
Emulating this correctly would be possible too but would only work at 1x
rendering resolution.
2023-04-17 09:34:26 +02:00
Lubos de462f481f OpenXR - Disable stereo in Motorstorm 2023-04-01 19:48:53 +02:00
Henrik Rydgård b13c5c2d1b Add compat setting to force using maximum depth resolution
Fixes #17014

Even if our depth-testing-equal heuristic believes that the game needs
lower depth resolution.

This removes some depth-fighting artifacts (that are present on the real
PSP, but nice to avoid) in Outrun, Split/Second and Cars: Race-o-Rama -
essentially reverting these to the behavior we had before the heuristic.

(The heuristic is good though - it means less compat.ini hacks going in
the other direction).

In the case of Outrun, this relies on two passes that pass exactly the
same vertex coordinates twice resulting in the exact same final
geometry. This is actually guaranteed by the spec if the vertex math is
exactly the same and "invariant" is set on the position output, though
I guess you never know.. Haven't seen any issues at least.

Also sneak in disabling some validation messages from using extra Vulkan
validation layers other than the default.
2023-03-26 00:27:58 +01:00
Henrik Rydgård 3d5526a175 Allow specifying the VFS when loading INI files.
Will be useful in the tex replacer.
2023-03-07 10:04:10 +01:00
Henrik Rydgård 1071d0808c Undo Daxter's rotation of the analog input. See #17015
I think this is quite a bit better actually. Appears to be exactly 15 degrees.
2023-02-27 11:10:47 +01:00
Henrik Rydgård 62a6f351d5 Initial work on depth copies 2023-02-15 07:35:07 +01:00
Henrik Rydgård 236611ac16 Initial implementation of depth readback for Syphon Filter. Fixes the lens flares. 2023-02-04 13:54:57 +01:00
Henrik Rydgård b118ffadea Add workaround for hung music notes in Rockman Dash 2
Fixes #11442. Or at least should, I haven't tested this, just followed the
discussion in the issue.

According to this issue, this is a game bug that happens on real hardware
too, due to a lousy job porting the game to the PSP, most likely, which has
different ADSR (note envelope) behavior.
2023-01-12 11:33:59 +01:00