[graphite] Encapsulate various RenderStep constructors better

Originally when we allowed RendererProvider to pass in the depth/stencil
settings to specific RenderStep variations, there was no render step ID
and no Flags that also needed to be kept in sync.

Now there are too many parameters that have to be adjusted together to
match the specific variant. Exposing static factories for the explicitly
supported options (vs. arbitrary settings) makes it possible for them to
set the ID, flags, and depth/stencil settings directly without leaking
the constraints up to RendererProvider.

Bug: 500416105
Change-Id: Iee935219b0d5a9f0151b83f5eab78adb8daee874
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1378976
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
5 files changed