graphite: Do not call virtual setBackendLabel in Resource constructor

Calling setLabel in Resource constructor calls virtual setBackendLabel
which is a no-op in the base class. So the backend label never gets set
until the next call to setLabel which usually happens only on resource
reuse. Fix this by removing the call to setLabel in Resource constructor
and instead exposing an updateBackendLabel method that subclasses are
expected to call if they care about backend labels.

Small change in behavior: we now set a default backend label based on
resource type if the caller provided label is empty. Also, the resource
types for GraphicsPipeline and ComputePipeline don't have an extra space
to match other resource types.

Bug: b/308986480
Change-Id: I122b855d23b81383c4c8424b8e7792cc25d6682e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/852616
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
37 files changed