Refine stroke sample execution boundary

This commit is contained in:
2026-06-13 16:40:16 +02:00
parent 5b8409718d
commit 226dc95703
3 changed files with 106 additions and 25 deletions

View File

@@ -1031,6 +1031,36 @@ template <typename ExecuteSample, typename BeginFace, typename PrepareDirtyReque
});
}
template <std::size_t BindingCount>
[[nodiscard]] inline LegacyStrokeSampleExecutionResult execute_legacy_canvas_stroke_face_sample_polygon(
const LegacyStrokeFaceSamplePolygonExecutionRequest& request,
const std::array<LegacyCanvasStrokeTextureBinding, BindingCount>& destination_texture_bindings,
const LegacyCanvasStrokeTextureInputDispatch& destination_texture_dispatch)
{
return execute_legacy_canvas_stroke_face_sample_polygon(
LegacyStrokeFaceSamplePolygonExecutionRequest {
.context = request.context,
.target_size = request.target_size,
.polygon_vertices = request.polygon_vertices,
.face_index = request.face_index,
.copy_stroke_destination = request.copy_stroke_destination,
.bind_destination_texture = [&](int) {
bind_legacy_canvas_stroke_texture_inputs(
destination_texture_bindings,
destination_texture_dispatch);
},
.copy_framebuffer_to_destination_texture =
request.copy_framebuffer_to_destination_texture,
.unbind_destination_texture = [&](int) {
unbind_legacy_canvas_stroke_texture_inputs(
destination_texture_bindings,
destination_texture_dispatch);
},
.upload_brush_vertices = request.upload_brush_vertices,
.draw_brush_shape = request.draw_brush_shape,
});
}
[[nodiscard]] inline LegacyCanvasStrokeMixPassResult execute_legacy_canvas_stroke_mix_pass(
const LegacyCanvasStrokeMixPassRequest& request)
{