Flutter Engine
The Flutter Engine
|
#include <GrSkSLFP.h>
Classes | |
struct | GrIgnoreOptFlags |
struct | GrOptionalUniform |
struct | GrSpecializedUniform |
class | Impl |
Public Member Functions | |
const char * | name () const override |
std::unique_ptr< GrFragmentProcessor > | clone () const override |
Public Member Functions inherited from GrFragmentProcessor | |
virtual std::unique_ptr< GrFragmentProcessor > | clone () const =0 |
const GrFragmentProcessor * | parent () const |
std::unique_ptr< ProgramImpl > | makeProgramImpl () const |
void | addToKey (const GrShaderCaps &caps, skgpu::KeyBuilder *b) const |
int | numChildProcessors () const |
int | numNonNullChildProcessors () const |
GrFragmentProcessor * | childProcessor (int index) |
const GrFragmentProcessor * | childProcessor (int index) const |
SkDEBUGCODE (bool isInstantiated() const ;) bool willReadDstColor() const | |
bool | isBlendFunction () const |
bool | usesSampleCoordsDirectly () const |
bool | usesSampleCoords () const |
const SkSL::SampleUsage & | sampleUsage () const |
bool | compatibleWithCoverageAsAlpha () const |
bool | preservesOpaqueInput () const |
bool | hasConstantOutputForConstantInput (SkPMColor4f inputColor, SkPMColor4f *outputColor) const |
bool | hasConstantOutputForConstantInput () const |
void | clearConstantOutputForConstantInputFlag () |
bool | isEqual (const GrFragmentProcessor &that) const |
void | visitProxies (const GrVisitProxyFunc &) const |
void | visitTextureEffects (const std::function< void(const GrTextureEffect &)> &) const |
void | visitWithImpls (const std::function< void(const GrFragmentProcessor &, ProgramImpl &)> &, ProgramImpl &) const |
GrTextureEffect * | asTextureEffect () |
const GrTextureEffect * | asTextureEffect () const |
Public Member Functions inherited from GrProcessor | |
virtual | ~GrProcessor ()=default |
virtual const char * | name () const =0 |
void * | operator new (size_t size) |
void * | operator new (size_t object_size, size_t footer_size) |
void | operator delete (void *target) |
void * | operator new (size_t size, void *placement) |
void | operator delete (void *target, void *placement) |
template<typename T > | |
const T & | cast () const |
ClassID | classID () const |
Static Public Member Functions | |
template<typename T > | |
static GrSpecializedUniform< T > | Specialize (const T &value) |
template<typename T > | |
static GrSpecializedUniform< T > | SpecializeIf (bool condition, const T &value) |
template<typename T > | |
static GrOptionalUniform< T > | When (bool condition, const T &value) |
static GrIgnoreOptFlags | IgnoreOptFlags (std::unique_ptr< GrFragmentProcessor > child) |
static std::unique_ptr< GrSkSLFP > | MakeWithData (sk_sp< SkRuntimeEffect > effect, const char *name, sk_sp< SkColorSpace > dstColorSpace, std::unique_ptr< GrFragmentProcessor > inputFP, std::unique_ptr< GrFragmentProcessor > destColorFP, const sk_sp< const SkData > &uniforms, SkSpan< std::unique_ptr< GrFragmentProcessor > > childFPs) |
template<typename... Args> | |
static std::unique_ptr< GrSkSLFP > | Make (const SkRuntimeEffect *effect, const char *name, std::unique_ptr< GrFragmentProcessor > inputFP, OptFlags optFlags, Args &&... args) |
Static Public Member Functions inherited from GrFragmentProcessor | |
static std::unique_ptr< GrFragmentProcessor > | MakeColor (SkPMColor4f color) |
static std::unique_ptr< GrFragmentProcessor > | MulInputByChildAlpha (std::unique_ptr< GrFragmentProcessor > child) |
static std::unique_ptr< GrFragmentProcessor > | ApplyPaintAlpha (std::unique_ptr< GrFragmentProcessor > child) |
static std::unique_ptr< GrFragmentProcessor > | ModulateRGBA (std::unique_ptr< GrFragmentProcessor > child, const SkPMColor4f &color) |
static std::unique_ptr< GrFragmentProcessor > | OverrideInput (std::unique_ptr< GrFragmentProcessor >, const SkPMColor4f &) |
static std::unique_ptr< GrFragmentProcessor > | DisableCoverageAsAlpha (std::unique_ptr< GrFragmentProcessor >) |
static std::unique_ptr< GrFragmentProcessor > | DestColor () |
static std::unique_ptr< GrFragmentProcessor > | SwizzleOutput (std::unique_ptr< GrFragmentProcessor >, const skgpu::Swizzle &) |
static std::unique_ptr< GrFragmentProcessor > | ClampOutput (std::unique_ptr< GrFragmentProcessor >) |
static std::unique_ptr< GrFragmentProcessor > | Compose (std::unique_ptr< GrFragmentProcessor > f, std::unique_ptr< GrFragmentProcessor > g) |
static std::unique_ptr< GrFragmentProcessor > | ColorMatrix (std::unique_ptr< GrFragmentProcessor > child, const float matrix[20], bool unpremulInput, bool clampRGBOutput, bool premulOutput) |
static std::unique_ptr< GrFragmentProcessor > | SurfaceColor () |
static std::unique_ptr< GrFragmentProcessor > | DeviceSpace (std::unique_ptr< GrFragmentProcessor >) |
static std::unique_ptr< GrFragmentProcessor > | Rect (std::unique_ptr< GrFragmentProcessor >, GrClipEdgeType, SkRect) |
static GrFPResult | Circle (std::unique_ptr< GrFragmentProcessor >, GrClipEdgeType, SkPoint center, float radius) |
static GrFPResult | Ellipse (std::unique_ptr< GrFragmentProcessor >, GrClipEdgeType, SkPoint center, SkPoint radii, const GrShaderCaps &) |
static std::unique_ptr< GrFragmentProcessor > | HighPrecision (std::unique_ptr< GrFragmentProcessor >) |
Friends | |
class | GrSkSLFPFactory |
Definition at line 70 of file GrSkSLFP.h.
|
strong |
Enumerator | |
---|---|
kNone | |
kCompatibleWithCoverageAsAlpha | |
kPreservesOpaqueInput | |
kAll |
Definition at line 101 of file GrSkSLFP.h.
|
overridevirtual |
Makes a copy of this fragment processor that draws equivalently to the original. If the processor has child processors they are cloned as well.
Implements GrFragmentProcessor.
Definition at line 448 of file GrSkSLFP.cpp.
|
inlinestatic |
Definition at line 97 of file GrSkSLFP.h.
|
inlinestatic |
Definition at line 159 of file GrSkSLFP.h.
|
static |
Both factories support a single 'input' FP, as well as a collection of other 'child' FPs. The 'child' FPs correspond to the children declared in the effect's SkSL. The inputFP is optional, and intended for instances that have color filter semantics. This is an implicit child - if present, it's evaluated to produce the input color fed to the SkSL. Otherwise, the SkSL receives this FP's input color directly. Creates a new fragment processor from an SkRuntimeEffect and a data blob containing values for all of the 'uniform' variables in the SkSL source. The layout of the uniforms blob is dictated by the SkRuntimeEffect.
Definition at line 289 of file GrSkSLFP.cpp.
|
inlineoverridevirtual |
Human-meaningful string to identify this processor; may be embedded in generated shader code and must be a legal SkSL identifier prefix.
Implements GrProcessor.
Definition at line 186 of file GrSkSLFP.h.
|
inlinestatic |
Definition at line 77 of file GrSkSLFP.h.
|
inlinestatic |
Definition at line 81 of file GrSkSLFP.h.
|
inlinestatic |
Definition at line 90 of file GrSkSLFP.h.
|
friend |
Definition at line 445 of file GrSkSLFP.h.