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 1214443002: Color dodge and burn with SkPMFloat. (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: reed 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/opts/SkPMFloat_sse.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 503 matching lines...) Expand 10 before | Expand all | Expand 10 after
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.
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
525 // TODO(mtklein): implement these with SkPMFloat.
526 case SkProcCoeffXfermode::kSoftLight_Mode: proc = softlight_modeproc_S SE2; break;
527 case SkProcCoeffXfermode::kColorDodge_Mode: proc = colordodge_modeproc_S SE2; break; 524 case SkProcCoeffXfermode::kColorDodge_Mode: proc = colordodge_modeproc_S SE2; break;
528 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;
529 default: break; 529 default: break;
530 } 530 }
531 return proc ? SkNEW_ARGS(SkSSE2ProcCoeffXfermode, (rec, mode, (void*)proc)) : nullptr; 531 return proc ? SkNEW_ARGS(SkSSE2ProcCoeffXfermode, (rec, mode, (void*)proc)) : nullptr;
532 } 532 }
OLDNEW
« no previous file with comments | « src/opts/SkPMFloat_sse.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698