[Impeller] make sampler use string_view instead of std::string. (#56821)

I believe these are always const strings anyway, so remove the copy associated with using std::string.
diff --git a/impeller/core/sampler_descriptor.cc b/impeller/core/sampler_descriptor.cc
index 9e990898..5f668bb 100644
--- a/impeller/core/sampler_descriptor.cc
+++ b/impeller/core/sampler_descriptor.cc
@@ -4,19 +4,17 @@
 
 #include "impeller/core/sampler_descriptor.h"
 
-#include "fml/logging.h"
-
 namespace impeller {
 
 SamplerDescriptor::SamplerDescriptor() = default;
 
-SamplerDescriptor::SamplerDescriptor(std::string label,
+SamplerDescriptor::SamplerDescriptor(std::string_view label,
                                      MinMagFilter min_filter,
                                      MinMagFilter mag_filter,
                                      MipFilter mip_filter)
     : min_filter(min_filter),
       mag_filter(mag_filter),
       mip_filter(mip_filter),
-      label(std::move(label)) {}
+      label(label) {}
 
 }  // namespace impeller
diff --git a/impeller/core/sampler_descriptor.h b/impeller/core/sampler_descriptor.h
index 0e92745..31e91c1 100644
--- a/impeller/core/sampler_descriptor.h
+++ b/impeller/core/sampler_descriptor.h
@@ -21,11 +21,11 @@
   SamplerAddressMode height_address_mode = SamplerAddressMode::kClampToEdge;
   SamplerAddressMode depth_address_mode = SamplerAddressMode::kClampToEdge;
 
-  std::string label = "NN Clamp Sampler";
+  std::string_view label = "NN Clamp Sampler";
 
   SamplerDescriptor();
 
-  SamplerDescriptor(std::string label,
+  SamplerDescriptor(std::string_view label,
                     MinMagFilter min_filter,
                     MinMagFilter mag_filter,
                     MipFilter mip_filter);
diff --git a/impeller/display_list/canvas.cc b/impeller/display_list/canvas.cc
index 4e5a4dc..08264d3 100644
--- a/impeller/display_list/canvas.cc
+++ b/impeller/display_list/canvas.cc
@@ -782,6 +782,7 @@
     contents->SetEffectTransform(effect_transform);
     contents->SetTexture(texture);
     contents->SetTileMode(x_tile_mode, y_tile_mode);
+    contents->SetSamplerDescriptor(sampler_descriptor);
 
     entity.SetContents(paint.WithFilters(std::move(contents)));
     AddRenderEntityToCurrentPass(entity);
diff --git a/impeller/renderer/backend/metal/sampler_library_mtl.mm b/impeller/renderer/backend/metal/sampler_library_mtl.mm
index 0f24029..7253833 100644
--- a/impeller/renderer/backend/metal/sampler_library_mtl.mm
+++ b/impeller/renderer/backend/metal/sampler_library_mtl.mm
@@ -34,9 +34,11 @@
   if (@available(iOS 14.0, macos 10.12, *)) {
     desc.borderColor = MTLSamplerBorderColorTransparentBlack;
   }
+#ifdef IMPELLER_DEBUG
   if (!descriptor.label.empty()) {
-    desc.label = @(descriptor.label.c_str());
+    desc.label = @(descriptor.label.data());
   }
+#endif  // IMPELLER_DEBUG
 
   auto mtl_sampler = [device_ newSamplerStateWithDescriptor:desc];
   if (!mtl_sampler) {
diff --git a/impeller/renderer/backend/vulkan/sampler_vk.cc b/impeller/renderer/backend/vulkan/sampler_vk.cc
index 836f9bd..8a1eacc 100644
--- a/impeller/renderer/backend/vulkan/sampler_vk.cc
+++ b/impeller/renderer/backend/vulkan/sampler_vk.cc
@@ -92,7 +92,7 @@
   }
 
   if (!desc.label.empty()) {
-    ContextVK::SetDebugName(device, sampler.value.get(), desc.label.c_str());
+    ContextVK::SetDebugName(device, sampler.value.get(), desc.label.data());
   }
 
   return std::move(sampler.value);