⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 270599 in webkit


Ignore:
Timestamp:
Dec 9, 2020, 1:38:56 PM (6 years ago)
Author:
Wenson Hsieh
Message:

Some WebGL tests crash in WebKit::RemoteRenderingBackendProxy::willAppendItem(WebCore::RenderingResourceIdentifier)
https://bugs.webkit.org/show_bug.cgi?id=219700

Reviewed by Tim Horton.

Fixes these assertions by resetting the identifier of the "most recently appended" image buffer
(m_currentDestinationImageBufferIdentifier) when the image buffer is released in the rendering
backend. We keep track of this so that we can append MetaCommandChangeDestinationImageBuffer
items when painting into multiple image buffers; the code to do this in willAppendItem is
actually robust against the case where m_currentDestinationImageBufferIdentifier is unknown,
but still debug asserts.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::releaseRemoteResource):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r270593 r270599  
     12020-12-09  Wenson Hsieh  <wenson_hsieh@apple.com>
     2
     3        Some WebGL tests crash in WebKit::RemoteRenderingBackendProxy::willAppendItem(WebCore::RenderingResourceIdentifier)
     4        https://bugs.webkit.org/show_bug.cgi?id=219700
     5
     6        Reviewed by Tim Horton.
     7
     8        Fixes these assertions by resetting the identifier of the "most recently appended" image buffer
     9        (m_currentDestinationImageBufferIdentifier) when the image buffer is released in the rendering
     10        backend. We keep track of this so that we can append MetaCommandChangeDestinationImageBuffer
     11        items when painting into multiple image buffers; the code to do this in willAppendItem is
     12        actually robust against the case where m_currentDestinationImageBufferIdentifier is unknown,
     13        but still debug asserts.
     14
     15        * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
     16        (WebKit::RemoteRenderingBackendProxy::releaseRemoteResource):
     17
    1182020-12-09  Alex Christensen  <achristensen@webkit.org>
    219
  • trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp

    r270564 r270599  
    157157void RemoteRenderingBackendProxy::releaseRemoteResource(RenderingResourceIdentifier renderingResourceIdentifier)
    158158{
     159    if (renderingResourceIdentifier == m_currentDestinationImageBufferIdentifier)
     160        m_currentDestinationImageBufferIdentifier = WTF::nullopt;
     161
    159162    send(Messages::RemoteRenderingBackend::ReleaseRemoteResource(renderingResourceIdentifier), m_renderingBackendIdentifier);
    160163}
Note: See TracChangeset for help on using the changeset viewer.