8#ifndef StrokeTessellateOp_DEFINED
9#define StrokeTessellateOp_DEFINED
39 bool shouldUseDynamicStates(
PatchAttribs neededDynamicStates)
const {
42 constexpr static int kMaxVerbsToEnableDynamicState = 50;
43 bool anyStateDisabled = (bool)(~fPatchAttribs & neededDynamicStates);
44 bool allStatesEnabled = !anyStateDisabled;
45 return allStatesEnabled || (fTotalCombinedVerbCnt <= kMaxVerbsToEnableDynamicState);
48 const char*
name()
const override {
return "StrokeTessellateOp"; }
74 int fTotalCombinedVerbCnt = 0;
#define DEFINE_OP_CLASS_ID
std::function< void(GrSurfaceProxy *, skgpu::Mipmapped)> GrVisitProxyFunc
void onPrePrepare(GrRecordingContext *, const GrSurfaceProxyView &, GrAppliedClip *, const GrDstProxyView &, GrXferBarrierFlags, GrLoadOp colorLoadOp) override
void onExecute(GrOpFlushState *, const SkRect &chainBounds) override
bool usesStencil() const override
CombineResult onCombineIfPossible(GrOp *, SkArenaAlloc *, const GrCaps &) override
const char * name() const override
void onPrepare(GrOpFlushState *) override
bool usesMSAA() const override
void visitProxies(const GrVisitProxyFunc &) const override
GrProcessorSet::Analysis finalize(const GrCaps &, const GrAppliedClip *, GrClampType) override
tess::PatchAttribs PatchAttribs