Changeset 291218 in webkit


Ignore:
Timestamp:
Mar 14, 2022 1:42:04 AM (4 months ago)
Author:
commit-queue@webkit.org
Message:

REGRESSION (iOS 15.4 beta) - WebGL yields incorrect results when using preserveDrawingBuffer on iOS 15.4 Beta
https://bugs.webkit.org/show_bug.cgi?id=237113

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-14
Reviewed by Myles C. Maxfield.

Cherry-pick without tests conflicting tests.

Cherry-pick ANGLE commit: 74f3270214394c896154e4bf9338e7d75002de61
From: Gregg Tavares <Gregg Tavares>
Date: Thu, 3 Mar 2022 13:13:34 -0800
Subject: [PATCH] Metal: Fix for mulitsampled buffers losing their contents

Fixes tst included as well as WebGL CTS

https://www.khronos.org/registry/webgl/sdk/tests/conformance2/renderbuffers/multisample-draws-between-blits.html

Both fail on M1 without this fix.

Also fixes WebKit bug https://bugs.webkit.org/show_bug.cgi?id=237113

Bug: angleproject:7073

  • src/libANGLE/renderer/metal/FrameBufferMtl.mm:

(rx::FramebufferMtl::setLoadStoreActionOnRenderPassFirstStart):

Location:
trunk/Source/ThirdParty/ANGLE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/ThirdParty/ANGLE/ChangeLog

    r291210 r291218  
     12022-03-14  Kimmo Kinnunen  <kkinnunen@apple.com>
     2
     3        REGRESSION (iOS 15.4 beta) - WebGL yields incorrect results when using preserveDrawingBuffer on iOS 15.4 Beta
     4        https://bugs.webkit.org/show_bug.cgi?id=237113
     5
     6        Reviewed by Myles C. Maxfield.
     7
     8        Cherry-pick without tests conflicting tests.
     9
     10        Cherry-pick ANGLE commit: 74f3270214394c896154e4bf9338e7d75002de61
     11        From: Gregg Tavares <gman@chromium.org>
     12        Date: Thu, 3 Mar 2022 13:13:34 -0800
     13        Subject: [PATCH] Metal: Fix for mulitsampled buffers losing their contents
     14
     15        Fixes tst included as well as WebGL CTS
     16
     17        https://www.khronos.org/registry/webgl/sdk/tests/conformance2/renderbuffers/multisample-draws-between-blits.html
     18
     19        Both fail on M1 without this fix.
     20
     21        Also fixes WebKit bug https://bugs.webkit.org/show_bug.cgi?id=237113
     22
     23        Bug: angleproject:7073
     24
     25        * src/libANGLE/renderer/metal/FrameBufferMtl.mm:
     26        (rx::FramebufferMtl::setLoadStoreActionOnRenderPassFirstStart):
     27
    1282022-03-12  Tim Horton  <timothy_horton@apple.com>
    229
  • trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/FrameBufferMtl.mm

    r290479 r291218  
    822822    if (attachment.hasImplicitMSTexture())
    823823    {
    824         if (mBackbuffer)
    825         {
    826             // Default action for default framebuffer is resolve and keep MS texture's content.
    827             // We only discard MS texture's content at the end of the frame. See onFrameEnd().
    828             attachment.storeAction = MTLStoreActionStoreAndMultisampleResolve;
    829         }
    830         else
    831         {
    832             // Default action is resolve but don't keep MS texture's content.
    833             attachment.storeAction = MTLStoreActionMultisampleResolve;
    834         }
     824        attachment.storeAction = MTLStoreActionStoreAndMultisampleResolve;
    835825    }
    836826    else
Note: See TracChangeset for help on using the changeset viewer.