mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-16 18:28:05 +02:00
mesa: fix PACK_COLOR_5551(), PACK_COLOR_1555() macros
The 1-bit alpha channel was incorrectly encoded. Previously, any non-zero
alpha value for the ubyte alpha value would set A=1. Instead, use the
most significant bit of the ubyte alpha to determine the A bit. This is
consistent with the other channels and other OpenGL implementations.
Note: This is a candidate for the 7.11 branch.
Reviewed-by: Michel Dänzer <michel@daenzer.net>
(cherry picked from commit 4731a598f0)
This commit is contained in:
parent
a5e2074fdd
commit
a74400ca30
1 changed files with 2 additions and 2 deletions
|
|
@ -188,11 +188,11 @@ do { \
|
|||
|
||||
#define PACK_COLOR_5551( R, G, B, A ) \
|
||||
((((R) & 0xf8) << 8) | (((G) & 0xf8) << 3) | (((B) & 0xf8) >> 2) | \
|
||||
((A) ? 1 : 0))
|
||||
((A) >> 7))
|
||||
|
||||
#define PACK_COLOR_1555( A, B, G, R ) \
|
||||
((((B) & 0xf8) << 7) | (((G) & 0xf8) << 2) | (((R) & 0xf8) >> 3) | \
|
||||
((A) ? 0x8000 : 0))
|
||||
(((A) & 0x80) << 8))
|
||||
|
||||
#define PACK_COLOR_1555_REV( A, B, G, R ) \
|
||||
((((B) & 0xf8) >> 1) | (((G) & 0xc0) >> 6) | (((G) & 0x38) << 10) | (((R) & 0xf8) << 5) | \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue