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/Shader/PixelRoutine.cpp b/src/Shader/PixelRoutine.cpp
index 12040fd..31673a1 100644
--- a/src/Shader/PixelRoutine.cpp
+++ b/src/Shader/PixelRoutine.cpp
@@ -2081,8 +2081,8 @@
buffer += *Pointer<Int>(data + OFFSET(DrawData,colorPitchB[index]));
pixel.y = *Pointer<Float4>(buffer + 8 * x, 16);
pixel.z = pixel.x;
- pixel.x = ShuffleLowHigh(pixel.x, pixel.y, 0x88);
- pixel.z = ShuffleLowHigh(pixel.z, pixel.y, 0xDD);
+ pixel.x = ShuffleLowHigh(pixel.x, pixel.y, 0x0202);
+ pixel.z = ShuffleLowHigh(pixel.z, pixel.y, 0x1313);
pixel.y = pixel.z;
pixel.z = pixel.w = one;
break;