From eaa52d07c1e14849ea77ad05eb9f4cf821bda71a Mon Sep 17 00:00:00 2001 From: Tim Sylvester Date: Tue, 8 Oct 2024 11:30:07 -0700 Subject: [PATCH] Fix line atlas (#2908) --- platform/darwin/.gitignore | 2 ++ .../renderer/layers/render_line_layer.cpp | 24 +++++++++---------- .../renderer/layers/render_line_layer.hpp | 2 -- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/platform/darwin/.gitignore b/platform/darwin/.gitignore index f4635b2c191..b2145d9302e 100644 --- a/platform/darwin/.gitignore +++ b/platform/darwin/.gitignore @@ -1,3 +1,5 @@ # Generated list files from code generation /scripts/generate-style-code.list /scripts/update-examples.list +vulkan.xcworkspace + diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp index 32a75fcb2bb..c3bec215d07 100644 --- a/src/mbgl/renderer/layers/render_line_layer.cpp +++ b/src/mbgl/renderer/layers/render_line_layer.cpp @@ -558,19 +558,17 @@ void RenderLineLayer::update(gfx::ShaderRegistry& shaders, // texture if (const auto& atlases = tile.getAtlasTextures(); atlases && atlases->icon) { - if (!iconTweaker) { - iconTweaker = std::make_shared( - atlases, - std::nullopt, - idLineImageTexture, - /*isText*/ false, - /*sdfIcons*/ true, // to force linear filter - /*rotationAlignment_*/ AlignmentType::Auto, - /*iconScaled*/ false, - /*textSizeIsZoomConstant_*/ false); - } - - builder->addTweaker(iconTweaker); + auto iconTweaker = std::make_shared( + atlases, + std::nullopt, + idLineImageTexture, + /*isText*/ false, + /*sdfIcons*/ true, // to force linear filter + /*rotationAlignment_*/ AlignmentType::Auto, + /*iconScaled*/ false, + /*textSizeIsZoomConstant_*/ false); + + builder->addTweaker(std::move(iconTweaker)); setSegments(builder, bucket); diff --git a/src/mbgl/renderer/layers/render_line_layer.hpp b/src/mbgl/renderer/layers/render_line_layer.hpp index 2948894b355..d45f3f6ee6e 100644 --- a/src/mbgl/renderer/layers/render_line_layer.hpp +++ b/src/mbgl/renderer/layers/render_line_layer.hpp @@ -92,8 +92,6 @@ class RenderLineLayer final : public RenderLayer { gfx::ShaderGroupPtr lineGradientShaderGroup; gfx::ShaderGroupPtr lineSDFShaderGroup; gfx::ShaderGroupPtr linePatternShaderGroup; - - gfx::DrawableTweakerPtr iconTweaker; #endif };