8#ifndef skgpu_graphite_KeyHelpers_DEFINED
9#define skgpu_graphite_KeyHelpers_DEFINED
36class PaintParamsKeyBuilder;
37class PipelineDataGatherer;
38class UniquePaintParamsID;
101 float radius0,
float radius1,
102 float bias,
float scale,
109 bool useStorageBuffer,
unsigned useCenter Optional< SkMatrix > matrix
PODArray< SkColor > colors
SkSamplingOptions sampling
void AddToKey(const KeyContext &keyContext, PaintParamsKeyBuilder *builder, PipelineDataGatherer *gatherer, const SkBlender *blender)
void AddBlendModeColorFilter(const KeyContext &keyContext, PaintParamsKeyBuilder *builder, PipelineDataGatherer *gatherer, SkBlendMode bm, const SkPMColor4f &srcColor)
void NotifyImagesInUse(Recorder *recorder, DrawContext *drawContext, const SkBlender *blender)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, SkBlendMode)
static void BeginBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *)
static void BeginBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, SkSpan< const float > coeffs)
static void BeginBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *)
CoordClampData(SkRect subset)
static void BeginBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const CoordClampData &)
DitherData(float range, sk_sp< TextureProxy > proxy)
sk_sp< TextureProxy > fLUTProxy
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const DitherData &)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, sk_sp< TextureProxy > dst, SkIPoint dstOffset)
bool operator!=(const GradientData &rhs) const =delete
const SkGradientBaseShader * fSrcShader
const SkPMColor4f * fSrcColors
SkPMColor4f fColors[kNumInternalStorageStops]
sk_sp< TextureProxy > fColorsAndOffsetsProxy
SkGradientShader::Interpolation fInterpolation
GradientData(SkShaderBase::GradientType, int numStops, bool useStorageBuffer)
const float * fSrcOffsets
SkShaderBase::GradientType fType
static constexpr int kNumInternalStorageStops
SkV4 fOffsets[kNumInternalStorageStops/4]
bool operator==(const GradientData &rhs) const =delete
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const GradientData &)
sk_sp< TextureProxy > fTextureProxy
ImageData(const SkSamplingOptions &sampling, SkTileMode tileModeX, SkTileMode tileModeY, SkISize imgSize, SkRect subset, ReadSwizzle readSwizzle)
SkColorSpaceXformSteps fSteps
SkSamplingOptions fSampling
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const ImageData &)
LMShaderData(const SkMatrix &localMatrix)
static void BeginBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const LMShaderData &)
MatrixColorFilterData(const float matrix[20], bool inHSLA)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const MatrixColorFilterData &)
sk_sp< TextureProxy > fPermutationsProxy
sk_sp< TextureProxy > fNoiseProxy
PerlinNoiseData(Type type, SkVector baseFrequency, int numOctaves, SkISize stitchData)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const PerlinNoiseData &)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *)
sk_sp< const SkRuntimeEffect > fEffect
sk_sp< const SkData > fUniforms
bool operator!=(const ShaderData &rhs) const
ShaderData(sk_sp< const SkRuntimeEffect > effect)
bool operator==(const ShaderData &rhs) const
static void BeginBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const ShaderData &)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const SkPMColor4f &)
sk_sp< TextureProxy > fTextureProxy
TableColorFilterData(sk_sp< TextureProxy > proxy)
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const TableColorFilterData &)
SkSamplingOptions fSampling
SkPoint3 fYUVtoRGBTranslate
SkPoint fLinearFilterUVInset
SkSamplingOptions fSamplingUV
ImageData(const SkSamplingOptions &sampling, SkTileMode tileModeX, SkTileMode tileModeY, SkISize imgSize, SkRect subset)
sk_sp< TextureProxy > fTextureProxies[4]
static void AddBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const ImageData &)