mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 09:28:07 +02:00
mesa: fix rgtc snorm decoding
The codeword must be unsigned (otherwise will shift in 1's from above when merging low/high parts so some texels decode wrong). This also affects gallium's util/u_format_rgtc. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Zack Rusin <zackr@vmware.com>
This commit is contained in:
parent
0acf3a8407
commit
bceb5f36ec
1 changed files with 3 additions and 3 deletions
|
|
@ -37,9 +37,9 @@ static void TAG(fetch_texel_rgtc)(unsigned srcRowStride, const TYPE *pixdata,
|
|||
const TYPE alpha0 = blksrc[0];
|
||||
const TYPE alpha1 = blksrc[1];
|
||||
const char bit_pos = ((j&3) * 4 + (i&3)) * 3;
|
||||
const TYPE acodelow = blksrc[2 + bit_pos / 8];
|
||||
const TYPE acodehigh = (3 + bit_pos / 8) < 8 ? blksrc[3 + bit_pos / 8] : 0;
|
||||
const TYPE code = (acodelow >> (bit_pos & 0x7) |
|
||||
const unsigned char acodelow = blksrc[2 + bit_pos / 8];
|
||||
const unsigned char acodehigh = (3 + bit_pos / 8) < 8 ? blksrc[3 + bit_pos / 8] : 0;
|
||||
const unsigned char code = (acodelow >> (bit_pos & 0x7) |
|
||||
(acodehigh << (8 - (bit_pos & 0x7)))) & 0x7;
|
||||
|
||||
if (code == 0)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue