GSVector4i: Fix compare64 function.

Fix GSVector4i::compare64 function by adjusting the number of iterations
needed to cover the comparison of all the elements of the input arrays,
where the number of bytes to compare is indicated in the size parameter
of the function.
The function is used only in GSdx-TC to compare CLUT arrays.
On one hand this fix closes the recent #2706 and possibly the color
regressions indicated in #2702 (which were both introduced with the new
PaletteMap mechanism, which partially replaced the GSVector4i::update
logic with the bugged GSVector4i::compare64).
On the other hand this might impact long standing wrong texture cache
lookup when palette was involved with 8-bit palette disabled (to be
verified which ones).

Close #2713
Fixes #2706
Fixes #2715
This commit is contained in:
iMineLink 2018-11-26 09:42:07 +01:00 committed by lightningterror
parent 9a10612f0b
commit 8ff0249213
1 changed files with 1 additions and 1 deletions

View File

@ -1950,7 +1950,7 @@ public:
GSVector4i* s = (GSVector4i*)src;
GSVector4i* d = (GSVector4i*)dst;
for(size_t i = 0; i < size; i += 4)
for(size_t i = 0; i < size; ++i)
{
GSVector4i v0 = (d[i * 4 + 0] == s[i * 4 + 0]);
GSVector4i v1 = (d[i * 4 + 1] == s[i * 4 + 1]);