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

Changeset 287774 in webkit


Ignore:
Timestamp:
Jan 7, 2022, 11:48:43 AM (5 years ago)
Author:
mmaxfield@apple.com
Message:

ImageBuffer with floating point logicalSize() paints into a slightly truncated destination rect
https://bugs.webkit.org/show_bug.cgi?id=225377

Reviewed by Tim Horton.

This is the rest of https://bugs.webkit.org/show_bug.cgi?id=232470.

This is also a follow-up of https://bugs.webkit.org/show_bug.cgi?id=232515.

No new tests; the behavior change is covered by
fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position.html
since Tim Horton reverted the workaround for this bug that he landed in r276945.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::createRemoteImageBuffer):

Location:
trunk/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r287770 r287774  
     12022-01-07  Myles C. Maxfield  <mmaxfield@apple.com>
     2
     3        ImageBuffer with floating point logicalSize() paints into a slightly truncated destination rect
     4        https://bugs.webkit.org/show_bug.cgi?id=225377
     5
     6        Reviewed by Tim Horton.
     7
     8        This is the rest of https://bugs.webkit.org/show_bug.cgi?id=232470.
     9
     10        This is also a follow-up of https://bugs.webkit.org/show_bug.cgi?id=232515.
     11
     12        No new tests; the behavior change is covered by
     13        fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position.html
     14        since Tim Horton reverted the workaround for this bug that he landed in r276945.
     15
     16        * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
     17        (WebKit::RemoteLayerBackingStore::drawInContext):
     18        * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
     19        (WebKit::RemoteRenderingBackendProxy::createRemoteImageBuffer):
     20
    1212022-01-07  Alex Christensen  <achristensen@webkit.org>
    222
  • trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm

    r287436 r287774  
    372372    if (!m_dirtyRegion.contains(layerBounds)) {
    373373        ASSERT(m_backBuffer.imageBuffer);
    374         context.drawImageBuffer(*m_backBuffer.imageBuffer, { {0, 0}, m_size }, { {0, 0}, m_size }, { WebCore::CompositeOperator::Copy });
     374        context.drawImageBuffer(*m_backBuffer.imageBuffer, { 0, 0 }, { WebCore::CompositeOperator::Copy });
    375375    }
    376376
  • trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp

    r287673 r287774  
    129129{
    130130    auto logicalSize = imageBuffer.logicalSize();
    131     if (logicalSize.width() > 1 || logicalSize.height() > 1) {
    132         // FIXME: https://bugs.webkit.org/show_bug.cgi?id=225377 If we unconditionally use imageBuffer.logicalSize() here instead of imageBuffer.truncatedLogicalSize(),
    133         // there may be a memory regression. See https://trac.webkit.org/changeset/287358/webkit
    134         logicalSize = imageBuffer.truncatedLogicalSize();
    135     }
    136131    sendToStream(Messages::RemoteRenderingBackend::CreateImageBuffer(logicalSize, imageBuffer.renderingMode(), imageBuffer.resolutionScale(), imageBuffer.colorSpace(), imageBuffer.pixelFormat(), imageBuffer.renderingResourceIdentifier()));
    137132}
Note: See TracChangeset for help on using the changeset viewer.