Commit Graph

178 Commits

Author SHA1 Message Date
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
Unknown W. Brackets
e1eecb475a HLE: Slice the very slow memset/memcpy variants.
When they take an especially long time, this allows thread switches
meanwhile.  Important for cases where they might consume more than a total
frame worth of cycles in a background thread.
2023-12-16 20:53:01 -08:00
Unknown W. Brackets
053831bf4d HLE: Add mechanics for sliced replacements. 2023-12-16 09:08:58 -08:00
Unknown W. Brackets
810d8c0890 Debugger: Use dedicated func to notify mem copy. 2023-09-24 19:07:36 -07:00
Henrik Rydgård
8fc01e37d9 Check for bad indices in GetReplacementFunc to avoid crashes 2023-09-23 10:09:55 +02:00
Unknown W. Brackets
2d13b40123 GPU: Rename match flags to avoid confusion. 2023-03-25 23:25:42 -07:00
Unknown W. Brackets
05c225655d GPU: Add xfer flag to ignore create vfb flags.
Save icons need CPU reads to work.
2023-03-25 23:19:21 -07:00
Henrik Rydgård
dc74778dea Do the last ones too 2023-02-09 10:27:29 +01:00
Henrik Rydgård
c52db636ce Optimize tag formatting 2023-02-09 10:22:46 +01:00
Unknown W. Brackets
e9ce0d0b5e HLE: Add size checks to replace funcs. 2023-01-09 16:53:25 -08:00
Henrik Rydgård
a4d3e0ead8
Add range checks in replaced memcpy/memset functions. (#16693)
* Add range checks in replaced memcpy/memset functions.

Keep seeing especially Replace_memcpy as a semi-rare crash in the
reports. Hopefully this will take care of it, though if games hit this,
they're probably on their way to failing somehow anyway.

* Alternate approach, correctly causing memory exceptions if not ignoring
2023-01-01 18:25:40 +00:00
Unknown W. Brackets
0496ca32ff Global: Cleanup some minor includes and typos. 2022-12-27 08:33:07 -08:00
Unknown W. Brackets
50f7095002 GPU: Correct Marvel copy hook size check. 2022-11-11 21:54:58 -08:00
Unknown W. Brackets
17d94cd358 SaveState: Restore replacements in only one place. 2022-10-29 17:59:35 -07:00
Unknown W. Brackets
c4bf2cb5c0 jit: Ignore zero byte icache invalidates.
These were getting marked pending and were clearing all cache, causing
performance concerns in for example LittleBigPlanet.
2022-10-15 18:27:52 -07:00
Unknown W. Brackets
55d5dc3834 GPU: Rename readback and buffer write operations.
Avoid download/upload and pack, which don't have clear directions.
2022-10-09 13:49:41 -07:00
Unknown W. Brackets
057661380e GPU: Hook Gods Eater Burst avatar read.
Currently not working since depth comes back as 0.
2022-10-09 00:52:35 -07:00
Henrik Rydgård
ecb84987ef Remove allocation from the heaviest MemBlockInfo path (BlockTransfer). Required some refactoring. 2022-09-01 11:59:35 +02:00
Unknown W. Brackets
20c2ec1392 GPU: Skip alpha stencil upload when safe.
Otherwise, let's not do things that give different behavior at 1x or are
inconsistent.
2022-08-06 21:12:59 -07:00
Henrik Rydgård
e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
LunaMoo
4b959c6b54 Add Zettai Zetsumei Toshi 3 bypass for softlock on character select screen 2022-07-14 23:17:32 +02:00
LunaMoo
d67085c4ae Change comment based on new findings. 2022-07-05 04:51:58 +02:00
LunaMoo
5a06776999 Change hack names and edit comments based on feedback. 2022-07-04 00:58:48 +02:00
LunaMoo
53baa89d3f Improve the vortex hack to make it safe and slow it down 2022-07-03 22:18:44 +02:00
LunaMoo
1da9cd933b Test hack that breaks the vortex timer, it's still wrong 2022-07-03 04:23:26 +02:00
LunaMoo
85fa15179a Add 30 fps version as an option, doesn't suffer from softlock 2022-07-02 21:43:43 +02:00
LunaMoo
0dcf8242f5 Add Fixed60FPShack for GOW, should work smoother than the ForceMax60FPS.
Also more stable than it's CWCheat version, unfortunately because of that,
still causes softlock in GOW:GOS vortex stage.
2022-07-02 19:39:35 +02:00
Unknown W. Brackets
925a6d0ae1 GPU: Hook Sol Trigger func to flush texture.
This makes sure the hardware renderer reuploads a texture modified during
stall, which they normally skip as an optimization (see #10967, #9449.)
2022-05-22 11:44:49 -07:00
Unknown W. Brackets
80e054b797 Debugger: Avoid write tag lookup on small alloc. 2022-02-06 09:28:48 -08:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
ec3d408da0 HLE: Detect video buffer copies.
These are common and can help us notify the texture cache appropriately.
2021-09-19 07:51:33 -07:00
Unknown W. Brackets
aa89ed5111 Debugger: Include source tag in memcpys. 2021-04-03 18:11:44 -07:00
Unknown W. Brackets
4178f09e57 Build: More consistently avoid _M_ defines.
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Henrik Rydgård
2f3bc2d373
Merge pull request #14056 from unknownbrackets/debugger-mem
Track memory allocations and writes for debug info
2021-02-21 10:18:11 +01:00
sum2012
00d2a050b8 Hook open season
Fix #13252
original from #13326
2021-02-21 13:46:49 +08:00
Unknown W. Brackets
1556187d36 HLE: Swap endian in matrix multiply replacement. 2021-02-18 22:27:48 -08:00
aliaspider
9a3e5879bb Global: Correct many endian types and casts. 2021-02-18 22:25:24 -08:00
Unknown W. Brackets
f7740edc6d Debugger: Add more metadata for memory usage. 2021-02-15 15:01:21 -08:00
Henrik Rydgård
0a1303b069
Merge pull request #13938 from unknownbrackets/worms-hook
HLE: Hook Worms text render copy func
2021-02-15 16:32:00 +01:00
Unknown W. Brackets
ec3bfe08ae GPU: Force texture invalidation for ZHP minimap.
See #14069, our texture hash misses this change.
2021-02-07 09:02:28 -08:00
Unknown W. Brackets
53b9a8e48c HLE: Hook Worms text render copy func.
This func takes drawn text and replaces stencil with alpha based on the
color intensity to prepare text for blending.

See #12380.
2021-01-17 12:38:03 -08:00
Henrik Rydgård
3162f30158 Merge base/basictypes.h into Common/Common.h (mostly). 2020-09-29 15:51:51 +02:00
Henrik Rydgård
b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Unknown W. Brackets
e36f894f66 HLE: Replace Motorstorm pixel read func.
Helps with some lighting, see #12363.
2019-10-05 08:37:18 -07:00
Henrik Rydgard
3f8aec5147 Remove the "Disable stencil test" hack. Doesn't seem to serve much purpose anymore. 2018-12-14 13:54:03 +01:00
Unknown W. Brackets
395ac32d63 Debugger: Run memory breakpoints on mobile. 2018-06-06 17:31:56 -07:00
Unknown W. Brackets
28da05fa7a HLE: Replace starocean framebuf clear func.
This reduces the performance impact significantly, by skipping the memset
uploads for each line.

Fixes #10466.
2017-12-28 23:40:18 -08:00
Unknown W. Brackets
1cf5e30bd6 Add hooks for Marvel video copy func.
Not tested - but should make videos visible in Marvel Ultimate Alliance 1.

See #9852.
2017-08-19 11:47:42 -07:00
Unknown W. Brackets
3fe1a08cf5 Use unordered lookups for better speed.
These reduce the time spent on save states.
2016-09-24 14:23:17 -07:00
Unknown W. Brackets
0e43f1cdff Hook another VRAM modifying function.
Seems to be a copy.
2016-08-06 16:30:47 -07:00