diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-10-18 13:56:50 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-10-18 13:56:50 +0000 |
commit | edb606cb999887d54629f361bcbf57c5fede1bb0 (patch) | |
tree | 60ec20fa1b2814dc1d292b6de9f1f299399e1de5 /src/core/SkBlitRow_D32.cpp | |
parent | 095186a466f92b871c8ef8385246405426a67adb (diff) |
move LCD blits into opts, so they can have assembly versions
git-svn-id: http://skia.googlecode.com/svn/trunk@2484 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkBlitRow_D32.cpp')
-rw-r--r-- | src/core/SkBlitRow_D32.cpp | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/src/core/SkBlitRow_D32.cpp b/src/core/SkBlitRow_D32.cpp index 1a40f4d9b9..35fb60fb34 100644 --- a/src/core/SkBlitRow_D32.cpp +++ b/src/core/SkBlitRow_D32.cpp @@ -177,83 +177,3 @@ void SkBlitRow::Color32(SkPMColor* SK_RESTRICT dst, } } -/////////////////////////////////////////////////////////////////////////////// - -static void D32_Mask_Color(void* SK_RESTRICT dst, size_t dstRB, SkBitmap::Config, - const uint8_t* SK_RESTRICT mask, size_t maskRB, SkColor color, - int width, int height) { - SkPMColor pmc = SkPreMultiplyColor(color); - size_t dstOffset = dstRB - (width << 2); - size_t maskOffset = maskRB - width; - SkPMColor *device = (SkPMColor *)dst; - do { - int w = width; - do { - unsigned aa = *mask++; - *device = SkBlendARGB32(pmc, *device, aa); - device += 1; - } while (--w != 0); - device = (uint32_t*)((char*)device + dstOffset); - mask += maskOffset; - } while (--height != 0); -} - -static void D32_Mask_Opaque(void* SK_RESTRICT dst, size_t dstRB, SkBitmap::Config, - const uint8_t* SK_RESTRICT mask, size_t maskRB, SkColor color, - int width, int height) { - SkPMColor pmc = SkPreMultiplyColor(color); - uint32_t* device = (uint32_t*)dst; - - maskRB -= width; - dstRB -= (width << 2); - do { - int w = width; - do { - unsigned aa = *mask++; - *device = SkAlphaMulQ(pmc, SkAlpha255To256(aa)) + SkAlphaMulQ(*device, SkAlpha255To256(255 - aa)); - device += 1; - } while (--w != 0); - device = (uint32_t*)((char*)device + dstRB); - mask += maskRB; - } while (--height != 0); -} - -static void D32_Mask_Black(void* SK_RESTRICT dst, size_t dstRB, SkBitmap::Config, - const uint8_t* SK_RESTRICT mask, size_t maskRB, SkColor, - int width, int height) { - uint32_t* device = (uint32_t*)dst; - - maskRB -= width; - dstRB -= (width << 2); - do { - int w = width; - do { - unsigned aa = *mask++; - *device = (aa << SK_A32_SHIFT) + SkAlphaMulQ(*device, SkAlpha255To256(255 - aa)); - device += 1; - } while (--w != 0); - device = (uint32_t*)((char*)device + dstRB); - mask += maskRB; - } while (--height != 0); -} - -SkBlitMask::Proc SkBlitMask::Factory(SkBitmap::Config config, SkColor color) { - SkBlitMask::Proc proc = PlatformProcs(config, color); - if (NULL == proc) { - switch (config) { - case SkBitmap::kARGB_8888_Config: - if (SK_ColorBLACK == color) { - proc = D32_Mask_Black; - } else if (0xFF == SkColorGetA(color)) { - proc = D32_Mask_Opaque; - } else { - proc = D32_Mask_Color; - } - break; - default: - break; - } - } - return proc; -} - |