Reactor: Switch swizzles over to 16-bit hex codes

This migrates from 2-bit swizzle codes per lane to 4-bit, which reads more fluently in hex.
The order has been reversed so that the most significant nibble (leftmost on little-endian CPUs) represents the first output lane.

Fixed up Swizzle, Mask, and ShuffleLowHigh

Bug: b/145746360
Change-Id: I132bd757801a5ca543ef2b9b0ed34d0527db5bfa
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39049
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: David Turner <digit@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
diff --git a/src/Main/FrameBuffer.cpp b/src/Main/FrameBuffer.cpp
index 5e4f6c3..2dc5cd6 100644
--- a/src/Main/FrameBuffer.cpp
+++ b/src/Main/FrameBuffer.cpp
@@ -217,8 +217,8 @@
 						case FORMAT_A16B16G16R16:
 							For(, x < width - 1, x += 2)
 							{
-								Short4 c0 = As<UShort4>(Swizzle(*Pointer<Short4>(s + 0), 0xC6)) >> 8;
-								Short4 c1 = As<UShort4>(Swizzle(*Pointer<Short4>(s + 8), 0xC6)) >> 8;
+								Short4 c0 = As<UShort4>(Swizzle(*Pointer<Short4>(s + 0), 0x2103)) >> 8;
+								Short4 c1 = As<UShort4>(Swizzle(*Pointer<Short4>(s + 8), 0x2103)) >> 8;
 
 								*Pointer<Int2>(d) = As<Int2>(PackUnsigned(c0, c1));
 
@@ -264,7 +264,7 @@
 								break;
 							case FORMAT_A16B16G16R16:
 								{
-									Short4 c = As<UShort4>(Swizzle(*Pointer<Short4>(s), 0xC6)) >> 8;
+									Short4 c = As<UShort4>(Swizzle(*Pointer<Short4>(s), 0x2103)) >> 8;
 
 									*Pointer<Int>(d) = Int(As<Int2>(PackUnsigned(c, c)));
 								}
@@ -545,10 +545,10 @@
 			break;
 		case FORMAT_X8B8G8R8:
 		case FORMAT_A8B8G8R8:
-			c2 = Swizzle(Unpack(*Pointer<Byte4>(s)), 0xC6);
+			c2 = Swizzle(Unpack(*Pointer<Byte4>(s)), 0x2103);
 			break;
 		case FORMAT_A16B16G16R16:
-			c2 = Swizzle(*Pointer<Short4>(s), 0xC6);
+			c2 = Swizzle(*Pointer<Short4>(s), 0x2103);
 			break;
 		case FORMAT_R5G6B5:
 			{
@@ -568,7 +568,7 @@
 		c1 = As<Short4>(As<UShort4>(c1) >> 9);
 		c2 = As<Short4>(As<UShort4>(c2) >> 9);
 
-		Short4 alpha = Swizzle(c1, 0xFF) & Short4(0xFFFFu, 0xFFFFu, 0xFFFFu, 0x0000);
+		Short4 alpha = Swizzle(c1, 0x3333) & Short4(0xFFFFu, 0xFFFFu, 0xFFFFu, 0x0000);
 
 		c1 = (c1 - c2) * alpha;
 		c1 = c1 >> 7;
@@ -586,7 +586,7 @@
 		case FORMAT_SRGB8_X8:
 		case FORMAT_SRGB8_A8:
 			{
-				c1 = Swizzle(c1, 0xC6);
+				c1 = Swizzle(c1, 0x2103);
 
 				*Pointer<Byte4>(d) = Byte4(PackUnsigned(c1, c1));
 			}