Only download width bytes, not stride bytes.

Fixes #6330, MotoGP not rendering properly with simulate block transfers.
Reuse existing buffer matching for MotoGP hack.
Respect "nearest" filtering setting for fbs.
Merge pull request #6338 from unknownbrackets/gpu-blocktransfer

Don't write bytes between width/stride during block transfers
Support alpha / color test masks on desktop/gles3.

Won't work on GLES 2, though...
Pre-mask alphatest value as a small optimization.

Might cause small behavior difference on gles2 (without bitwise ops.)
Fix a crash in the GE debugger on matrix tab.
Merge pull request #6341 from unknownbrackets/gpu-minor

Support alpha and color test masks on desktop/gles3
Linux buildfix.
Fix dumb typo.
Fix another mistake in color test masking.
GameSettingsScreen: Disable a bunch of options when software rendering is enabled.
They don't do anything when software rendering is enabled, so there's bound to be confusion caused by these options continuing to be enabled.

Conflicts:
	UI/GameSettingsScreen.cpp
Disable more stuff, and use cached booleans instead.

Conflicts:
	UI/GameSettingsScreen.cpp
Do it for post-processing and resolution too, to be consistent.
Throw "Disable Alpha Test" into the pile of options to be disabled.
Buildfix.
Merge pull request #6285 from thedax/disable-ui-options

GameSettingsScreen: Disable a bunch of options when software rendering is enabled.
Oops, restore the deleted stencil test option since we haven't decided its fate yet.
Merge pull request #6347 from thedax/restore-stencil-test

Oops, restore the deleted stencil test option since we haven't decided its fate yet.
Merge remote-tracking branch 'upstream/master' into fps2