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

Unified Diff: src/opts/SkBlitRow_opts_mips_dsp.cpp

Issue 2097883002: revise row blits to keep intermediate precision so that color is preserved when blended against its… (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: guard more changes with SK_SUPPORT_LEGACY_BROKEN_LERP Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/opts/SkBlitRow_opts_arm_neon.cpp ('k') | src/opts/SkColor_opts_SSE2.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/opts/SkBlitRow_opts_mips_dsp.cpp
diff --git a/src/opts/SkBlitRow_opts_mips_dsp.cpp b/src/opts/SkBlitRow_opts_mips_dsp.cpp
index e25f7c5f192aafeb426a8556a52e2ea3a81da532..42821919a35dab36178235f2d260dd0639bda05a 100644
--- a/src/opts/SkBlitRow_opts_mips_dsp.cpp
+++ b/src/opts/SkBlitRow_opts_mips_dsp.cpp
@@ -789,9 +789,15 @@ static void S32_Blend_BlitRow32_mips_dsp(SkPMColor* SK_RESTRICT dst,
"muleu_s.ph.qbr %[t5], %[t6], %[t5] \n\t"
"addiu %[src], %[src], 4 \n\t"
"addiu %[count], %[count], -1 \n\t"
+#ifdef SK_SUPPORT_LEGACY_BROKEN_LERP
"precrq.qb.ph %[t0], %[t3], %[t2] \n\t"
"precrq.qb.ph %[t2], %[t5], %[t4] \n\t"
"addu %[t1], %[t0], %[t2] \n\t"
+#else
+ "addu %[t0], %[t3], %[t5] \n\t"
+ "addu %[t2], %[t2], %[t4] \n\t"
+ "precrq.qb.ph %[t1], %[t0], %[t2] \n\t"
+#endif
"sw %[t1], 0(%[dst]) \n\t"
"b 1b \n\t"
" addi %[dst], %[dst], 4 \n\t"
« no previous file with comments | « src/opts/SkBlitRow_opts_arm_neon.cpp ('k') | src/opts/SkColor_opts_SSE2.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698