Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 3df1079

Browse files
author
jonahwilliams
committed
[Impeller] make sampler use string_view instead of std::string.
1 parent 9975c85 commit 3df1079

File tree

5 files changed

+9
-8
lines changed

5 files changed

+9
-8
lines changed

impeller/core/sampler_descriptor.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,17 @@
44

55
#include "impeller/core/sampler_descriptor.h"
66

7-
#include "fml/logging.h"
8-
97
namespace impeller {
108

119
SamplerDescriptor::SamplerDescriptor() = default;
1210

13-
SamplerDescriptor::SamplerDescriptor(std::string label,
11+
SamplerDescriptor::SamplerDescriptor(std::string_view label,
1412
MinMagFilter min_filter,
1513
MinMagFilter mag_filter,
1614
MipFilter mip_filter)
1715
: min_filter(min_filter),
1816
mag_filter(mag_filter),
1917
mip_filter(mip_filter),
20-
label(std::move(label)) {}
18+
label(label) {}
2119

2220
} // namespace impeller

impeller/core/sampler_descriptor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ struct SamplerDescriptor final : public Comparable<SamplerDescriptor> {
2121
SamplerAddressMode height_address_mode = SamplerAddressMode::kClampToEdge;
2222
SamplerAddressMode depth_address_mode = SamplerAddressMode::kClampToEdge;
2323

24-
std::string label = "NN Clamp Sampler";
24+
std::string_view label = "NN Clamp Sampler";
2525

2626
SamplerDescriptor();
2727

28-
SamplerDescriptor(std::string label,
28+
SamplerDescriptor(std::string_view label,
2929
MinMagFilter min_filter,
3030
MinMagFilter mag_filter,
3131
MipFilter mip_filter);

impeller/display_list/canvas.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,7 @@ void Canvas::DrawVertices(const std::shared_ptr<VerticesGeometry>& vertices,
786786
contents->SetEffectTransform(effect_transform);
787787
contents->SetTexture(texture);
788788
contents->SetTileMode(x_tile_mode, y_tile_mode);
789+
contents->SetSamplerDescriptor(sampler_descriptor);
789790

790791
entity.SetContents(paint.WithFilters(std::move(contents)));
791792
AddRenderEntityToCurrentPass(entity);

impeller/renderer/backend/metal/sampler_library_mtl.mm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@
3434
if (@available(iOS 14.0, macos 10.12, *)) {
3535
desc.borderColor = MTLSamplerBorderColorTransparentBlack;
3636
}
37+
#ifdef IMPELLER_DEBUG
3738
if (!descriptor.label.empty()) {
38-
desc.label = @(descriptor.label.c_str());
39+
desc.label = @(descriptor.label.data());
3940
}
41+
#endif // IMPELLER_DEBUG
4042

4143
auto mtl_sampler = [device_ newSamplerStateWithDescriptor:desc];
4244
if (!mtl_sampler) {

impeller/renderer/backend/vulkan/sampler_vk.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ static vk::UniqueSampler CreateSampler(
9292
}
9393

9494
if (!desc.label.empty()) {
95-
ContextVK::SetDebugName(device, sampler.value.get(), desc.label.c_str());
95+
ContextVK::SetDebugName(device, sampler.value.get(), desc.label.data());
9696
}
9797

9898
return std::move(sampler.value);

0 commit comments

Comments
 (0)