Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
skgpu::graphite::PrecompileRTEffect< T > Class Template Reference
Inheritance diagram for skgpu::graphite::PrecompileRTEffect< T >:

Public Member Functions

 PrecompileRTEffect (sk_sp< SkRuntimeEffect > effect, SkSpan< const PrecompileChildOptions > childOptions)
 

Private Member Functions

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

Detailed Description

template<typename T>
class skgpu::graphite::PrecompileRTEffect< T >

Definition at line 1419 of file FactoryFunctions.cpp.

Constructor & Destructor Documentation

◆ PrecompileRTEffect()

template<typename T >
skgpu::graphite::PrecompileRTEffect< T >::PrecompileRTEffect ( sk_sp< SkRuntimeEffect effect,
SkSpan< const PrecompileChildOptions childOptions 
)
inline

Definition at line 1421 of file FactoryFunctions.cpp.

1423 : fEffect(std::move(effect)) {
1424 fChildOptions.reserve(childOptions.size());
1425 for (PrecompileChildOptions c : childOptions) {
1426 fChildOptions.push_back({ c.begin(), c.end() });
1427 }
1428 }
constexpr size_t size() const
Definition SkSpan_impl.h:95
SkSpan< const PrecompileChildPtr > PrecompileChildOptions

Member Function Documentation

◆ addToKey()

template<typename T >
void skgpu::graphite::PrecompileRTEffect< T >::addToKey ( const KeyContext keyContext,
PaintParamsKeyBuilder builder,
PipelineDataGatherer gatherer,
int  desiredCombination 
) const
inlineoverrideprivate

Definition at line 1440 of file FactoryFunctions.cpp.

1443 {
1444
1445 SkASSERT(desiredCombination < this->numCombinations());
1446
1447 SkSpan<const SkRuntimeEffect::Child> childInfo = fEffect->children();
1448
1449 RuntimeEffectBlock::BeginBlock(keyContext, builder, gatherer, { fEffect });
1450
1451 for (const std::vector<PrecompileChildPtr>& optionSet : fChildOptions) {
1452 int numOptionsInSet = num_options_in_set(optionSet);
1453
1454 if (desiredCombination < numOptionsInSet) {
1455 add_children_to_key(keyContext, builder, gatherer, desiredCombination, optionSet,
1456 childInfo);
1457 break;
1458 }
1459
1460 desiredCombination -= numOptionsInSet;
1461 }
1462
1463 builder->endBlock();
1464 }
#define SkASSERT(cond)
Definition SkAssert.h:116
SkSpan< const Child > children() const
static void BeginBlock(const KeyContext &, PaintParamsKeyBuilder *, PipelineDataGatherer *, const ShaderData &)

◆ numChildCombinations()

template<typename T >
int skgpu::graphite::PrecompileRTEffect< T >::numChildCombinations ( ) const
inlineoverrideprivate

Definition at line 1431 of file FactoryFunctions.cpp.

1431 {
1432 int numOptions = 0;
1433 for (const std::vector<PrecompileChildPtr>& optionSet : fChildOptions) {
1434 numOptions += num_options_in_set(optionSet);
1435 }
1436
1437 return numOptions ? numOptions : 1;
1438 }

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