dolphin/Source/Core
Stenzek 378b605669 BPStructs: Gracefully handle out-of-range EFB copies
Since the copy X and Y coordinates/sizes are 10-bit, the game can configure a
copy region up to 1024x1024. Hardware tests have found that the number of bytes
written does not depend on the configured stride, instead it is based on the
size registers, writing beyond the length  of a single row. The data written
for the pixels which lie outside the EFB bounds does not wrap around instead
returning different colors based on the pixel format of the EFB.

This suggests it's not based on coordinates, but instead on memory addresses.
The effect of a within-bounds size but out-of-bounds offset
(e.g. offset 320,0, size 640,480) are the same.

As it would be difficult to emulate the exact behavior of out-of-bounds reads,
instead of writing the junk data, we don't write anything to RAM at all for
over-sized copies, and clamp to the EFB borders for over-offset copies.
2019-03-31 22:05:53 +10:00
..
AudioCommon Allow XAudio2 to be selected as a surround backend. 2019-03-18 09:21:40 -03:00
Common Common: Add DynamicLibrary helper class 2019-03-29 19:52:33 +10:00
Core Merge pull request #7942 from jordan-woyak/gc-adapter-calib-fix 2019-03-30 06:37:23 -04:00
DiscIO DiscExtractor: Fix extracting certificate chain and H3 hashes 2019-03-21 23:07:24 +01:00
DolphinNoGUI Core/Host: Allow frontends to block inputs 2019-03-21 13:16:21 +01:00
DolphinQt Merge pull request #7939 from Techjar/no-more-disabled-gfx-features 2019-03-31 11:59:34 +10:00
InputCommon Merge pull request #7776 from jordan-woyak/wm_devicechange 2019-03-30 18:41:46 -04:00
MacUpdater MacUpdater: Fix updater not closing after update is completed 2019-03-21 13:47:23 +01:00
UICommon UICommon/ResourcePack: Provide inequality operator to complement equality operator 2019-03-13 15:55:20 -04:00
Updater Merge pull request #7844 from spycrab/updatecommon_electric_boogaloo 2019-03-07 19:09:35 +01:00
UpdaterCommon UpdaterCommon: Move most of the programs here 2019-03-03 15:02:44 +01:00
VideoBackends Merge pull request #7939 from Techjar/no-more-disabled-gfx-features 2019-03-31 11:59:34 +10:00
VideoCommon BPStructs: Gracefully handle out-of-range EFB copies 2019-03-31 22:05:53 +10:00
CMakeLists.txt Move shared Updater logic into UpdaterCommon 2019-02-26 19:27:36 +01:00