Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 756e76506075a07f145e541a5345bef05b432e3f
https://github.com/WebKit/WebKit/commit/756e76506075a07f145e541a5345bef05b432e3f
Author: Pawel Lampe <[email protected]>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M Source/WebCore/bindings/js/SerializedScriptValue.cpp
M Source/WebCore/html/ImageBitmap.cpp
M Source/WebCore/html/ImageBitmap.h
M Source/WebCore/platform/graphics/ImageBuffer.cpp
M Source/WebCore/platform/graphics/ImageBuffer.h
M Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp
M Source/WebCore/workers/Worker.cpp
Log Message:
-----------
[GTK][WPE][Skia] Allow cross-thread transfer of accelerated ImageBitmap
https://bugs.webkit.org/show_bug.cgi?id=283704
Reviewed by Nikolas Zimmermann and Carlos Garcia Campos.
When using skia, transferring ownership of accelerated ImageBitmaps causes
GrDirectContext mismatches
that lead to problems with reading pixels, drawing etc. So far, to fix such
problems, accelerated
ImageBitmaps were decelerated before transferring.
This change improves the above fix and allows the transfer of accelerated
ImageBitmaps. To make such
ImageBitmaps working correctly, however, this change utilizes the code that
re-wraps ImageBuffer with
a proper GrDirectContext. To make that operation safe, the fences are used.
* Source/WebCore/bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readTransferredImageBitmap):
* Source/WebCore/html/ImageBitmap.cpp:
(WebCore::ImageBitmap::finalizeCrossThreadTransfer):
* Source/WebCore/html/ImageBitmap.h:
* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::sinkIntoImageBufferForCrossThreadTransfer):
(WebCore::ImageBuffer::sinkIntoImageBufferAfterCrossThreadTransfer):
* Source/WebCore/platform/graphics/ImageBuffer.h:
* Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::postMessage):
* Source/WebCore/workers/Worker.cpp:
(WebCore::Worker::postMessage):
Canonical link: https://commits.webkit.org/287399@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes