Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions impeller/core/sampler_descriptor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions impeller/core/sampler_descriptor.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ struct SamplerDescriptor final : public Comparable<SamplerDescriptor> {
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);
Expand Down
1 change: 1 addition & 0 deletions impeller/display_list/canvas.cc
Original file line number Diff line number Diff line change
Expand Up @@ -786,6 +786,7 @@ void Canvas::DrawVertices(const std::shared_ptr<VerticesGeometry>& vertices,
contents->SetEffectTransform(effect_transform);
contents->SetTexture(texture);
contents->SetTileMode(x_tile_mode, y_tile_mode);
contents->SetSamplerDescriptor(sampler_descriptor);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for whatever reason, with this change clangd highlighted that sampler_descriptor was unused, revealing this bug.


entity.SetContents(paint.WithFilters(std::move(contents)));
AddRenderEntityToCurrentPass(entity);
Expand Down
4 changes: 3 additions & 1 deletion impeller/renderer/backend/metal/sampler_library_mtl.mm
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
2 changes: 1 addition & 1 deletion impeller/renderer/backend/vulkan/sampler_vk.cc
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ static vk::UniqueSampler CreateSampler(
}

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);
Expand Down