Index: src/core/SkRasterPipelineBlitter.cpp |
diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp |
index 9d89b4dcfceeb8cd327c11d8e0b2091cfc0c9993..b6925a5b101f64ce0a3f7eb59dd5092ce8cb7121 100644 |
--- a/src/core/SkRasterPipelineBlitter.cpp |
+++ b/src/core/SkRasterPipelineBlitter.cpp |
@@ -245,8 +245,7 @@ static void SK_VECTORCALL load_d_srgb(SkRasterPipeline::Stage* st, size_t x, |
sk_linear_from_srgb[(ptr[2] >> SK_B32_SHIFT) & 0xff], |
sk_linear_from_srgb[(ptr[3] >> SK_B32_SHIFT) & 0xff] }; |
- // TODO: this >> doesn't really need mask if we make it logical instead of arithmetic. |
- da = SkNx_cast<float>((Sk4i::Load(ptr) >> SK_A32_SHIFT) & 0xff) * (1/255.0f); |
+ da = SkNx_cast<float>((Sk4i::Load(ptr)).logicalShiftRight(SK_A32_SHIFT)) * (1/255.0f); |
st->next(x, r,g,b,a, dr,dg,db,da); |
} |