aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/opts/SkBitmapProcState_opts_mips_dsp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/opts/SkBitmapProcState_opts_mips_dsp.cpp')
-rw-r--r--src/opts/SkBitmapProcState_opts_mips_dsp.cpp134
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;