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
Merge pull request #6341 from unknownbrackets/gpu-minor

Support alpha and color test masks on desktop/gles3
Linux buildfix.
Avoid xinput pad jitter resetting axis state.

Should take care of #5526.
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.
Qt: Optimisations for ARM desktop/tablet hosts.
Qt: Buildfix USING_GLES2 and not MOBILE_DEVICE
glBindFragDataLocation is not needed. Thanks HdkR.