diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-12-21 23:02:27 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-12-21 23:15:11 +0300 |
commit | 6addecc3615d5e3f9caaafd39aa639c8ff49115b (patch) | |
tree | d448d51378fbf6b05215109632734212b51d27e7 /src/resources/dye/dyepalette_replacesoglcolor.cpp | |
parent | e59b20b4cff4bf54c0b2ea91dbf09345da9d5fe4 (diff) | |
download | plus-6addecc3615d5e3f9caaafd39aa639c8ff49115b.tar.gz plus-6addecc3615d5e3f9caaafd39aa639c8ff49115b.tar.bz2 plus-6addecc3615d5e3f9caaafd39aa639c8ff49115b.tar.xz plus-6addecc3615d5e3f9caaafd39aa639c8ff49115b.zip |
Use precalculated values for A and S dyes.
Diffstat (limited to 'src/resources/dye/dyepalette_replacesoglcolor.cpp')
-rw-r--r-- | src/resources/dye/dyepalette_replacesoglcolor.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/resources/dye/dyepalette_replacesoglcolor.cpp b/src/resources/dye/dyepalette_replacesoglcolor.cpp index a023d8f79..899286240 100644 --- a/src/resources/dye/dyepalette_replacesoglcolor.cpp +++ b/src/resources/dye/dyepalette_replacesoglcolor.cpp @@ -31,14 +31,6 @@ #ifdef __x86_64__ // avx2 #include "immintrin.h" - -#if SDL_BYTEORDER == SDL_BIG_ENDIAN -#define buildHex(a, b, c, d) \ - (d) * 16777216U + (c) * 65536U + (b) * 256U + CAST_U32(a) -#else // SDL_BYTEORDER == SDL_BIG_ENDIAN -#define buildHex(a, b, c, d) \ - (a) * 16777216U + (b) * 65536U + (c) * 256U + CAST_U32(d) -#endif // SDL_BYTEORDER == SDL_BIG_ENDIAN #endif // __x86_64__ #include "debug.h" @@ -186,9 +178,9 @@ void DyePalette::replaceSOGLColorSimd(uint32_t *restrict pixels, __m256i base2 = _mm256_and_si256(mask, base); //print256("base2 ", base2); - __m256i newMask = _mm256_set1_epi32(buildHex(0, col2.value[2], col2.value[1], col2.value[0])); + __m256i newMask = _mm256_set1_epi32(col2.valueSOgl); //print256("newMask ", newMask); - __m256i cmpMask = _mm256_set1_epi32(buildHex(0, col.value[2], col.value[1], col.value[0])); + __m256i cmpMask = _mm256_set1_epi32(col.valueSOgl); //print256("cmpMask ", cmpMask); __m256i cmpRes = _mm256_cmpeq_epi32(base2, cmpMask); //print256("cmpRes ", cmpRes); |