diff --git a/OAT.xml b/OAT.xml index 1ae8aad29ce25aebdcc7b8f26a647f4cfab43ea7..ec686c79aac6a5170767f357c946d7a422283f88 100644 --- a/OAT.xml +++ b/OAT.xml @@ -87,7 +87,7 @@ Note:If the text contains special characters, please escape them according to th - + diff --git a/dependency_inputs.gni b/dependency_inputs.gni index e6c8f63f396fef156c3c777056e86e816248bde1..4ae09dc436fb3a9baa45eda180c9a26e79740e46 100644 --- a/dependency_inputs.gni +++ b/dependency_inputs.gni @@ -1534,10 +1534,8 @@ declare_args() { "./src/etnaviv/drm-shim/meson.build", "./src/etnaviv/hwdb/etna_hwdb.h", "./src/etnaviv/hwdb/hwdb.h.py", - "./src/etnaviv/hwdb/st/gc_feature_database.h", "./src/etnaviv/hwdb/etna_hwdb.c", "./src/etnaviv/hwdb/meson.build", - "./src/etnaviv/hwdb/nxp/gc_feature_database.h", "./src/etnaviv/common/etna_core_info.h", "./src/etnaviv/common/meson.build", "./src/etnaviv/common/scripts/parse_huffman.py", diff --git a/src/compiler/glsl/bc1.glsl b/src/compiler/glsl/bc1.glsl index 251635d7b69e8be161675e437e33c79aafacaced..089e285c69e8e34da573a20b3c20a13477b7c2b3 100644 --- a/src/compiler/glsl/bc1.glsl +++ b/src/compiler/glsl/bc1.glsl @@ -57,25 +57,6 @@ float3 rgb565to888( float rgb565 ) retVal.x = floor( rgb565 / 2048.0f ); retVal.y = floor( mod( rgb565, 2048.0f ) / 32.0f ); retVal.z = floor( mod( rgb565, 32.0f ) ); - - // This is the correct 565 to 888 conversion: - // rgb = floor( rgb * ( 255.0f / float3( 31.0f, 63.0f, 31.0f ) ) + 0.5f ) - // - // However stb_dxt follows a different one: - // rb = floor( rb * ( 256 / 32 + 8 / 32 ) ); - // g = floor( g * ( 256 / 64 + 4 / 64 ) ); - // - // I'm not sure exactly why but it's possible this is how the S3TC specifies it should be decoded - // It's quite possible this is the reason: - // http://www.ludicon.com/castano/blog/2009/03/gpu-dxt-decompression/ - // - // Or maybe it's just because it's cheap to do with integer shifts. - // Anyway, we follow stb_dxt's conversion just in case - // (gives almost the same result, with 1 or -1 of difference for a very few values) - // - // Perhaps when we make 888 -> 565 -> 888 it doesn't matter - // because they end up mapping to the original number - return floor( retVal * float3( 8.25f, 4.0625f, 8.25f ) ); } @@ -219,15 +200,6 @@ uint MatchColorsBlock( const uint srcPixelsBlock[16], float3 colour[4] ) for( int i = 0; i < 4; ++i ) stops[i] = dot( colour[i], dir ); - - // think of the colors as arranged on a line; project point onto that line, then choose - // next color out of available ones. we compute the crossover points for "best color in top - // half"/"best in bottom half" and then the same inside that subinterval. - // - // relying on this 1d approximation isn't always optimal in terms of euclidean distance, - // but it's very close and a lot faster. - // http://cbloomrants.blogspot.com/2008/12/12-08-08-dxtc-summary.html - float c0Point = trunc( ( stops[1] + stops[3] ) * 0.5f ); float halfPoint = trunc( ( stops[3] + stops[2] ) * 0.5f ); float c3Point = trunc( ( stops[2] + stops[0] ) * 0.5f ); diff --git a/src/compiler/glsl/bc4.glsl b/src/compiler/glsl/bc4.glsl index 2486fa4ae0c84427c5252f070601e3a695f3e612..85ad0314466d525d58bdef0ad16bc4ec2b25ab64 100644 --- a/src/compiler/glsl/bc4.glsl +++ b/src/compiler/glsl/bc4.glsl @@ -101,9 +101,6 @@ void main() maxVal = max( g_minMaxValues[minMaxIdxBase + i].y, maxVal ); } - // determine bias and emit color indices - // given the choice of maxVal/minVal, these indices are optimal: - // http://fgiesen.wordpress.com/2009/12/15/dxt5-alpha-block-index-determination/ float dist = maxVal - minVal; float dist4 = dist * 4.0f; float dist2 = dist * 2.0f;