Bug 273316
| Summary: | [GTK][WPE][Skia] Disable accelerated ImageBitmap support | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Miguel Gomez <magomez> |
| Component: | WebKitGTK | Assignee: | Miguel Gomez <magomez> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bugs-noreply |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Miguel Gomez
ImageBitmap is backed by an ImageBuffer whose implementation can be accelerated or not. In order to create the accelerated ImageBuffer for this, we need to make the skiaGLContext current. But ImageBitmaps can be created in worker threads, which requires making the skiaGLContext current in that thread, when it's intended to be used in the main thread only. This can cause glitches or even crashes.
In order to fix this, we need to add support for having per thread skiaGLContexts, so each thread has its own context and doesn't mess with the others. But this is not as urgent at this point of the migration. For the moment we're disabling the accelerated support for ImageBitmaps, which removes the problem. We will be back to this a bit later, when we add the implementation for the offscreen canvas, where per thread gl contexts are required.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Miguel Gomez
Pull request: https://github.com/WebKit/WebKit/pull/27798
EWS
Committed 278041@main (8f40df743d93): <https://commits.webkit.org/278041@main>
Reviewed commits have been landed. Closing PR #27798 and removing active labels.