Index: src/core/SkColorSpaceXform.cpp |
diff --git a/src/core/SkColorSpaceXform.cpp b/src/core/SkColorSpaceXform.cpp |
index 1b5d7e6a1e3c16b34e712835bfd851e49d52f05c..e6bde616c3211e8a387b4ae4e5df5e85a5e1d59e 100644 |
--- a/src/core/SkColorSpaceXform.cpp |
+++ b/src/core/SkColorSpaceXform.cpp |
@@ -490,32 +490,11 @@ std::unique_ptr<SkColorSpaceXform> SkColorSpaceXform::New(const sk_sp<SkColorSpa |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
-// TODO (msarett): |
-// Once SkFastXform supports translation, delete this function and use asRowMajorf(). |
-static void build_src_to_dst(float srcToDstArray[12], const SkMatrix44& srcToDstMatrix) { |
- // Build the following row major matrix: |
- // rX gX bX 0 |
- // rY gY bY 0 |
- // rZ gZ bZ 0 |
- srcToDstArray[0] = srcToDstMatrix.getFloat(0, 0); |
- srcToDstArray[1] = srcToDstMatrix.getFloat(0, 1); |
- srcToDstArray[2] = srcToDstMatrix.getFloat(0, 2); |
- srcToDstArray[3] = 0.0f; |
- srcToDstArray[4] = srcToDstMatrix.getFloat(1, 0); |
- srcToDstArray[5] = srcToDstMatrix.getFloat(1, 1); |
- srcToDstArray[6] = srcToDstMatrix.getFloat(1, 2); |
- srcToDstArray[7] = 0.0f; |
- srcToDstArray[8] = srcToDstMatrix.getFloat(2, 0); |
- srcToDstArray[9] = srcToDstMatrix.getFloat(2, 1); |
- srcToDstArray[10] = srcToDstMatrix.getFloat(2, 2); |
- srcToDstArray[11] = 0.0f; |
-} |
- |
template <SkColorSpace::GammaNamed Dst> |
SkFastXform<Dst>::SkFastXform(const sk_sp<SkColorSpace>& srcSpace, const SkMatrix44& srcToDst, |
const sk_sp<SkColorSpace>& dstSpace) |
{ |
- build_src_to_dst(fSrcToDst, srcToDst); |
+ srcToDst.asRowMajorf(fSrcToDst); |
build_gamma_tables(fSrcGammaTables, fSrcGammaTableStorage, 256, srcSpace, kToLinear); |
build_gamma_tables(fDstGammaTables, fDstGammaTableStorage, SkDefaultXform::kDstGammaTableSize, |
dstSpace, kFromLinear); |
@@ -615,7 +594,7 @@ static void interp_3d_clut(float dst[3], float src[3], const SkColorLookUpTable* |
const int n111 = n110 + n001; |
// Base ptr into the table. |
- float* ptr = &colorLUT->fTable[ix*n001 + iy*n010 + iz*n100]; |
+ const float* ptr = &(colorLUT->table()[ix*n001 + iy*n010 + iz*n100]); |
// The code below performs a tetrahedral interpolation for each of the three |
// dst components. Once the tetrahedron containing the interpolation point is |