Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 61c4954ff80af23a30432e39971e8774f4485169
      
https://github.com/WebKit/WebKit/commit/61c4954ff80af23a30432e39971e8774f4485169
  Author: Matt Woodrow <[email protected]>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M Source/WebKit/GPUProcess/graphics/RemoteImageBufferGraphicsContext.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h

  Log Message:
  -----------
  RemoteImageBufferGraphicsContext::drawImageBuffer continually reallocate 
buffers.
https://bugs.webkit.org/show_bug.cgi?id=312532
<rdar://174969976>

Reviewed by Dan Glastonbury.

RemoteImageBufferGraphicsContext::drawImageBuffer uses a temporary buffer when
it detects a self-copy.

If there are many of these, it pays the cost for allocating over and over.

We should cache a single buffer to be reused, and free it if isn't used for a
while.

* Source/WebKit/GPUProcess/graphics/RemoteImageBufferGraphicsContext.cpp:
(WebKit::RemoteImageBufferGraphicsContext::drawImageBuffer):
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::workQueueUninitialize):
(WebKit::RemoteRenderingBackend::createImageBufferForSelfCopy):
(WebKit::RemoteRenderingBackend::returnImageBufferForSelfCopy):
(WebKit::RemoteRenderingBackend::cleanupImageBufferForSelfCopy):
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:

Canonical link: https://commits.webkit.org/311500@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to