Title: [277162] trunk/Source/WebCore
Revision
277162
Author
[email protected]
Date
2021-05-07 00:44:31 -0700 (Fri, 07 May 2021)

Log Message

[GPU Process] Closing the GPU Process should clear all the back pointers from ItemBuffer to RemoteRenderingBackendProxy
https://bugs.webkit.org/show_bug.cgi?id=224744
<rdar://74592639>

Reviewed by Ryosuke Niwa.

RemoteRenderingBackendProxy::gpuProcessConnectionDidClose() clears the
the backends of all its RemoteImageBufferProxys. It also clears all the
SharedMemory which are referenced by the ItemBufferHandles.

So DisplayList::ImageBuffer::clearBackend() should clear all the
ItemBufferHandles of its DisplayList.

* platform/graphics/displaylists/DisplayListImageBuffer.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (277161 => 277162)


--- trunk/Source/WebCore/ChangeLog	2021-05-07 06:15:40 UTC (rev 277161)
+++ trunk/Source/WebCore/ChangeLog	2021-05-07 07:44:31 UTC (rev 277162)
@@ -1,3 +1,20 @@
+2021-05-07  Said Abou-Hallawa  <[email protected]>
+
+        [GPU Process] Closing the GPU Process should clear all the back pointers from ItemBuffer to RemoteRenderingBackendProxy
+        https://bugs.webkit.org/show_bug.cgi?id=224744
+        <rdar://74592639>
+
+        Reviewed by Ryosuke Niwa.
+
+        RemoteRenderingBackendProxy::gpuProcessConnectionDidClose() clears the
+        the backends of all its RemoteImageBufferProxys. It also clears all the
+        SharedMemory which are referenced by the ItemBufferHandles.
+
+        So DisplayList::ImageBuffer::clearBackend() should clear all the
+        ItemBufferHandles of its DisplayList.
+
+        * platform/graphics/displaylists/DisplayListImageBuffer.h:
+
 2021-05-06  Jean-Yves Avenard  <[email protected]>
 
         ArtworkImageLoader can call callback with null value.

Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h (277161 => 277162)


--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h	2021-05-07 06:15:40 UTC (rev 277161)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListImageBuffer.h	2021-05-07 07:44:31 UTC (rev 277162)
@@ -87,6 +87,12 @@
             m_drawingContext.replayDisplayList(BaseConcreteImageBuffer::context());
     }
 
+    void clearBackend() override
+    {
+        m_drawingContext.displayList().clear();
+        BaseConcreteImageBuffer::clearBackend();
+    }
+
 protected:
     DrawingContext m_drawingContext;
     std::unique_ptr<ItemBufferWritingClient> m_writingClient;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to