diff options
author | 2016-01-05 05:10:33 -0800 | |
---|---|---|
committer | 2016-01-05 05:10:33 -0800 | |
commit | 4e5a758f3832594cf1828d367496b5a80bcab8ee (patch) | |
tree | 90e8560257aca97a65f6b8266906d78090e055e9 /src/core/SkBitmapProcShader.cpp | |
parent | 2c2d8ab08c39fad2706895e69dcc9ed1aeb9bb2a (diff) |
remove shadeSpan16 from shader
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1556003003
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review URL: https://codereview.chromium.org/1556003003
Diffstat (limited to 'src/core/SkBitmapProcShader.cpp')
-rw-r--r-- | src/core/SkBitmapProcShader.cpp | 79 |
1 files changed, 3 insertions, 76 deletions
diff --git a/src/core/SkBitmapProcShader.cpp b/src/core/SkBitmapProcShader.cpp index 6c9410ee32..e5b577a20c 100644 --- a/src/core/SkBitmapProcShader.cpp +++ b/src/core/SkBitmapProcShader.cpp @@ -68,11 +68,6 @@ void SkBitmapProcShader::flatten(SkWriteBuffer& buffer) const { buffer.writeUInt(fTileModeY); } -static bool only_scale_and_translate(const SkMatrix& matrix) { - unsigned mask = SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask; - return (matrix.getType() & ~mask) == 0; -} - bool SkBitmapProcShader::isOpaque() const { return fRawBitmap.isOpaque(); } @@ -110,47 +105,10 @@ SkBitmapProcShader::BitmapProcShaderContext::BitmapProcShaderContext(const SkSha : INHERITED(shader, rec) , fState(state) { - const SkPixmap& pixmap = fState->fPixmap; - bool isOpaque = pixmap.isOpaque(); - - // update fFlags - uint32_t flags = 0; - if (isOpaque && (255 == this->getPaintAlpha())) { - flags |= kOpaqueAlpha_Flag; - } - - switch (pixmap.colorType()) { - case kRGB_565_SkColorType: - flags |= (kHasSpan16_Flag | kIntrinsicly16_Flag); - break; - case kIndex_8_SkColorType: - case kN32_SkColorType: - if (isOpaque) { - flags |= kHasSpan16_Flag; - } - break; - case kAlpha_8_SkColorType: - break; // never set kHasSpan16_Flag - default: - break; + fFlags = 0; + if (fState->fPixmap.isOpaque() && (255 == this->getPaintAlpha())) { + fFlags |= kOpaqueAlpha_Flag; } - - if (rec.fPaint->isDither() && pixmap.colorType() != kRGB_565_SkColorType) { - // gradients can auto-dither in their 16bit sampler, but we don't so - // we clear the flag here. - flags &= ~kHasSpan16_Flag; - } - - // if we're only 1-pixel high, and we don't rotate, then we can claim this - if (1 == pixmap.height() && - only_scale_and_translate(this->getTotalInverse())) { - flags |= kConstInY32_Flag; - if (flags & kHasSpan16_Flag) { - flags |= kConstInY16_Flag; - } - } - - fFlags = flags; } SkBitmapProcShader::BitmapProcShaderContext::~BitmapProcShaderContext() { @@ -221,37 +179,6 @@ SkShader::Context::ShadeProc SkBitmapProcShader::BitmapProcShaderContext::asASha return nullptr; } -void SkBitmapProcShader::BitmapProcShaderContext::shadeSpan16(int x, int y, uint16_t dstC[], - int count) { - const SkBitmapProcState& state = *fState; - if (state.getShaderProc16()) { - state.getShaderProc16()(&state, x, y, dstC, count); - return; - } - - uint32_t buffer[BUF_MAX]; - SkBitmapProcState::MatrixProc mproc = state.getMatrixProc(); - SkBitmapProcState::SampleProc16 sproc = state.getSampleProc16(); - int max = state.maxCountForBufferSize(sizeof(buffer)); - - SkASSERT(state.fPixmap.addr()); - - for (;;) { - int n = count; - if (n > max) { - n = max; - } - mproc(state, buffer, n, x, y); - sproc(state, buffer, n, dstC); - - if ((count -= n) == 0) { - break; - } - x += n; - dstC += n; - } -} - /////////////////////////////////////////////////////////////////////////////// #include "SkUnPreMultiply.h" |