95 , fPatchAttribs(
attribs | PatchAttribs::kJoinControlPoint)
97
98
100
101
102
103
104
107
108
110
111 if (fPatchAttribs & PatchAttribs::kStrokeParams) {
114 }
115 if (fPatchAttribs & PatchAttribs::kColor) {
116 fAttribs.emplace_back("dynamicColorAttr",
117 (fPatchAttribs & PatchAttribs::kWideColorIfEnabled)
121 }
122 if (fPatchAttribs & PatchAttribs::kExplicitCurveType) {
123
124
125
127 }
128
135 }
136 SkASSERT(fAttribs.size() <= kMaxAttribCount);
137}
@ kFloat2_GrVertexAttribType
@ kUByte4_norm_GrVertexAttribType
@ kFloat_GrVertexAttribType
@ kFloat4_GrVertexAttribType
void setInstanceAttributesWithImplicitOffsets(const Attribute *attrs, int attrCount)
size_t instanceStride() const
void setVertexAttributesWithImplicitOffsets(const Attribute *attrs, int attrCount)
@ kTessellate_GrStrokeTessellationShader_ClassID
PatchAttribs attribs() const
const SkStrokeRec & stroke() const
const SkPMColor4f & color() const
const SkMatrix & viewMatrix() const
constexpr size_t PatchAttribsStride(PatchAttribs attribs)