diff options
Diffstat (limited to 'src/opts/SkBitmapProcState_opts_mips_dsp.cpp')
-rw-r--r-- | src/opts/SkBitmapProcState_opts_mips_dsp.cpp | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/src/opts/SkBitmapProcState_opts_mips_dsp.cpp b/src/opts/SkBitmapProcState_opts_mips_dsp.cpp index dac4e20381..a80e955aeb 100644 --- a/src/opts/SkBitmapProcState_opts_mips_dsp.cpp +++ b/src/opts/SkBitmapProcState_opts_mips_dsp.cpp @@ -12,138 +12,6 @@ #include "SkPaint.h" #include "SkUtils.h" -static void SI8_D16_nofilter_DX_mips_dsp(const SkBitmapProcState& s, - const uint32_t* SK_RESTRICT xy, - int count, uint16_t* SK_RESTRICT colors) { - SkASSERT(count > 0 && colors != nullptr); - SkASSERT(s.fInvType <= (SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask)); - SkASSERT(kNone_SkFilterQuality == s.fFilterLevel); - const uint16_t* SK_RESTRICT table = s.fPixmap.ctable()->read16BitCache(); - const uint8_t* SK_RESTRICT srcAddr = (const uint8_t*)s.fPixmap.addr(); - SkASSERT((unsigned)xy[0] < (unsigned)s.fPixmap.height()); - srcAddr = (const uint8_t*)((const char*)srcAddr + xy[0] * s.fPixmap.rowBytes()); - uint8_t src; - - if (1 == s.fPixmap.width()) { - src = srcAddr[0]; - uint16_t dstValue = table[src]; - sk_memset16(colors, dstValue, count); - } else { - int count8; - const uint16_t* SK_RESTRICT xx = (const uint16_t*)(xy + 1); - - __asm__ volatile ( - ".set push \n\t" - ".set noreorder \n\t" - ".set noat \n\t" - "sra %[count8], %[count], 3 \n\t" - "beqz %[count8], 3f \n\t" - " addiu %[count8], %[count8], -1 \n\t" - "1: \n\t" - "beqz %[count8], 2f \n\t" - " addiu %[count8], %[count8], -1 \n\t" - "pref 0, 16(%[xx]) \n\t" - "lhu $t0, 0(%[xx]) \n\t" - "lhu $t1, 2(%[xx]) \n\t" - "lhu $t2, 4(%[xx]) \n\t" - "lhu $t3, 6(%[xx]) \n\t" - "lhu $t4, 8(%[xx]) \n\t" - "lhu $t5, 10(%[xx]) \n\t" - "lhu $t6, 12(%[xx]) \n\t" - "lhu $t7, 14(%[xx]) \n\t" - "pref 0, 8(%[srcAddr]) \n\t" - "lbux $t0, $t0(%[srcAddr]) \n\t" - "lbux $t1, $t1(%[srcAddr]) \n\t" - "lbux $t2, $t2(%[srcAddr]) \n\t" - "lbux $t3, $t3(%[srcAddr]) \n\t" - "lbux $t4, $t4(%[srcAddr]) \n\t" - "lbux $t5, $t5(%[srcAddr]) \n\t" - "lbux $t6, $t6(%[srcAddr]) \n\t" - "lbux $t7, $t7(%[srcAddr]) \n\t" - "addu $t0, $t0, $t0 \n\t" - "addu $t1, $t1, $t1 \n\t" - "addu $t2, $t2, $t2 \n\t" - "addu $t3, $t3, $t3 \n\t" - "addu $t4, $t4, $t4 \n\t" - "addu $t5, $t5, $t5 \n\t" - "addu $t6, $t6, $t6 \n\t" - "addu $t7, $t7, $t7 \n\t" - "pref 0, 16(%[table]) \n\t" - "lhx $t0, $t0(%[table]) \n\t" - "lhx $t1, $t1(%[table]) \n\t" - "lhx $t2, $t2(%[table]) \n\t" - "lhx $t3, $t3(%[table]) \n\t" - "lhx $t4, $t4(%[table]) \n\t" - "lhx $t5, $t5(%[table]) \n\t" - "lhx $t6, $t6(%[table]) \n\t" - "lhx $t7, $t7(%[table]) \n\t" - "sh $t0, 0(%[colors]) \n\t" - "sh $t1, 2(%[colors]) \n\t" - "sh $t2, 4(%[colors]) \n\t" - "sh $t3, 6(%[colors]) \n\t" - "sh $t4, 8(%[colors]) \n\t" - "sh $t5, 10(%[colors]) \n\t" - "sh $t6, 12(%[colors]) \n\t" - "sh $t7, 14(%[colors]) \n\t" - "addiu %[xx], %[xx], 16 \n\t" - "bgtz %[count8], 1b \n\t" - " addiu %[colors], %[colors], 16 \n\t" - "2: \n\t" - "lhu $t0, 0(%[xx]) \n\t" - "lhu $t1, 2(%[xx]) \n\t" - "lhu $t2, 4(%[xx]) \n\t" - "lhu $t3, 6(%[xx]) \n\t" - "lhu $t4, 8(%[xx]) \n\t" - "lhu $t5, 10(%[xx]) \n\t" - "lhu $t6, 12(%[xx]) \n\t" - "lhu $t7, 14(%[xx]) \n\t" - "lbux $t0, $t0(%[srcAddr]) \n\t" - "lbux $t1, $t1(%[srcAddr]) \n\t" - "lbux $t2, $t2(%[srcAddr]) \n\t" - "lbux $t3, $t3(%[srcAddr]) \n\t" - "lbux $t4, $t4(%[srcAddr]) \n\t" - "lbux $t5, $t5(%[srcAddr]) \n\t" - "lbux $t6, $t6(%[srcAddr]) \n\t" - "lbux $t7, $t7(%[srcAddr]) \n\t" - "addu $t0, $t0, $t0 \n\t" - "addu $t1, $t1, $t1 \n\t" - "addu $t2, $t2, $t2 \n\t" - "addu $t3, $t3, $t3 \n\t" - "addu $t4, $t4, $t4 \n\t" - "addu $t5, $t5, $t5 \n\t" - "addu $t6, $t6, $t6 \n\t" - "addu $t7, $t7, $t7 \n\t" - "lhx $t0, $t0(%[table]) \n\t" - "lhx $t1, $t1(%[table]) \n\t" - "lhx $t2, $t2(%[table]) \n\t" - "lhx $t3, $t3(%[table]) \n\t" - "lhx $t4, $t4(%[table]) \n\t" - "lhx $t5, $t5(%[table]) \n\t" - "lhx $t6, $t6(%[table]) \n\t" - "lhx $t7, $t7(%[table]) \n\t" - "sh $t0, 0(%[colors]) \n\t" - "sh $t1, 2(%[colors]) \n\t" - "sh $t2, 4(%[colors]) \n\t" - "sh $t3, 6(%[colors]) \n\t" - "sh $t4, 8(%[colors]) \n\t" - "sh $t5, 10(%[colors]) \n\t" - "sh $t6, 12(%[colors]) \n\t" - "sh $t7, 14(%[colors]) \n\t" - "addiu %[xx], %[xx], 16 \n\t" - "addiu %[colors], %[colors], 16 \n\t" - "3: \n\t" - ".set pop \n\t" - : [xx]"+r"(xx), [count8]"=&r"(count8), [colors]"+r"(colors) - : [table]"r"(table), [srcAddr]"r"(srcAddr), [count]"r"(count) - : "memory","t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7" - ); - - for (int i = (count & 7); i > 0; --i) { - src = srcAddr[*xx++]; *colors++ = table[src]; - } - } -} - static void SI8_opaque_D32_nofilter_DX_mips_dsp(const SkBitmapProcState& s, const uint32_t* SK_RESTRICT xy, int count, SkPMColor* SK_RESTRICT colors) { @@ -379,8 +247,6 @@ void SkBitmapProcState::platformProcs() { switch (fPixmap.colorType()) { case kIndex_8_SkColorType: if (justDx && kNone_SkFilterQuality == fFilterLevel) { - fSampleProc16 = SI8_D16_nofilter_DX_mips_dsp; - fShaderProc16 = nullptr; if (isOpaque) { fSampleProc32 = SI8_opaque_D32_nofilter_DX_mips_dsp; fShaderProc32 = nullptr; |