Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
skgpu::graphite::PrecompileCTMShader Class Reference
Inheritance diagram for skgpu::graphite::PrecompileCTMShader:
skgpu::graphite::PrecompileShader skgpu::graphite::PrecompileBase SkRefCnt SkRefCntBase

Public Member Functions

 PrecompileCTMShader (SkSpan< const sk_sp< PrecompileShader > > wrapped)
 
bool isConstant (int desiredCombination) const override
 
- Public Member Functions inherited from skgpu::graphite::PrecompileShader
 PrecompileShader ()
 
sk_sp< PrecompileShadermakeWithLocalMatrix ()
 
sk_sp< PrecompileShadermakeWithColorFilter (sk_sp< PrecompileColorFilter >)
 
sk_sp< PrecompileShadermakeWithWorkingColorSpace (sk_sp< SkColorSpace >)
 
sk_sp< PrecompileShadermakeWithCTM ()
 
- Public Member Functions inherited from skgpu::graphite::PrecompileBase
 PrecompileBase (Type type)
 
Type type () const
 
virtual int numIntrinsicCombinations () const
 
int numCombinations () const
 
PrecompileBasePriv priv ()
 
const PrecompileBasePriv priv () const
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Private Member Functions

int numChildCombinations () const override
 
void addToKey (const KeyContext &keyContext, PaintParamsKeyBuilder *builder, PipelineDataGatherer *gatherer, int desiredCombination) const override
 

Additional Inherited Members

- Public Types inherited from skgpu::graphite::PrecompileBase
enum class  Type {
  kBlender , kColorFilter , kImageFilter , kMaskFilter ,
  kShader
}
 
- Static Protected Member Functions inherited from skgpu::graphite::PrecompileBase
template<typename T >
static std::pair< sk_sp< T >, intSelectOption (SkSpan< const sk_sp< T > > options, int desiredOption)
 
template<typename T >
static void AddToKey (const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, SkSpan< const sk_sp< T > > options, int desiredOption)
 

Detailed Description

Definition at line 885 of file FactoryFunctions.cpp.

Constructor & Destructor Documentation

◆ PrecompileCTMShader()

skgpu::graphite::PrecompileCTMShader::PrecompileCTMShader ( SkSpan< const sk_sp< PrecompileShader > >  wrapped)
inline

Definition at line 887 of file FactoryFunctions.cpp.

888 : fWrapped(wrapped.begin(), wrapped.end()) {
889 fNumWrappedCombos = 0;
890 for (const auto& s : fWrapped) {
891 fNumWrappedCombos += s->numCombinations();
892 }
893 }
static sk_sp< GrTextureProxy > wrapped(skiatest::Reporter *reporter, GrRecordingContext *rContext, GrProxyProvider *proxyProvider, SkBackingFit fit)
struct MyStruct s

Member Function Documentation

◆ addToKey()

void skgpu::graphite::PrecompileCTMShader::addToKey ( const KeyContext keyContext,
PaintParamsKeyBuilder builder,
PipelineDataGatherer gatherer,
int  desiredCombination 
) const
inlineoverrideprivatevirtual

Implements skgpu::graphite::PrecompileBase.

Definition at line 909 of file FactoryFunctions.cpp.

912 {
913 SkASSERT(desiredCombination < fNumWrappedCombos);
914
915 LocalMatrixShaderBlock::LMShaderData kIgnoredLMShaderData(SkMatrix::I());
916
917 LocalMatrixShaderBlock::BeginBlock(keyContext, builder, gatherer, kIgnoredLMShaderData);
918
919 AddToKey<PrecompileShader>(keyContext, builder, gatherer, fWrapped, desiredCombination);
920
921 builder->endBlock();
922 }
#define SkASSERT(cond)
Definition SkAssert.h:116
static const SkMatrix & I()
static void BeginBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const LMShaderData &)

◆ isConstant()

bool skgpu::graphite::PrecompileCTMShader::isConstant ( int  desiredCombination) const
inlineoverridevirtual

Reimplemented from skgpu::graphite::PrecompileShader.

Definition at line 895 of file FactoryFunctions.cpp.

895 {
896 SkASSERT(desiredCombination < fNumWrappedCombos);
897
898 auto wrapped = PrecompileBase::SelectOption(SkSpan(fWrapped), desiredCombination);
899 if (wrapped.first) {
900 return wrapped.first->isConstant(wrapped.second);
901 }
902
903 return false;
904 }
static std::pair< sk_sp< T >, int > SelectOption(SkSpan< const sk_sp< T > > options, int desiredOption)
Definition Precompile.h:99

◆ numChildCombinations()

int skgpu::graphite::PrecompileCTMShader::numChildCombinations ( ) const
inlineoverrideprivatevirtual

Reimplemented from skgpu::graphite::PrecompileBase.

Definition at line 907 of file FactoryFunctions.cpp.

907{ return fNumWrappedCombos; }

The documentation for this class was generated from the following file: