Trim stroke pad texture dispatch

This commit is contained in:
2026-06-13 16:47:49 +02:00
parent c51f79eee3
commit 3986bd3c70
2 changed files with 20 additions and 16 deletions

View File

@@ -846,6 +846,19 @@ void Canvas::stroke_draw()
.slot = 1,
},
};
const auto make_pad_destination_texture_dispatch = [&](int face_index) {
return pp::panopainter::LegacyCanvasStrokeTextureInputDispatch {
.activate_texture_unit = [&](int texture_slot) {
set_active_texture_unit(texture_slot);
},
.bind_stroke_destination = [&] {
m_tex[face_index].bind();
},
.unbind_stroke_destination = [&] {
m_tex[face_index].unbind();
},
};
};
[[maybe_unused]] const auto pad_result = pp::panopainter::execute_legacy_canvas_stroke_pad_faces(
pp::panopainter::LegacyCanvasStrokePadExecutionRequest {
.context = "Canvas::stroke_draw",
@@ -863,14 +876,7 @@ void Canvas::stroke_draw()
.bind_destination_texture = [&](int face_index) {
pp::panopainter::bind_legacy_canvas_stroke_texture_inputs(
pad_destination_texture_binding,
pp::panopainter::LegacyCanvasStrokeTextureInputDispatch {
.activate_texture_unit = [&](int texture_slot) {
set_active_texture_unit(texture_slot);
},
.bind_stroke_destination = [&] {
m_tex[face_index].bind();
},
});
make_pad_destination_texture_dispatch(face_index));
},
.copy_framebuffer_to_destination_texture =
[&](const pp::paint_renderer::CanvasStrokeCopyRegion& copy_region) {
@@ -885,14 +891,7 @@ void Canvas::stroke_draw()
.unbind_destination_texture = [&](int face_index) {
pp::panopainter::unbind_legacy_canvas_stroke_texture_inputs(
pad_destination_texture_binding,
pp::panopainter::LegacyCanvasStrokeTextureInputDispatch {
.activate_texture_unit = [&](int texture_slot) {
set_active_texture_unit(texture_slot);
},
.unbind_stroke_destination = [&] {
m_tex[face_index].unbind();
},
});
make_pad_destination_texture_dispatch(face_index));
},
.draw_pad = [&] {
m_brush_shape.draw_fill();