Bind global uniform buffers at the end of the custom layer tweaker (#3186)

This commit is contained in:
yousifd
2025-02-03 00:30:52 +03:00
committed by GitHub
parent a51d6a4be2
commit d6b6f9e5b3
6 changed files with 10 additions and 9 deletions

View File

@@ -44,7 +44,7 @@ public:
void init(Drawable&) override;
void execute(Drawable&, const PaintParameters&) override;
void execute(Drawable&, PaintParameters&) override;
protected:
void setupTextures(Drawable&, const bool);

View File

@@ -25,7 +25,7 @@ public:
void init(Drawable&) override {};
void execute(Drawable&, const PaintParameters&) override;
void execute(Drawable&, PaintParameters&) override;
protected:
std::shared_ptr<style::CustomLayerHost> host;

View File

@@ -24,7 +24,7 @@ public:
virtual void init(Drawable&) = 0;
/// Called just before rendering
virtual void execute(Drawable&, const PaintParameters&) = 0;
virtual void execute(Drawable&, PaintParameters&) = 0;
};
using DrawableTweakerPtr = std::shared_ptr<DrawableTweaker>;

View File

@@ -34,7 +34,7 @@ void DrawableAtlasesTweaker::init(gfx::Drawable& drawable) {
setupTextures(drawable, true);
}
void DrawableAtlasesTweaker::execute(gfx::Drawable& drawable, const PaintParameters& parameters) {
void DrawableAtlasesTweaker::execute(gfx::Drawable& drawable, PaintParameters& parameters) {
const bool transformed = rotationAlignment == style::AlignmentType::Map || parameters.state.getPitch() != 0;
const bool linearFilterForIcons = isText ? (parameters.state.isChanging() || transformed || !textSizeIsZoomConstant)
: (sdfIcons || parameters.state.isChanging() || iconScaled || transformed);

View File

@@ -16,7 +16,7 @@ namespace mbgl {
namespace gfx {
void DrawableCustomLayerHostTweaker::execute([[maybe_unused]] gfx::Drawable& drawable,
const mbgl::PaintParameters& paintParameters) {
mbgl::PaintParameters& paintParameters) {
// custom drawing
auto& context = paintParameters.context;
context.resetState(paintParameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
@@ -35,6 +35,7 @@ void DrawableCustomLayerHostTweaker::execute([[maybe_unused]] gfx::Drawable& dra
paintParameters.backend.getDefaultRenderable().getResource<gfx::RenderableResource>().bind();
context.setDirtyState();
context.bindGlobalUniformBuffers(*paintParameters.renderPass);
}
} // namespace gfx

View File

@@ -95,7 +95,7 @@ public:
void init(gfx::Drawable&) override {}
void execute(gfx::Drawable& drawable, const PaintParameters& parameters) override {
void execute(gfx::Drawable& drawable, PaintParameters& parameters) override {
if (!drawable.getTileID().has_value()) {
return;
}
@@ -155,7 +155,7 @@ public:
void init(gfx::Drawable&) override {}
void execute(gfx::Drawable& drawable, const PaintParameters& parameters) override {
void execute(gfx::Drawable& drawable, PaintParameters& parameters) override {
if (!drawable.getTileID().has_value()) {
return;
}
@@ -222,7 +222,7 @@ public:
void init(gfx::Drawable&) override {}
void execute(gfx::Drawable& drawable, const PaintParameters& parameters) override {
void execute(gfx::Drawable& drawable, PaintParameters& parameters) override {
if (!drawable.getTileID().has_value()) {
return;
}
@@ -272,7 +272,7 @@ public:
void init(gfx::Drawable&) override {}
void execute(gfx::Drawable& drawable, const PaintParameters& parameters) override {
void execute(gfx::Drawable& drawable, PaintParameters& parameters) override {
if (!drawable.getTileID().has_value()) {
return;
}