[graphite] Integrate ComputeTask with DispatchGroup

ComputeTask and CommandBuffer::addComputePass are now defined in terms
of a list of DispatchGroups. Unit tests have been updated to exercise
the ComputeStep+DispatchGroup mechanism, which is now the only way to
instantiate ComputeTasks.

Unit tests cannot create their own resources as all allocations are now
handled internally by DispatchGroup::Builder, however they can access
the resource table and shared resource slots maintained by the Builder,
enabling tests to validate resource contents.

ComputePassTask has been renamed to ComputeTask and ComputeTaskTest.cpp
is now ComputeTest.cpp.

Bug: b/238793429, b/240604614
Change-Id: I13afc7b47e0cf7e7534de6967e96de872cc1983c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/644560
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
17 files changed