Extract draw merge temporary branch helper

This commit is contained in:
2026-06-13 19:01:01 +02:00
parent 1a5d828d5c
commit d441e5e2bc
4 changed files with 136 additions and 120 deletions

View File

@@ -94,6 +94,14 @@ struct LegacyCanvasDrawMergeLayerCompositeExecution {
std::function<void()> execute_layer_blend;
};
struct LegacyCanvasDrawMergeTemporaryCompositeExecution {
std::function<void()> setup;
std::function<void()> bind_samplers;
std::function<void()> bind_textures;
std::function<void()> draw;
std::function<void()> unbind_textures;
};
struct LegacyCanvasDrawMergePlaneSetupUniforms {
LegacyCanvasDrawMergeCheckerboardUniforms checkerboard;
bool use_blend = false;
@@ -330,6 +338,16 @@ inline void execute_legacy_canvas_draw_merge_layer_composite(
}
}
inline void execute_legacy_canvas_draw_merge_temporary_composite(
const LegacyCanvasDrawMergeTemporaryCompositeExecution& execution)
{
execution.setup();
execution.bind_samplers();
execution.bind_textures();
execution.draw();
execution.unbind_textures();
}
inline void execute_legacy_canvas_draw_merge_plane_setup(
const LegacyCanvasDrawMergePlaneSetupUniforms& uniforms,
const LegacyCanvasDrawMergePlaneSetupExecution& execution)