Extract draw merge erase branch helper
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "assets/image_pixels.h"
|
||||
#include "legacy_canvas_draw_merge_services.h"
|
||||
#include "legacy_canvas_stroke_commit_services.h"
|
||||
#include "legacy_node_stroke_preview_execution_services.h"
|
||||
#include "paint_renderer/compositor.h"
|
||||
@@ -3171,6 +3172,28 @@ void canvas_blend_gate_combines_layer_and_stroke_complexity(pp::tests::Harness&
|
||||
PP_EXPECT(h, plan.value().path == StrokeCompositePath::framebuffer_fetch);
|
||||
}
|
||||
|
||||
void legacy_canvas_draw_merge_temporary_erase_helper_preserves_order(pp::tests::Harness& h)
|
||||
{
|
||||
std::vector<std::string> order;
|
||||
const auto execution = pp::panopainter::make_legacy_canvas_draw_merge_temporary_erase_composite(
|
||||
[&] { order.emplace_back("setup"); },
|
||||
[&] { order.emplace_back("bind_samplers"); },
|
||||
[&] { order.emplace_back("bind_textures"); },
|
||||
[&] { order.emplace_back("draw"); },
|
||||
[&] { order.emplace_back("unbind_textures"); });
|
||||
|
||||
pp::panopainter::execute_legacy_canvas_draw_merge_temporary_composite(execution);
|
||||
|
||||
const std::vector<std::string> expected {
|
||||
"setup",
|
||||
"bind_samplers",
|
||||
"bind_textures",
|
||||
"draw",
|
||||
"unbind_textures",
|
||||
};
|
||||
PP_EXPECT(h, order == expected);
|
||||
}
|
||||
|
||||
void plans_canvas_stroke_feedback_paths(pp::tests::Harness& h)
|
||||
{
|
||||
const Extent2D extent { .width = 32, .height = 16 };
|
||||
@@ -3531,6 +3554,9 @@ int main()
|
||||
harness.run("plans_canvas_blend_gate_from_persisted_indices", plans_canvas_blend_gate_from_persisted_indices);
|
||||
harness.run("canvas_blend_gate_preserves_legacy_fallbacks", canvas_blend_gate_preserves_legacy_fallbacks);
|
||||
harness.run("canvas_blend_gate_combines_layer_and_stroke_complexity", canvas_blend_gate_combines_layer_and_stroke_complexity);
|
||||
harness.run(
|
||||
"legacy_canvas_draw_merge_temporary_erase_helper_preserves_order",
|
||||
legacy_canvas_draw_merge_temporary_erase_helper_preserves_order);
|
||||
harness.run("plans_canvas_stroke_feedback_paths", plans_canvas_stroke_feedback_paths);
|
||||
harness.run("canvas_stroke_feedback_preserves_legacy_fallback", canvas_stroke_feedback_preserves_legacy_fallback);
|
||||
harness.run("plans_canvas_stroke_rasterization_boundary", plans_canvas_stroke_rasterization_boundary);
|
||||
|
||||
Reference in New Issue
Block a user