[Graphite] Add explicit root nodes struct ↗
摘要待补:For the implementation of drawMesh, we would like to add another optional root shader node for SkMeshSpecification shaders, however this introduces some ambiguity in the root nodes layout since this would be an optional node coming after the clip shader which is also optional. We could check if the 3rd node shader snippet is a mesh shader, or assume 4 root nodes means all nodes exist; however this seems brittle to be relying on consistent indices of the nodes and checks like this, so instead I made a struct which tracks the root nodes explicitly. This is done by inserting headers with a value < 0 specifying the type of root node to the PaintParamsKey data before every root node which is appended. Then when constructing the ShaderNode tree, root nodes are expected to be preceded by a header which defines the type of root node it is. Bug: b/238758222 Change-Id: Ic8f1fbf3e7cb23ef307d7537a6acbf1739993088 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1300900 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Nathan Sanchez <nathanasanchez@google.com>