mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
TexCache: Round DXT5 alpha up.
This isn't quite right, but it seems better than rounding down. Experimented with a lower round up value, but none were right - the weighting must be more complex.
This commit is contained in:
parent
df200fc3d2
commit
bd294f658f
1 changed files with 2 additions and 2 deletions
|
@ -385,13 +385,13 @@ static inline u8 lerp8(const DXT5Block *src, int n) {
|
|||
// These weights translate alpha1/alpha2 to fixed 8.8 point, pre-divided by 7.
|
||||
int weight1 = ((7 - n) << 8) / 7;
|
||||
int weight2 = (n << 8) / 7;
|
||||
return (u8)((src->alpha1 * weight1 + src->alpha2 * weight2) >> 8);
|
||||
return (u8)((src->alpha1 * weight1 + src->alpha2 * weight2 + 255) >> 8);
|
||||
}
|
||||
|
||||
static inline u8 lerp6(const DXT5Block *src, int n) {
|
||||
int weight1 = ((5 - n) << 8) / 5;
|
||||
int weight2 = (n << 8) / 5;
|
||||
return (u8)((src->alpha1 * weight1 + src->alpha2 * weight2) >> 8);
|
||||
return (u8)((src->alpha1 * weight1 + src->alpha2 * weight2 + 255) >> 8);
|
||||
}
|
||||
|
||||
void DXTDecoder::DecodeAlphaDXT5(const DXT5Block *src) {
|
||||
|
|
Loading…
Add table
Reference in a new issue