diff options
Diffstat (limited to 'src/resources/dye/dyepalette_replaceaoglcolor.cpp')
-rw-r--r-- | src/resources/dye/dyepalette_replaceaoglcolor.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/resources/dye/dyepalette_replaceaoglcolor.cpp b/src/resources/dye/dyepalette_replaceaoglcolor.cpp index 3b643bf92..17e9adf36 100644 --- a/src/resources/dye/dyepalette_replaceaoglcolor.cpp +++ b/src/resources/dye/dyepalette_replaceaoglcolor.cpp @@ -163,12 +163,12 @@ void DyePalette::replaceAOGLColorSimd(uint32_t *restrict pixels, if (sz % 2) -- it_end; - for (const uint32_t *const p_end = pixels + CAST_SIZE(bufSize); - pixels != p_end; - ++pixels) + for (int ptr = 0; ptr < bufSize; ptr += 8) { -// __m256i base = _mm256_load_si256(reinterpret_cast<__m256i*>(pixels)); - __m256i base = _mm256_loadu_si256(reinterpret_cast<__m256i*>(pixels)); +// __m256i base = _mm256_load_si256(reinterpret_cast<__m256i*>( +// &pixels[ptr])); + __m256i base = _mm256_loadu_si256(reinterpret_cast<__m256i*>( + &pixels[ptr])); std::vector<DyeColor>::const_iterator it = mColors.begin(); while (it != it_end) @@ -186,8 +186,8 @@ void DyePalette::replaceAOGLColorSimd(uint32_t *restrict pixels, ++ it; } -// _mm256_store_si256(reinterpret_cast<__m256i*>(pixels), base); - _mm256_storeu_si256(reinterpret_cast<__m256i*>(pixels), base); +// _mm256_store_si256(reinterpret_cast<__m256i*>(&pixels[ptr]), base); + _mm256_storeu_si256(reinterpret_cast<__m256i*>(&pixels[ptr]), base); } } |