This is part of a larger effort to expose the difference between GrDirectContext,
which runs on the GPU thread and can directly perform operations like uploading
textures, and GrRecordingContext, which can only queue up work to be delivered
to the GrDirectContext later.
Flow is a simple compositor based on Skia that the Flutter engine uses to cache
recoded paint commands and pixels generated from those recordings. Flow runs on
the raster thread and uploads information to Skia.