diff options
Diffstat (limited to 'src/resources/dye/dyepalette.cpp')
-rw-r--r-- | src/resources/dye/dyepalette.cpp | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/src/resources/dye/dyepalette.cpp b/src/resources/dye/dyepalette.cpp index b8346058f..75e4c567b 100644 --- a/src/resources/dye/dyepalette.cpp +++ b/src/resources/dye/dyepalette.cpp @@ -44,18 +44,23 @@ #include "debug.h" +#ifdef SIMD_SUPPORTED DyeFunctionPtr DyePalette::funcReplaceSColor = nullptr; DyeFunctionPtr DyePalette::funcReplaceSColorSse2 = nullptr; DyeFunctionPtr DyePalette::funcReplaceSColorAvx2 = nullptr; -DyeFunctionPtr DyePalette::funcReplaceSOGLColor = nullptr; -DyeFunctionPtr DyePalette::funcReplaceSOGLColorSse2 = nullptr; -DyeFunctionPtr DyePalette::funcReplaceSOGLColorAvx2 = nullptr; DyeFunctionPtr DyePalette::funcReplaceAColor = nullptr; DyeFunctionPtr DyePalette::funcReplaceAColorSse2 = nullptr; DyeFunctionPtr DyePalette::funcReplaceAColorAvx2 = nullptr; + +#ifdef USE_OPENGL +DyeFunctionPtr DyePalette::funcReplaceSOGLColor = nullptr; +DyeFunctionPtr DyePalette::funcReplaceSOGLColorSse2 = nullptr; +DyeFunctionPtr DyePalette::funcReplaceSOGLColorAvx2 = nullptr; DyeFunctionPtr DyePalette::funcReplaceAOGLColor = nullptr; DyeFunctionPtr DyePalette::funcReplaceAOGLColorSse2 = nullptr; DyeFunctionPtr DyePalette::funcReplaceAOGLColorAvx2 = nullptr; +#endif // USE_OPENGL +#endif // SIMD_SUPPORTED DyePalette::DyePalette(const std::string &restrict description, const uint8_t blockSize) : @@ -251,30 +256,36 @@ void DyePalette::initFunctions() funcReplaceSColor = &DyePalette::replaceSColorAvx2; funcReplaceSColorAvx2 = &DyePalette::replaceSColorAvx2; funcReplaceSColorSse2 = &DyePalette::replaceSColorSse2; - funcReplaceSOGLColor = &DyePalette::replaceSOGLColorAvx2; - funcReplaceSOGLColorAvx2 = &DyePalette::replaceSOGLColorAvx2; - funcReplaceSOGLColorSse2 = &DyePalette::replaceSOGLColorSse2; funcReplaceAColor = &DyePalette::replaceAColorAvx2; funcReplaceAColorAvx2 = &DyePalette::replaceAColorAvx2; funcReplaceAColorSse2 = &DyePalette::replaceAColorSse2; + +#ifdef USE_OPENGL + funcReplaceSOGLColor = &DyePalette::replaceSOGLColorAvx2; + funcReplaceSOGLColorAvx2 = &DyePalette::replaceSOGLColorAvx2; + funcReplaceSOGLColorSse2 = &DyePalette::replaceSOGLColorSse2; funcReplaceAOGLColor = &DyePalette::replaceAOGLColorAvx2; funcReplaceAOGLColorAvx2 = &DyePalette::replaceAOGLColorAvx2; funcReplaceAOGLColorSse2 = &DyePalette::replaceAOGLColorSse2; +#endif // USE_OPENGL } else if (flags & Cpu::FEATURE_SSE2) { funcReplaceSColor = &DyePalette::replaceSColorSse2; funcReplaceSColorAvx2 = &DyePalette::replaceSColorSse2; funcReplaceSColorSse2 = &DyePalette::replaceSColorSse2; - funcReplaceSOGLColor = &DyePalette::replaceSOGLColorSse2; - funcReplaceSOGLColorAvx2 = &DyePalette::replaceSOGLColorSse2; - funcReplaceSOGLColorSse2 = &DyePalette::replaceSOGLColorSse2; funcReplaceAColor = &DyePalette::replaceAColorSse2; funcReplaceAColorAvx2 = &DyePalette::replaceAColorSse2; funcReplaceAColorSse2 = &DyePalette::replaceAColorSse2; + +#ifdef USE_OPENGL + funcReplaceSOGLColor = &DyePalette::replaceSOGLColorSse2; + funcReplaceSOGLColorAvx2 = &DyePalette::replaceSOGLColorSse2; + funcReplaceSOGLColorSse2 = &DyePalette::replaceSOGLColorSse2; funcReplaceAOGLColor = &DyePalette::replaceAOGLColorSse2; funcReplaceAOGLColorAvx2 = &DyePalette::replaceAOGLColorSse2; funcReplaceAOGLColorSse2 = &DyePalette::replaceAOGLColorSse2; +#endif // USE_OPENGL } else #endif // SIMD_SUPPORTED @@ -282,14 +293,17 @@ void DyePalette::initFunctions() funcReplaceSColor = &DyePalette::replaceSColorDefault; funcReplaceSColorAvx2 = &DyePalette::replaceSColorDefault; funcReplaceSColorSse2 = &DyePalette::replaceSColorDefault; - funcReplaceSOGLColor = &DyePalette::replaceSOGLColorDefault; - funcReplaceSOGLColorAvx2 = &DyePalette::replaceSOGLColorDefault; - funcReplaceSOGLColorSse2 = &DyePalette::replaceSOGLColorDefault; funcReplaceAColor = &DyePalette::replaceAColorDefault; funcReplaceAColorAvx2 = &DyePalette::replaceAColorDefault; funcReplaceAColorSse2 = &DyePalette::replaceAColorDefault; + +#ifdef USE_OPENGL + funcReplaceSOGLColor = &DyePalette::replaceSOGLColorDefault; + funcReplaceSOGLColorAvx2 = &DyePalette::replaceSOGLColorDefault; + funcReplaceSOGLColorSse2 = &DyePalette::replaceSOGLColorDefault; funcReplaceAOGLColor = &DyePalette::replaceAOGLColorDefault; funcReplaceAOGLColorAvx2 = &DyePalette::replaceAOGLColorDefault; funcReplaceAOGLColorSse2 = &DyePalette::replaceAOGLColorDefault; +#endif // USE_OPENGL } } |