#include "src/gpu/ganesh/GrColorSpaceXform.h"
#include "include/core/SkString.h"
#include "modules/skcms/skcms.h"
#include "src/gpu/KeyBuilder.h"
#include "src/gpu/ganesh/GrColorInfo.h"
#include "src/gpu/ganesh/glsl/GrGLSLColorSpaceXformHelper.h"
#include "src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h"
#include <cstring>
#include <utility>
class GrGLSLProgramDataManager;
class GrGLSLUniformHandler;
enum SkAlphaType : int;
struct GrShaderCaps;
sk_sp<GrColorSpaceXform> GrColorSpaceXform::Make(SkColorSpace* src, SkAlphaType srcAT,
SkColorSpace* dst, SkAlphaType dstAT) { … }
sk_sp<GrColorSpaceXform> GrColorSpaceXform::Make(const GrColorInfo& srcInfo,
const GrColorInfo& dstInfo) { … }
uint32_t GrColorSpaceXform::XformKey(const GrColorSpaceXform* xform) { … }
bool GrColorSpaceXform::Equals(const GrColorSpaceXform* a, const GrColorSpaceXform* b) { … }
SkColor4f GrColorSpaceXform::apply(const SkColor4f& srcColor) { … }
GrColorSpaceXformEffect::GrColorSpaceXformEffect(std::unique_ptr<GrFragmentProcessor> child,
sk_sp<GrColorSpaceXform> colorXform)
: … { … }
GrColorSpaceXformEffect::GrColorSpaceXformEffect(const GrColorSpaceXformEffect& that)
: … { … }
std::unique_ptr<GrFragmentProcessor> GrColorSpaceXformEffect::clone() const { … }
bool GrColorSpaceXformEffect::onIsEqual(const GrFragmentProcessor& s) const { … }
void GrColorSpaceXformEffect::onAddToKey(const GrShaderCaps&, skgpu::KeyBuilder* b) const { … }
std::unique_ptr<GrFragmentProcessor::ProgramImpl>
GrColorSpaceXformEffect::onMakeProgramImpl() const { … }
GrFragmentProcessor::OptimizationFlags GrColorSpaceXformEffect::OptFlags(
const GrFragmentProcessor* child) { … }
SkPMColor4f GrColorSpaceXformEffect::constantOutputForConstantInput(
const SkPMColor4f& input) const { … }
std::unique_ptr<GrFragmentProcessor> GrColorSpaceXformEffect::Make(
std::unique_ptr<GrFragmentProcessor> child,
SkColorSpace* src, SkAlphaType srcAT,
SkColorSpace* dst, SkAlphaType dstAT) { … }
std::unique_ptr<GrFragmentProcessor> GrColorSpaceXformEffect::Make(
std::unique_ptr<GrFragmentProcessor> child,
const GrColorInfo& srcInfo,
const GrColorInfo& dstInfo) { … }
std::unique_ptr<GrFragmentProcessor> GrColorSpaceXformEffect::Make(
std::unique_ptr<GrFragmentProcessor> child,
sk_sp<GrColorSpaceXform> colorXform) { … }