Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: src/opts/SkXfermode_opts_SSE2.cpp

Issue 1221493002: SoftLight with SkPMFloat (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Edges matter. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/core/Sk4pxXfermode.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkColorPriv.h" 8 #include "SkColorPriv.h"
9 #include "SkColor_opts_SSE2.h" 9 #include "SkColor_opts_SSE2.h"
10 #include "SkMathPriv.h" 10 #include "SkMathPriv.h"
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 #ifndef SK_IGNORE_TO_STRING 509 #ifndef SK_IGNORE_TO_STRING
510 void SkSSE2ProcCoeffXfermode::toString(SkString* str) const { 510 void SkSSE2ProcCoeffXfermode::toString(SkString* str) const {
511 this->INHERITED::toString(str); 511 this->INHERITED::toString(str);
512 } 512 }
513 #endif 513 #endif
514 514
515 SkProcCoeffXfermode* SkPlatformXfermodeFactory_impl_SSE2(const ProcCoeff& rec, 515 SkProcCoeffXfermode* SkPlatformXfermodeFactory_impl_SSE2(const ProcCoeff& rec,
516 SkXfermode::Mode mode) { 516 SkXfermode::Mode mode) {
517 SkXfermodeProcSIMD proc = nullptr; 517 SkXfermodeProcSIMD proc = nullptr;
518 switch (mode) { 518 switch (mode) {
519 // TODO(mtklein): Sk4pxXfermode has these now. Clean up. 519 // TODO(mtklein): Sk4pxXfermode has these now. Clean up the whole file!
520 case SkProcCoeffXfermode::kOverlay_Mode: proc = overlay_modeproc_S SE2; break; 520 case SkProcCoeffXfermode::kOverlay_Mode: proc = overlay_modeproc_S SE2; break;
521 case SkProcCoeffXfermode::kDarken_Mode: proc = darken_modeproc_S SE2; break; 521 case SkProcCoeffXfermode::kDarken_Mode: proc = darken_modeproc_S SE2; break;
522 case SkProcCoeffXfermode::kLighten_Mode: proc = lighten_modeproc_S SE2; break; 522 case SkProcCoeffXfermode::kLighten_Mode: proc = lighten_modeproc_S SE2; break;
523 case SkProcCoeffXfermode::kHardLight_Mode: proc = hardlight_modeproc_S SE2; break; 523 case SkProcCoeffXfermode::kHardLight_Mode: proc = hardlight_modeproc_S SE2; break;
524 case SkProcCoeffXfermode::kColorDodge_Mode: proc = colordodge_modeproc_S SE2; break; 524 case SkProcCoeffXfermode::kColorDodge_Mode: proc = colordodge_modeproc_S SE2; break;
525 case SkProcCoeffXfermode::kColorBurn_Mode: proc = colorburn_modeproc_S SE2; break; 525 case SkProcCoeffXfermode::kColorBurn_Mode: proc = colorburn_modeproc_S SE2; break;
526
527 // TODO(mtklein): implement this with SkPMFloat.
528 case SkProcCoeffXfermode::kSoftLight_Mode: proc = softlight_modeproc_S SE2; break; 526 case SkProcCoeffXfermode::kSoftLight_Mode: proc = softlight_modeproc_S SE2; break;
529 default: break; 527 default: break;
530 } 528 }
531 return proc ? SkNEW_ARGS(SkSSE2ProcCoeffXfermode, (rec, mode, (void*)proc)) : nullptr; 529 return proc ? SkNEW_ARGS(SkSSE2ProcCoeffXfermode, (rec, mode, (void*)proc)) : nullptr;
532 } 530 }
OLDNEW
« no previous file with comments | « src/core/Sk4pxXfermode.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698