Bug 278938

Summary: Canvas Context DrawImage() fails with tall videos on some CPU/GPUs
Product: WebKit Reporter: Michael Diehr <mdiehr>
Component: CanvasAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: kkinnunen, sabouhallawa, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 17   
Hardware: All   
OS: macOS 14   

Michael Diehr
Reported 2024-08-30 12:12:27 PDT
This seems like a long-standing issue, I first reported it back under Safari 15 under macOS Monterey 12 and Feedback Assistant case FB FB10024126 It persists in Safari 17 and macOS 14, as well as Safari Technology Preview (202). Some videos fail to draw anything when Canvas Context DrawImage(video) is called. Seems to affect particularly videos that are taller than wide, and may often happen more often with videos from LivePhotos. Steps to reproduce: Open this web page and click the play button: https://xochi.com/xojo/canvas/index.html
Attachments
Michael Diehr
Comment 1 2024-08-30 13:52:18 PDT
Regression testing reveals some complexity to the issue, as behavior differs depending on the GPU and OS in use, affecting mostly Intel MacBook Pros with both AMD, Intel, and NVIDIA GPUs. Details: Bug? OS Safari GPU ------------------------------------------------ Yes* Intel 10.14 14.1 Intel HD Graphics 4000 No Intel 10.14 14.1 GeForce GT 650M Yes Intel 10.15 15.6 Intel HD Graphics 4000 Yes Intel 10.15 15.6 GeForce GT 650M Yes Intel 12.4 15.5 Radeon Pro Vega 20 Yes Intel 14.6.1 17.6 Radeon Pro Vega 20 Yes Intel 14.6.1 P202 Radeon Pro Vega 20 Yes Intel 14.6.1 17.6 Intel UHD 630 No M1 12.6 16.0 M1 No M1 12.7.6 17.6 M1 No M1 13.6.1 17.1 M1 No M1 13.6.9 17.6 M1 No M1 15.1 18.1 M1 Notes: P202 = Safari Technical Preview build 202 Yes* = On this machine, the bug is reversed. when using the iGPU: video fails to play, but the canvas screenshots do work. With the dGPU in use, it behaves normally.
Alexey Proskuryakov
Comment 2 2024-08-30 18:10:25 PDT
Thank you, relating to your Feedback Assistant report, and adding some experts. rdar://93708285
Kimmo Kinnunen
Comment 3 2024-09-02 05:15:15 PDT
I can repro on iMac1,1. Likely on intel we get some sort of CVPixelBuffer that we don't treat correctly with GPUP due to it having multiple code paths. Need to investigate.
Note You need to log in before you can comment on or make changes to this bug.