mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
canvas: Add vello_cpu backend (#38282)
vello_cpu does not have any tests timeouts, because we do not need download stuff from GPU as all work happens on CPU. So performance wise it's better then classic vello at least for our usecase. There are some vello bugs, but I think we will be able to sort them out within upstream, eventually. Interestingly enough there are no new PASS like they were with classic vello. Difference with raqote can be observed here: https://github.com/sagudev/servo/actions/runs/16549241085/attempts/1#summary-46802486798 ## Known vello problems: - https://github.com/linebender/vello/issues/1119 - https://github.com/linebender/vello/issues/1056 - `/html/canvas/element/fill-and-stroke-styles/2d.gradient.interpolate.coloralpha.html` - `kurbo::Cap::Butt` is defect (only visible with big lineWidth) https://github.com/linebender/vello/issues/1063 - `/html/canvas/element/line-styles/2d.line.cross.html` - `/html/canvas/element/line-styles/2d.line.miter.acute.html` - other lack of strong correct problems (https://github.com/linebender/vello/issues/1063#issuecomment-2998084736): - `/html/canvas/element/path-objects/2d.path.rect.selfintersect.html` - `putImageData(getImageData(...), ...)` is lossy (precision problems, might be due to ImageData being unmultiplied) - `/html/canvas/element/pixel-manipulation/2d.imageData.put.unchanged.html` Testing: Tested using vello_cpu_canvas subsuite --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
15be75f955
commit
056b1538c0
39 changed files with 694 additions and 11 deletions
|
@ -125,6 +125,19 @@ def handle_preset(s: str) -> Optional[JobConfig]:
|
|||
unit_tests=False,
|
||||
number_of_wpt_chunks=2,
|
||||
)
|
||||
elif any(word in s for word in ["vello-cpu", "vello_cpu"]):
|
||||
return JobConfig(
|
||||
"Vello-CPU WPT",
|
||||
Workflow.LINUX,
|
||||
wpt=True,
|
||||
wpt_args=" ".join(
|
||||
[
|
||||
"--subsuite-file ./tests/wpt/vello_cpu_canvas_subsuite.json",
|
||||
"--subsuite vello_cpu_canvas",
|
||||
]
|
||||
),
|
||||
build_args="--features 'vello_cpu'",
|
||||
)
|
||||
elif any(word in s for word in ["vello"]):
|
||||
return JobConfig(
|
||||
"Vello WPT",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue