Optimize R5G6B5 conversion.
Bug 20891368
Change-Id: I876e4dab9ab5ba7df5887d4b184e9750f9563edc
Reviewed-on: https://swiftshader-review.googlesource.com/3261
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/Main/FrameBuffer.cpp b/src/Main/FrameBuffer.cpp
index c807aba..3b1ba1b 100644
--- a/src/Main/FrameBuffer.cpp
+++ b/src/Main/FrameBuffer.cpp
@@ -326,9 +326,9 @@
Int rgb = Int(*Pointer<Short>(s));
*Pointer<Int>(d) = 0xFF000000 |
- ((rgb & 0xF800) << 8) | ((rgb & 0xE000) << 3) |
+ ((rgb & 0xF800) << 8) | ((rgb & 0xE01F) << 3) |
((rgb & 0x07E0) << 5) | ((rgb & 0x0600) >> 1) |
- ((rgb & 0x001F) << 3) | ((rgb & 0x001C) >> 2);
+ ((rgb & 0x001C) >> 2);
s += sBytes;
d += dBytes;
@@ -369,9 +369,9 @@
Int rgb = Int(*Pointer<Short>(s));
*Pointer<Int>(d) = 0xFF000000 |
- ((rgb & 0xF800) << 8) | ((rgb & 0xE000) << 3) |
+ ((rgb & 0xF800) << 8) | ((rgb & 0xE01F) << 3) |
((rgb & 0x07E0) << 5) | ((rgb & 0x0600) >> 1) |
- ((rgb & 0x001F) << 3) | ((rgb & 0x001C) >> 2);
+ ((rgb & 0x001C) >> 2);
}
break;
default: