690b6f3a92
There is now PipelineStage::ConvertProgram, which takes a collection of callbacks, and processes an entire program. For program objects that may need name mangling, the callbacks return the new name, which is recorded and used for future references to that object (eg uniforms & functions). The callbacks let the FP inject new elements programmatically: - Declare uniforms and get handles - Emit child functions - Invoke child processors for calls to sample() In a follow-up CL, we can add an skslc `.rte -> .sksl` mode, where the callbacks just emit the description() of the relevant element. We can also follow the same pattern to emit declarations of types (structs, enums), and global variables. Change-Id: I81df68a2f41bcb48f866d37af3b77ad43e880236 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/367058 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: John Stiles <johnstiles@google.com> |
||
---|---|---|
.. | ||
FuzzAndroidCodec.cpp | ||
FuzzAnimatedImage.cpp | ||
FuzzAPICreateDDL.cpp | ||
FuzzAPIImageFilter.cpp | ||
FuzzAPISVGCanvas.cpp | ||
FuzzDrawFunctions.cpp | ||
FuzzGradients.cpp | ||
FuzzImage.cpp | ||
FuzzImageFilterDeserialize.cpp | ||
FuzzIncrementalImage.cpp | ||
FuzzJPEGEncoder.cpp | ||
FuzzJSON.cpp | ||
FuzzMockGPUCanvas.cpp | ||
FuzzNullCanvas.cpp | ||
FuzzPathDeserialize.cpp | ||
FuzzPathMeasure.cpp | ||
FuzzPathop.cpp | ||
FuzzPNGEncoder.cpp | ||
FuzzPolyUtils.cpp | ||
FuzzRasterN32Canvas.cpp | ||
FuzzRegionDeserialize.cpp | ||
FuzzRegionSetPath.cpp | ||
FuzzSkDescriptorDeserialize.cpp | ||
FuzzSKP.cpp | ||
FuzzSkParagraph.cpp | ||
FuzzSkRuntimeEffect.cpp | ||
FuzzSKSL2GLSL.cpp | ||
FuzzSKSL2Metal.cpp | ||
FuzzSKSL2Pipeline.cpp | ||
FuzzSKSL2SPIRV.cpp | ||
FuzzSVG.cpp | ||
FuzzTextBlobDeserialize.cpp | ||
FuzzWEBPEncoder.cpp |