mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-10 10:41:50 +00:00
Use dedicated max-of-three-elements function.
This commit is contained in:
parent
2608ceca05
commit
2ab605d232
@ -72,6 +72,18 @@ static constexpr uint8_t Dxtc4To3Table[256] = {
|
|||||||
165, 164, 166, 166, 161, 160, 162, 162, 169, 168, 170, 170, 169, 168, 170, 170
|
165, 164, 166, 166, 161, 160, 162, 162, 169, 168, 170, 170, 169, 168, 170, 170
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static tracy_force_inline int max3( int a, int b, int c )
|
||||||
|
{
|
||||||
|
if( a > b )
|
||||||
|
{
|
||||||
|
return a > c ? a : c;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return b > c ? b : c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TextureCompression::Rdo( char* data, size_t blocks )
|
void TextureCompression::Rdo( char* data, size_t blocks )
|
||||||
{
|
{
|
||||||
assert( blocks > 0 );
|
assert( blocks > 0 );
|
||||||
@ -110,8 +122,8 @@ void TextureCompression::Rdo( char* data, size_t blocks )
|
|||||||
const int dg = abs( g0 - g1 );
|
const int dg = abs( g0 - g1 );
|
||||||
const int db = abs( b0 - b1 );
|
const int db = abs( b0 - b1 );
|
||||||
|
|
||||||
const int maxChan1 = std::max( { r0-1, g0, b0-2 } );
|
const int maxChan1 = max3( r0-1, g0, b0-2 );
|
||||||
const int maxDelta1 = std::max( { dr-1, dg, db-2 } );
|
const int maxDelta1 = max3( dr-1, dg, db-2 );
|
||||||
const int tr1a = 16;
|
const int tr1a = 16;
|
||||||
const int tr1b = 45;
|
const int tr1b = 45;
|
||||||
int tr1;
|
int tr1;
|
||||||
@ -138,8 +150,8 @@ void TextureCompression::Rdo( char* data, size_t blocks )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const int maxChan23 = std::max( { r0-2, g0, b0-5 } );
|
const int maxChan23 = max3( r0-2, g0, b0-5 );
|
||||||
const int maxDelta23 = std::max( { dr-2, dg, db-5 } );
|
const int maxDelta23 = max3( dr-2, dg, db-5 );
|
||||||
const int tr2a = 32;
|
const int tr2a = 32;
|
||||||
const int tr2b = 48;
|
const int tr2b = 48;
|
||||||
int tr2 = 0;
|
int tr2 = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user