diff options
author | 2017-01-12 21:03:17 +0000 | |
---|---|---|
committer | 2017-01-12 21:03:28 +0000 | |
commit | 25b60833e7c3dd25f2317b3f0e7af07f04b5beba (patch) | |
tree | 557ce5ae781109521da3b18b44824fe00b01ea08 /src/core/SkColorSpaceXform_Base.h | |
parent | 9e937af9bd0ef211ffcaca1bae3a6a74581c5992 (diff) |
Revert "Use RasterPipeline to support full precision on 16-bit RGBA pngs"
This reverts commit bb2339da39ab3ee59121acd911920dafcd4a2f72.
Reason for revert: Breaks MSAN
Original change's description:
> Use RasterPipeline to support full precision on 16-bit RGBA pngs
>
> TODO: Support more precision on 16-bit RGB pngs
>
> BUG=skia:
>
> CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
>
> Change-Id: I89dfef3b4887b9c4895c17309933883ab90ffa4d
> Reviewed-on: https://skia-review.googlesource.com/6260
> Reviewed-by: Mike Reed <reed@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Matt Sarett <msarett@google.com>
>
TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,scroggo@google.com,reed@google.com,reviews@skia.org
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I47579c20af033a75883e2b35567cb9c690ce54b0
Reviewed-on: https://skia-review.googlesource.com/6975
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Diffstat (limited to 'src/core/SkColorSpaceXform_Base.h')
-rw-r--r-- | src/core/SkColorSpaceXform_Base.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/core/SkColorSpaceXform_Base.h b/src/core/SkColorSpaceXform_Base.h index 48035c506b..e20857324d 100644 --- a/src/core/SkColorSpaceXform_Base.h +++ b/src/core/SkColorSpaceXform_Base.h @@ -34,7 +34,6 @@ private: enum SrcGamma { kLinear_SrcGamma, kTable_SrcGamma, - kSRGB_SrcGamma, }; enum DstGamma { @@ -50,7 +49,7 @@ enum ColorSpaceMatch { kFull_ColorSpaceMatch, }; -template <ColorSpaceMatch kCSM> +template <SrcGamma kSrc, DstGamma kDst, ColorSpaceMatch kCSM> class SkColorSpaceXform_XYZ : public SkColorSpaceXform_Base { protected: bool onApply(ColorFormat dstFormat, void* dst, ColorFormat srcFormat, const void* src, @@ -64,26 +63,23 @@ private: SkColorSpace_XYZ* dstSpace); // Contain pointers into storage or pointers into precomputed tables. - const float* fSrcGammaTables[3]; - SkAutoTMalloc<float> fSrcStorage; - const uint8_t* fDstGammaTables[3]; - sk_sp<SkData> fDstStorage; + const float* fSrcGammaTables[3]; + SkAutoTMalloc<float> fSrcStorage; + const uint8_t* fDstGammaTables[3]; + sk_sp<SkData> fDstStorage; // Holds a 3x4 matrix. Padding is useful for vector loading. - float fSrcToDst[13]; - - SrcGamma fSrcGamma; - DstGamma fDstGamma; + float fSrcToDst[13]; friend class SkColorSpaceXform; friend std::unique_ptr<SkColorSpaceXform> SlowIdentityXform(SkColorSpace_XYZ* space); }; struct LoadTablesContext { - const void* fSrc; - const float* fR; - const float* fG; - const float* fB; + const uint32_t* fSrc; + const float* fR; + const float* fG; + const float* fB; }; struct StoreTablesContext { |