| Index: include/gpu/GrColorSpaceXform.h
|
| diff --git a/include/gpu/GrColorSpaceXform.h b/include/gpu/GrColorSpaceXform.h
|
| index c1fb166f47cce383eb8574a6a672ed4e500326cf..38b5ccfc08fcd7739f229fb7870efd4ec08f1e76 100644
|
| --- a/include/gpu/GrColorSpaceXform.h
|
| +++ b/include/gpu/GrColorSpaceXform.h
|
| @@ -8,43 +8,33 @@
|
| #ifndef GrColorSpaceXform_DEFINED
|
| #define GrColorSpaceXform_DEFINED
|
|
|
| -#include "SkImageInfo.h"
|
| +#include "SkMatrix44.h"
|
| #include "SkRefCnt.h"
|
|
|
| class SkColorSpace;
|
| -class SkMatrix44;
|
|
|
| /**
|
| * Represents a color gamut transformation (as a 4x4 color matrix)
|
| */
|
| class GrColorSpaceXform : public SkRefCnt {
|
| public:
|
| - GrColorSpaceXform(const SkMatrix44& srcToDst, SkAlphaType srcAlphaType);
|
| + GrColorSpaceXform(const SkMatrix44& srcToDst);
|
|
|
| - static sk_sp<GrColorSpaceXform> Make(SkColorSpace* src, SkColorSpace* dst,
|
| - SkAlphaType srcAlphaType);
|
| + static sk_sp<GrColorSpaceXform> Make(SkColorSpace* src, SkColorSpace* dst);
|
|
|
| - const float* srcToDst() { return fSrcToDst; }
|
| - SkAlphaType alphaType() const { return fSrcAlphaType; }
|
| + const SkMatrix44& srcToDst() { return fSrcToDst; }
|
|
|
| /**
|
| * GrGLSLFragmentProcessor::GenKey() must call this and include the returned value in its
|
| * computed key.
|
| */
|
| static uint32_t XformKey(GrColorSpaceXform* xform) {
|
| - if (!xform) {
|
| - return 0;
|
| - }
|
| - // Code generation just depends on whether the alpha type is premul or not
|
| - return kPremul_SkAlphaType == xform->fSrcAlphaType ? 1 : 2;
|
| + // Code generation changes if there is an xform, but it otherwise constant
|
| + return SkToBool(xform) ? 1 : 0;
|
| }
|
|
|
| private:
|
| - // We store the column-major form of the srcToDst matrix, for easy uploading to uniforms
|
| - float fSrcToDst[16];
|
| -
|
| - // Alpha type of the source. If it's premul, we need special handling
|
| - SkAlphaType fSrcAlphaType;
|
| + SkMatrix44 fSrcToDst;
|
| };
|
|
|
| #endif
|
|
|