summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2017-09-19 18:51:02 +0200
committerLéo Lam <leo@innovatetechnologi.es>2017-09-24 20:48:29 +0200
commitde6e80736445110aa3f1e896fbfd75ac1cadc090 (patch)
treec5f7535b9e75024af5da4767ed54d686c2721e49 /Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp
parentbd03f2e46e17df701ed136f700e6508a03ea6a9f (diff)
DSP: Handle two accelerator loop edge cases properly
There are two special cases that the DSP accelerator handles in a special way: when the end address is of the form xxxxxxx0 or xxxxxxx1. For these two cases, the normal overflow handling doesn't apply. Instead, the overflow check is different, the ACCOV exception never fires at all, the predscale register is not updated, reads are not suspended, and if the end address is 16-byte aligned, the DSP loops back to start_address + 1 instead of the regular start_address.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/Xlib/XInput2.cpp')
0 files changed, 0 insertions, 0 deletions