Files
MapLibreParticleLab/src/mbgl/style/layers/vulkan/custom_layer_render_parameters.cpp
Vladyslav Odobesku aa90185d42 feat(android): Vulkan graphics backend support for Android custom layers (#4348)
Co-authored-by: Vladyslav Odobesku <VladyslavOdobesku@intellias.com>
Co-authored-by: Claude Opus 4 <noreply@anthropic.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-26 18:53:00 +02:00

30 lines
1.4 KiB
C++

// Include this before including custom_layer_render_parameters as custom_layer_render_parameters needs to be
// "lightweight". It shouldn't touch the full <mbgl/vulkan/renderer_backend.hpp> as it brings the whole new big
#include <mbgl/vulkan/renderer_backend.hpp>
#include <mbgl/style/layers/vulkan/custom_layer_render_parameters.hpp>
#include <mbgl/renderer/paint_parameters.hpp>
#include <mbgl/vulkan/command_encoder.hpp>
#include <mbgl/vulkan/render_pass.hpp>
#include <mbgl/vulkan/renderable_resource.hpp>
namespace mbgl {
namespace style {
namespace vulkan {
CustomLayerRenderParameters::CustomLayerRenderParameters(const mbgl::PaintParameters& paintParameters)
: mbgl::style::CustomLayerRenderParameters(paintParameters),
dispatcher(static_cast<mbgl::vulkan::RendererBackend&>(paintParameters.backend).getDispatcher()) {
device = static_cast<mbgl::vulkan::RendererBackend&>(paintParameters.backend).getDevice().get();
auto& vulkanRenderPass = static_cast<mbgl::vulkan::RenderPass&>(*paintParameters.renderPass);
commandBuffer = vulkanRenderPass.getEncoder().getCommandBuffer().get();
const auto& renderable = paintParameters.backend.getDefaultRenderable();
const auto& resource = renderable.getResource<mbgl::vulkan::RenderableResource>();
renderPass = resource.getRenderPass().get();
screenPreRotationRadiansClockwise = resource.getRotation();
}
} // namespace vulkan
} // namespace style
} // namespace mbgl