diff options
Diffstat (limited to 'src/gpu/glsl/GrGLSLColorSpaceXformHelper.h')
-rw-r--r-- | src/gpu/glsl/GrGLSLColorSpaceXformHelper.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gpu/glsl/GrGLSLColorSpaceXformHelper.h b/src/gpu/glsl/GrGLSLColorSpaceXformHelper.h index 940be57126..cd516e8c89 100644 --- a/src/gpu/glsl/GrGLSLColorSpaceXformHelper.h +++ b/src/gpu/glsl/GrGLSLColorSpaceXformHelper.h @@ -8,12 +8,13 @@ #ifndef GrGLSLColorSpaceXformHelper_DEFINED #define GrGLSLColorSpaceXformHelper_DEFINED +#include "GrColorSpaceXform.h" #include "GrGLSLUniformHandler.h" -class GrColorSpaceXform; - /** * Stack helper class to assist with using GrColorSpaceXform within an FP's emitCode function. + * This injects the uniform declaration, and stores the information needed to generate correct + * gamut-transformation shader code. */ class GrGLSLColorSpaceXformHelper : public SkNoncopyable { public: @@ -25,15 +26,18 @@ public: *handle = uniformHandler->addUniform(kFragment_GrShaderFlag, kMat44f_GrSLType, kDefault_GrSLPrecision, "ColorXform", &fXformMatrix); + fAlphaType = colorSpaceXform->alphaType(); } else { fXformMatrix = nullptr; } } const char* getXformMatrix() const { return fXformMatrix; } + SkAlphaType alphaType() const { return fAlphaType; } private: const char* fXformMatrix; + SkAlphaType fAlphaType; }; #endif |