summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp')
-rw-r--r--src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
index 5699bc5d4a..99bdc3a8c6 100644
--- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
@@ -140,7 +140,6 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
GeometryTile& geometryTile = static_cast<GeometryTile&>(tile.tile);
optional<ImagePosition> patternPosA = geometryTile.getPattern(fillPatternValue.from);
optional<ImagePosition> patternPosB = geometryTile.getPattern(fillPatternValue.to);
- parameters.context.bindTexture(*geometryTile.iconAtlasTexture, 0, gfx::TextureFilterType::Linear);
FillExtrusionBucket& bucket = *bucket_;
draw(
@@ -160,14 +159,14 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
),
patternPosA,
patternPosB,
- FillExtrusionPatternProgram::TextureBindings{}
+ FillExtrusionPatternProgram::TextureBindings{
+ textures::u_image::Value{ *geometryTile.iconAtlasTexture->resource, gfx::TextureFilterType::Linear },
+ }
);
}
}
} else if (parameters.pass == RenderPass::Translucent) {
- parameters.context.bindTexture(renderTexture->getTexture());
-
const auto& size = parameters.staticData.backendSize;
mat4 viewportMat;
@@ -180,8 +179,8 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
const auto allUniformValues = programInstance.computeAllUniformValues(
ExtrusionTextureProgram::UniformValues{
- uniforms::u_matrix::Value( viewportMat ), uniforms::u_world::Value( size ),
- uniforms::u_image::Value( 0 ),
+ uniforms::u_matrix::Value( viewportMat ),
+ uniforms::u_world::Value( size ),
uniforms::u_opacity::Value( evaluated.get<FillExtrusionOpacity>() )
},
paintAttributeData,
@@ -207,7 +206,9 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
parameters.staticData.extrusionTextureSegments,
allUniformValues,
allAttributeBindings,
- ExtrusionTextureProgram::TextureBindings{},
+ ExtrusionTextureProgram::TextureBindings{
+ textures::u_image::Value{ *renderTexture->getTexture().resource },
+ },
getID());
}
}