Diff
Modified: trunk/Source/WebCore/ChangeLog (286124 => 286125)
--- trunk/Source/WebCore/ChangeLog 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebCore/ChangeLog 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,3 +1,45 @@
+2021-11-22 Wenson Hsieh <wenson_hs...@apple.com>
+
+ Remove old concurrent display list logic that's no longer necessary
+ https://bugs.webkit.org/show_bug.cgi?id=233433
+
+ Reviewed by Sam Weinig.
+
+ Now that concurrent display lists (i.e. for 2D canvas and DOM rendering in the GPU process) uses the same shared
+ IPC streaming mechanism as WebGL, we can remove the old concurrent display list processing logic around display
+ lists and the remote rendering backend in WebKit2.
+
+ No change in behavior, since this code is now all (effectively) unused.
+
+ * platform/graphics/displaylists/DisplayList.cpp:
+ (WebCore::DisplayList::DisplayList::append):
+ * platform/graphics/displaylists/DisplayListItemBuffer.cpp:
+ (WebCore::DisplayList::ItemHandle::apply):
+ (WebCore::DisplayList::ItemHandle::destroy):
+ (WebCore::DisplayList::ItemHandle::safeCopy const):
+ (WebCore::DisplayList::ItemBuffer::swapWritableBufferIfNeeded):
+
+ Additionally remove a couple of display list items that were only used for concurrent display list processing.
+ In a followup, we should remove more logic around this area pertaining to display list reader and writer
+ clients, and the display list replayer delegate.
+
+ * platform/graphics/displaylists/DisplayListItemType.cpp:
+ (WebCore::DisplayList::sizeOfItemInBytes):
+ (WebCore::DisplayList::isDrawingItem):
+ (WebCore::DisplayList::isInlineItem):
+ * platform/graphics/displaylists/DisplayListItemType.h:
+ * platform/graphics/displaylists/DisplayListItems.cpp:
+ (WebCore::DisplayList::operator<<):
+ * platform/graphics/displaylists/DisplayListItems.h:
+ (WebCore::DisplayList::MetaCommandChangeItemBuffer::MetaCommandChangeItemBuffer): Deleted.
+ (WebCore::DisplayList::MetaCommandChangeItemBuffer::identifier const): Deleted.
+ (WebCore::DisplayList::MetaCommandChangeItemBuffer::isValid const): Deleted.
+ (WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::MetaCommandChangeDestinationImageBuffer): Deleted.
+ (WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::identifier const): Deleted.
+ (WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::isValid const): Deleted.
+ * platform/graphics/displaylists/DisplayListReplayer.cpp:
+ (WebCore::DisplayList::Replayer::replay):
+
2021-11-22 Myles C. Maxfield <mmaxfi...@apple.com>
[WebGPU] Use OptionSet where it makes sense to
Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayList.cpp (286124 => 286125)
--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayList.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayList.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -295,10 +295,6 @@
return append<FillEllipse>(item.get<FillEllipse>());
case ItemType::FlushContext:
return append<FlushContext>(item.get<FlushContext>());
- case ItemType::MetaCommandChangeDestinationImageBuffer:
- return append<MetaCommandChangeDestinationImageBuffer>(item.get<MetaCommandChangeDestinationImageBuffer>());
- case ItemType::MetaCommandChangeItemBuffer:
- return append<MetaCommandChangeItemBuffer>(item.get<MetaCommandChangeItemBuffer>());
case ItemType::GetPixelBuffer:
return append<GetPixelBuffer>(item.get<GetPixelBuffer>());
case ItemType::PutPixelBuffer:
Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp (286124 => 286125)
--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -191,9 +191,6 @@
case ItemType::FlushContext:
get<FlushContext>().apply(context);
return;
- case ItemType::MetaCommandChangeDestinationImageBuffer:
- case ItemType::MetaCommandChangeItemBuffer:
- return;
case ItemType::GetPixelBuffer:
case ItemType::PutPixelBuffer:
// Should already be handled by the delegate.
@@ -392,12 +389,6 @@
case ItemType::FlushContext:
static_assert(std::is_trivially_destructible<FlushContext>::value);
return;
- case ItemType::MetaCommandChangeDestinationImageBuffer:
- static_assert(std::is_trivially_destructible<MetaCommandChangeDestinationImageBuffer>::value);
- return;
- case ItemType::MetaCommandChangeItemBuffer:
- static_assert(std::is_trivially_destructible<MetaCommandChangeItemBuffer>::value);
- return;
#if ENABLE(VIDEO)
case ItemType::PaintFrameForMedia:
static_assert(std::is_trivially_destructible<PaintFrameForMedia>::value);
@@ -590,10 +581,6 @@
return copyInto<FillRect>(itemOffset, *this);
case ItemType::FlushContext:
return copyInto<FlushContext>(itemOffset, *this);
- case ItemType::MetaCommandChangeDestinationImageBuffer:
- return copyInto<MetaCommandChangeDestinationImageBuffer>(itemOffset, *this);
- case ItemType::MetaCommandChangeItemBuffer:
- return copyInto<MetaCommandChangeItemBuffer>(itemOffset, *this);
#if ENABLE(VIDEO)
case ItemType::PaintFrameForMedia:
return copyInto<PaintFrameForMedia>(itemOffset, *this);
@@ -725,14 +712,12 @@
DidChangeItemBuffer ItemBuffer::swapWritableBufferIfNeeded(size_t numberOfBytes)
{
- auto sizeForBufferSwitchItem = paddedSizeOfTypeAndItemInBytes(ItemType::MetaCommandChangeItemBuffer);
- if (m_writtenNumberOfBytes + numberOfBytes + sizeForBufferSwitchItem <= m_writableBuffer.capacity)
+ if (m_writtenNumberOfBytes + numberOfBytes <= m_writableBuffer.capacity)
return DidChangeItemBuffer::No;
- auto nextBuffer = createItemBuffer(numberOfBytes + sizeForBufferSwitchItem);
+ auto nextBuffer = createItemBuffer(numberOfBytes);
bool hadPreviousBuffer = m_writableBuffer && m_writableBuffer.identifier != nextBuffer.identifier;
if (hadPreviousBuffer) {
- uncheckedAppend<MetaCommandChangeItemBuffer>(DidChangeItemBuffer::No, nextBuffer.identifier);
m_writableBuffer.capacity = m_writtenNumberOfBytes;
m_readOnlyBuffers.append(m_writableBuffer);
}
Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp (286124 => 286125)
--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -132,10 +132,6 @@
return sizeof(FillEllipse);
case ItemType::FlushContext:
return sizeof(FlushContext);
- case ItemType::MetaCommandChangeDestinationImageBuffer:
- return sizeof(MetaCommandChangeDestinationImageBuffer);
- case ItemType::MetaCommandChangeItemBuffer:
- return sizeof(MetaCommandChangeItemBuffer);
case ItemType::GetPixelBuffer:
return sizeof(GetPixelBuffer);
case ItemType::PutPixelBuffer:
@@ -200,8 +196,6 @@
case ItemType::EndClipToDrawingCommands:
case ItemType::ConcatenateCTM:
case ItemType::FlushContext:
- case ItemType::MetaCommandChangeDestinationImageBuffer:
- case ItemType::MetaCommandChangeItemBuffer:
case ItemType::Restore:
case ItemType::Rotate:
case ItemType::Save:
@@ -343,8 +337,6 @@
#endif
case ItemType::FillRect:
case ItemType::FlushContext:
- case ItemType::MetaCommandChangeDestinationImageBuffer:
- case ItemType::MetaCommandChangeItemBuffer:
#if ENABLE(VIDEO)
case ItemType::PaintFrameForMedia:
#endif
Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h (286124 => 286125)
--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -79,8 +79,6 @@
FillPath,
FillEllipse,
FlushContext,
- MetaCommandChangeDestinationImageBuffer,
- MetaCommandChangeItemBuffer,
GetPixelBuffer,
PutPixelBuffer,
#if ENABLE(VIDEO)
Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp (286124 => 286125)
--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1034,18 +1034,6 @@
return ts;
}
-static TextStream& operator<<(TextStream& ts, const MetaCommandChangeItemBuffer& item)
-{
- ts.dumpProperty("identifier", item.identifier());
- return ts;
-}
-
-static TextStream& operator<<(TextStream& ts, const MetaCommandChangeDestinationImageBuffer& item)
-{
- ts.dumpProperty("identifier", item.identifier());
- return ts;
-}
-
static TextStream& operator<<(TextStream& ts, ItemType type)
{
switch (type) {
@@ -1098,8 +1086,6 @@
case ItemType::FillPath: ts << "fill-path"; break;
case ItemType::FillEllipse: ts << "fill-ellipse"; break;
case ItemType::FlushContext: ts << "flush-context"; break;
- case ItemType::MetaCommandChangeDestinationImageBuffer: ts << "meta-command-change-destination-image-buffer"; break;
- case ItemType::MetaCommandChangeItemBuffer: ts << "meta-command-change-item-buffer"; break;
case ItemType::GetPixelBuffer: ts << "get-pixel-buffer"; break;
case ItemType::PutPixelBuffer: ts << "put-pixel-buffer"; break;
#if ENABLE(VIDEO)
@@ -1269,12 +1255,6 @@
case ItemType::FlushContext:
ts << item.get<FlushContext>();
break;
- case ItemType::MetaCommandChangeDestinationImageBuffer:
- ts << item.get<MetaCommandChangeDestinationImageBuffer>();
- break;
- case ItemType::MetaCommandChangeItemBuffer:
- ts << item.get<MetaCommandChangeItemBuffer>();
- break;
case ItemType::GetPixelBuffer:
ts << item.get<GetPixelBuffer>();
break;
Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.h (286124 => 286125)
--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -2391,44 +2391,6 @@
GraphicsContextFlushIdentifier m_identifier;
};
-// FIXME: This should be refactored so that the command to "switch to the next item buffer"
-// is not itself a display list item.
-class MetaCommandChangeItemBuffer {
-public:
- static constexpr ItemType itemType = ItemType::MetaCommandChangeItemBuffer;
- static constexpr bool isInlineItem = true;
- static constexpr bool isDrawingItem = false;
-
- explicit MetaCommandChangeItemBuffer(ItemBufferIdentifier identifier)
- : m_identifier(identifier)
- {
- }
-
- ItemBufferIdentifier identifier() const { return m_identifier; }
- bool isValid() const { return m_identifier.isValid(); }
-
-private:
- ItemBufferIdentifier m_identifier;
-};
-
-class MetaCommandChangeDestinationImageBuffer {
-public:
- static constexpr ItemType itemType = ItemType::MetaCommandChangeDestinationImageBuffer;
- static constexpr bool isInlineItem = true;
- static constexpr bool isDrawingItem = false;
-
- explicit MetaCommandChangeDestinationImageBuffer(RenderingResourceIdentifier identifier)
- : m_identifier(identifier)
- {
- }
-
- RenderingResourceIdentifier identifier() const { return m_identifier; }
- bool isValid() const { return m_identifier.isValid(); }
-
-private:
- RenderingResourceIdentifier m_identifier;
-};
-
using DisplayListItem = std::variant
< ApplyDeviceScaleFactor
, BeginClipToDrawingCommands
@@ -2465,8 +2427,6 @@
, FillRoundedRect
, FlushContext
, GetPixelBuffer
- , MetaCommandChangeDestinationImageBuffer
- , MetaCommandChangeItemBuffer
, PutPixelBuffer
, Restore
, Rotate
@@ -2570,8 +2530,6 @@
WebCore::DisplayList::ItemType::FillPath,
WebCore::DisplayList::ItemType::FillEllipse,
WebCore::DisplayList::ItemType::FlushContext,
- WebCore::DisplayList::ItemType::MetaCommandChangeDestinationImageBuffer,
- WebCore::DisplayList::ItemType::MetaCommandChangeItemBuffer,
WebCore::DisplayList::ItemType::GetPixelBuffer,
WebCore::DisplayList::ItemType::PutPixelBuffer,
#if ENABLE(VIDEO)
Modified: trunk/Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp (286124 => 286125)
--- trunk/Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -225,13 +225,6 @@
LOG_WITH_STREAM(DisplayLists, stream << "applying " << i++ << " " << item);
- if (item.is<MetaCommandChangeDestinationImageBuffer>()) {
- result.numberOfBytesRead += itemSizeInBuffer;
- result.reasonForStopping = StopReplayReason::ChangeDestinationImageBuffer;
- result.nextDestinationImageBuffer = item.get<MetaCommandChangeDestinationImageBuffer>().identifier();
- break;
- }
-
if (auto [reasonForStopping, missingCachedResourceIdentifier] = applyItem(item); reasonForStopping) {
result.reasonForStopping = *reasonForStopping;
result.missingCachedResourceIdentifier = WTFMove(missingCachedResourceIdentifier);
Modified: trunk/Source/WebKit/ChangeLog (286124 => 286125)
--- trunk/Source/WebKit/ChangeLog 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/ChangeLog 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,3 +1,31 @@
+2021-11-22 Wenson Hsieh <wenson_hs...@apple.com>
+
+ Remove old concurrent display list logic that's no longer necessary
+ https://bugs.webkit.org/show_bug.cgi?id=233433
+
+ Reviewed by Sam Weinig.
+
+ See WebCore ChangeLog for more details.
+
+ * GPUProcess/graphics/DisplayListReaderHandle.cpp: Removed.
+ * GPUProcess/graphics/DisplayListReaderHandle.h: Removed.
+ * GPUProcess/graphics/RemoteRenderingBackend.h:
+ * GPUProcess/graphics/RemoteRenderingBackendState.h: Removed.
+ * GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp:
+
+ Add missing include to fix the build with unified sources.
+
+ * Shared/GPUProcessWakeupMessageArguments.h: Removed.
+ * Shared/SharedDisplayListHandle.h: Removed.
+ * Sources.txt:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/GPU/graphics/DisplayListWriterHandle.cpp: Removed.
+ * WebProcess/GPU/graphics/DisplayListWriterHandle.h: Removed.
+ * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
+ * WebProcess/Network/webrtc/LibWebRTCNetworkManager.h:
+
+ Add another missing include to fix the build with unified sources.
+
2021-11-22 Fujii Hironori <hironori.fu...@sony.com>
[MSVC] IPC\DaemonConnection.h(80): warning C4661: 'void WebKit::Daemon::ConnectionToMachService<WebKit::PCM::ConnectionTraits>::initializeConnectionIfNeeded(void) const': no suitable definition provided for explicit template instantiation request
Deleted: trunk/Source/WebKit/GPUProcess/graphics/DisplayListReaderHandle.cpp (286124 => 286125)
--- trunk/Source/WebKit/GPUProcess/graphics/DisplayListReaderHandle.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/GPUProcess/graphics/DisplayListReaderHandle.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DisplayListReaderHandle.h"
-
-#include <wtf/CheckedArithmetic.h>
-
-namespace WebKit {
-using namespace WebCore;
-
-std::optional<size_t> DisplayListReaderHandle::advance(size_t amount)
-{
- auto previousUnreadBytes = header().unreadBytes.exchangeSub(amount);
- if (UNLIKELY(previousUnreadBytes < amount))
- return std::nullopt;
- return previousUnreadBytes - amount;
-}
-
-std::unique_ptr<DisplayList::DisplayList> DisplayListReaderHandle::displayListForReading(size_t offset, size_t capacity, DisplayList::ItemBufferReadingClient& client) const
-{
- auto checkedExtent = checkedSum<size_t>(offset, capacity);
- if (UNLIKELY(checkedExtent.hasOverflowed() || checkedExtent > sharedMemory().size()))
- return nullptr;
-
- auto displayList = makeUnique<DisplayList::DisplayList>(DisplayList::ItemBufferHandles {{ identifier(), data() + offset, capacity }});
- displayList->setItemBufferReadingClient(&client);
- return displayList;
-}
-
-} // namespace WebKit
Deleted: trunk/Source/WebKit/GPUProcess/graphics/DisplayListReaderHandle.h (286124 => 286125)
--- trunk/Source/WebKit/GPUProcess/graphics/DisplayListReaderHandle.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/GPUProcess/graphics/DisplayListReaderHandle.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "SharedDisplayListHandle.h"
-#include <wtf/Expected.h>
-#include <wtf/FastMalloc.h>
-
-namespace WebKit {
-
-class DisplayListReaderHandle : public SharedDisplayListHandle {
- WTF_MAKE_NONCOPYABLE(DisplayListReaderHandle); WTF_MAKE_FAST_ALLOCATED;
-public:
- static RefPtr<DisplayListReaderHandle> create(WebCore::DisplayList::ItemBufferIdentifier identifier, Ref<SharedMemory>&& sharedMemory)
- {
- if (sharedMemory->size() <= headerSize())
- return nullptr;
- return adoptRef(new DisplayListReaderHandle(identifier, WTFMove(sharedMemory)));
- }
-
- std::optional<size_t> advance(size_t amount);
- std::unique_ptr<WebCore::DisplayList::DisplayList> displayListForReading(size_t offset, size_t capacity, WebCore::DisplayList::ItemBufferReadingClient&) const;
-
- void startWaiting()
- {
- header().waitingStatus.store(static_cast<SharedDisplayListHandle::WaitingStatusStorageType>(SharedDisplayListHandle::WaitingStatus::Waiting));
- }
-
- enum class StopWaitingFailureReason : uint8_t { InvalidWaitingStatus };
- Expected<std::optional<SharedDisplayListHandle::ResumeReadingInformation>, StopWaitingFailureReason> stopWaiting()
- {
- auto& header = this->header();
- auto previousStatus = header.waitingStatus.exchange(static_cast<SharedDisplayListHandle::WaitingStatusStorageType>(SharedDisplayListHandle::WaitingStatus::NotWaiting));
- if (!isValidEnum<SharedDisplayListHandle::WaitingStatus>(previousStatus))
- return makeUnexpected(StopWaitingFailureReason::InvalidWaitingStatus);
-
- if (static_cast<SharedDisplayListHandle::WaitingStatus>(previousStatus) == SharedDisplayListHandle::WaitingStatus::Resuming)
- return { header.resumeReadingInfo };
-
- return { std::nullopt };
- }
-
-private:
- DisplayListReaderHandle(WebCore::DisplayList::ItemBufferIdentifier identifier, Ref<SharedMemory>&& sharedMemory)
- : SharedDisplayListHandle(identifier, WTFMove(sharedMemory))
- {
- }
-};
-
-} // namespace WebKit
Modified: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h (286124 => 286125)
--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -34,7 +34,6 @@
#include "MessageSender.h"
#include "QualifiedRenderingResourceIdentifier.h"
#include "RemoteDisplayListRecorder.h"
-#include "RemoteRenderingBackendState.h"
#include "RemoteResourceCache.h"
#include "RenderingBackendIdentifier.h"
#include "RenderingUpdateID.h"
Deleted: trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendState.h (286124 => 286125)
--- trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendState.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendState.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2021 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-namespace WebKit {
-
-enum class RemoteRenderingBackendState : uint8_t {
- Initialized,
- BeganReplayingDisplayList,
- FinishedReplayingDisplayList,
- WaitingForCachedResource,
- WaitingForItemBuffer,
- WaitingForDestinationImageBuffer,
-};
-
-ALWAYS_INLINE const char* name(RemoteRenderingBackendState state)
-{
- switch (state) {
- case RemoteRenderingBackendState::Initialized:
- return "Initialized";
- case RemoteRenderingBackendState::BeganReplayingDisplayList:
- return "BeganReplayingDisplayList";
- case RemoteRenderingBackendState::FinishedReplayingDisplayList:
- return "FinishedReplayingDisplayList";
- case RemoteRenderingBackendState::WaitingForCachedResource:
- return "WaitingForCachedResource";
- case RemoteRenderingBackendState::WaitingForItemBuffer:
- return "WaitingForItemBuffer";
- case RemoteRenderingBackendState::WaitingForDestinationImageBuffer:
- return "WaitingForDestinationImageBuffer";
- }
- ASSERT_NOT_REACHED();
- return "Invalid";
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(GPU_PROCESS)
Modified: trunk/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp (286124 => 286125)
--- trunk/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/GPUProcess/graphics/WebGPU/RemoteRenderBundleEncoder.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -31,6 +31,7 @@
#include "RemoteRenderBundle.h"
#include "WebGPUObjectHeap.h"
#include "WebGPUObjectRegistry.h"
+#include <pal/graphics/WebGPU/WebGPURenderBundle.h>
#include <pal/graphics/WebGPU/WebGPURenderBundleEncoder.h>
namespace WebKit {
Deleted: trunk/Source/WebKit/Shared/GPUProcessWakeupMessageArguments.h (286124 => 286125)
--- trunk/Source/WebKit/Shared/GPUProcessWakeupMessageArguments.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/Shared/GPUProcessWakeupMessageArguments.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include <WebCore/DisplayList.h>
-#include <WebCore/RenderingResourceIdentifier.h>
-
-namespace WebKit {
-
-enum class GPUProcessWakeupReason : uint8_t {
- Unspecified,
- ItemCountHysteresisExceeded
-};
-
-struct GPUProcessWakeupMessageArguments {
- WebCore::DisplayList::ItemBufferIdentifier itemBufferIdentifier;
- uint64_t offset { 0 };
- WebCore::RenderingResourceIdentifier destinationImageBufferIdentifier;
- GPUProcessWakeupReason reason { GPUProcessWakeupReason::Unspecified };
-
- template<class Encoder> void encode(Encoder&) const;
- template<class Decoder> static std::optional<GPUProcessWakeupMessageArguments> decode(Decoder&);
-};
-
-template<class Encoder>
-void GPUProcessWakeupMessageArguments::encode(Encoder& encoder) const
-{
- encoder << itemBufferIdentifier;
- encoder << offset;
- encoder << destinationImageBufferIdentifier;
- encoder << reason;
-}
-
-template<class Decoder>
-std::optional<GPUProcessWakeupMessageArguments> GPUProcessWakeupMessageArguments::decode(Decoder& decoder)
-{
- std::optional<WebCore::DisplayList::ItemBufferIdentifier> itemBufferIdentifier;
- decoder >> itemBufferIdentifier;
- if (!itemBufferIdentifier)
- return std::nullopt;
-
- std::optional<uint64_t> offset;
- decoder >> offset;
- if (!offset)
- return std::nullopt;
-
- std::optional<WebCore::RenderingResourceIdentifier> destinationImageBufferIdentifier;
- decoder >> destinationImageBufferIdentifier;
- if (!destinationImageBufferIdentifier)
- return std::nullopt;
-
- std::optional<GPUProcessWakeupReason> reason;
- decoder >> reason;
- if (!reason)
- return std::nullopt;
-
- return {{ *itemBufferIdentifier, *offset, *destinationImageBufferIdentifier, *reason }};
-}
-
-} // namespace WebKit
-
-namespace WTF {
-
-template<> struct EnumTraits<WebKit::GPUProcessWakeupReason> {
- using values = EnumValues<
- WebKit::GPUProcessWakeupReason,
- WebKit::GPUProcessWakeupReason::Unspecified,
- WebKit::GPUProcessWakeupReason::ItemCountHysteresisExceeded
- >;
-};
-
-} // namespace WTF
-
-#endif // ENABLE(GPU_PROCESS)
Deleted: trunk/Source/WebKit/Shared/SharedDisplayListHandle.h (286124 => 286125)
--- trunk/Source/WebKit/Shared/SharedDisplayListHandle.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/Shared/SharedDisplayListHandle.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "SharedMemory.h"
-#include <WebCore/DisplayList.h>
-#include <wtf/Atomics.h>
-#include <wtf/EnumTraits.h>
-#include <wtf/RefCounted.h>
-#include <wtf/Threading.h>
-
-namespace WebKit {
-
-// This is a skeleton only used by the DisplayListWriterHandle & DisplayListReaderHandle subclasses.
-class SharedDisplayListHandle : public RefCounted<SharedDisplayListHandle> {
-public:
- virtual ~SharedDisplayListHandle() = default;
-
- static constexpr size_t headerSize()
- {
- return roundUpToMultipleOf<alignof(std::max_align_t)>(sizeof(DisplayListSharedMemoryHeader));
- }
-
- SharedMemory& sharedMemory() { return m_sharedMemory.get(); }
- const SharedMemory& sharedMemory() const { return m_sharedMemory.get(); }
-
- WebCore::DisplayList::ItemBufferIdentifier identifier() const { return m_identifier; }
- uint8_t* data() const { return static_cast<uint8_t*>(sharedMemory().data()); }
-
- uint64_t unreadBytes()
- {
- return header().unreadBytes.load();
- }
-
- enum class WaitingStatus : uint8_t {
- NotWaiting,
- Waiting,
- Resuming
- };
- using WaitingStatusStorageType = std::underlying_type_t<WaitingStatus>;
-
- struct ResumeReadingInformation {
- uint64_t offset;
- uint64_t destination;
- };
-
-protected:
- SharedDisplayListHandle(WebCore::DisplayList::ItemBufferIdentifier identifier, Ref<SharedMemory>&& sharedMemory)
- : m_identifier(identifier)
- , m_sharedMemory(WTFMove(sharedMemory))
- {
- }
-
- struct DisplayListSharedMemoryHeader {
- DisplayListSharedMemoryHeader() = delete;
- ~DisplayListSharedMemoryHeader() = delete;
-
- Atomic<uint64_t> unreadBytes;
- ResumeReadingInformation resumeReadingInfo;
- Atomic<WaitingStatusStorageType> waitingStatus;
- };
-
- const DisplayListSharedMemoryHeader& header() const { return *reinterpret_cast<const DisplayListSharedMemoryHeader*>(data()); }
- DisplayListSharedMemoryHeader& header() { return *reinterpret_cast<DisplayListSharedMemoryHeader*>(data()); }
-
-private:
- WebCore::DisplayList::ItemBufferIdentifier m_identifier;
- Ref<SharedMemory> m_sharedMemory;
-};
-
-} // namespace WebKit
-
-namespace WTF {
-
-template<> struct EnumTraits<WebKit::SharedDisplayListHandle::WaitingStatus> {
- using values = EnumValues<
- WebKit::SharedDisplayListHandle::WaitingStatus,
- WebKit::SharedDisplayListHandle::WaitingStatus::NotWaiting,
- WebKit::SharedDisplayListHandle::WaitingStatus::Waiting,
- WebKit::SharedDisplayListHandle::WaitingStatus::Resuming
- >;
-};
-
-} // namespace WTF
Modified: trunk/Source/WebKit/Sources.txt (286124 => 286125)
--- trunk/Source/WebKit/Sources.txt 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/Sources.txt 2021-11-23 02:24:59 UTC (rev 286125)
@@ -24,7 +24,6 @@
GPUProcess/GPUProcess.cpp
GPUProcess/GPUConnectionToWebProcess.cpp
GPUProcess/GPUProcessCreationParameters.cpp
-GPUProcess/graphics/DisplayListReaderHandle.cpp
GPUProcess/graphics/RemoteDisplayListRecorder.cpp
GPUProcess/graphics/RemoteRenderingBackend.cpp
GPUProcess/graphics/RemoteGraphicsContextGL.cpp
@@ -706,7 +705,6 @@
WebProcess/GPU/graphics/WebGPU/RemoteTextureProxy.cpp
WebProcess/GPU/graphics/WebGPU/RemoteTextureViewProxy.cpp
WebProcess/GPU/graphics/WebGPU/WebGPUDowncastConvertToBackingContext.cpp
-WebProcess/GPU/graphics/DisplayListWriterHandle.cpp
WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp
WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp
WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (286124 => 286125)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1983,11 +1983,7 @@
E5CB07DC20E1678F0022C183 /* WKFormColorControl.h in Headers */ = {isa = PBXBuildFile; fileRef = E5CB07DA20E1678F0022C183 /* WKFormColorControl.h */; };
E5DEFA6826F8F42600AB68DB /* PhotosUISPI.h in Headers */ = {isa = PBXBuildFile; fileRef = E5DEFA6726F8F42600AB68DB /* PhotosUISPI.h */; };
ED82A7F2128C6FAF004477B3 /* WKBundlePageOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A22F0FF1289FCD90085E74F /* WKBundlePageOverlay.h */; settings = {ATTRIBUTES = (Private, ); }; };
- F4094CBD2553053D003D73E3 /* DisplayListReaderHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = F4094CBB255304AF003D73E3 /* DisplayListReaderHandle.h */; };
- F4094CBE25530540003D73E3 /* DisplayListWriterHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = F4094CB92553047E003D73E3 /* DisplayListWriterHandle.h */; };
F409BA181E6E64BC009DA28E /* WKDragDestinationAction.h in Headers */ = {isa = PBXBuildFile; fileRef = F409BA171E6E64B3009DA28E /* WKDragDestinationAction.h */; settings = {ATTRIBUTES = (Private, ); }; };
- F40BBB41257FF46E0067463A /* GPUProcessWakeupMessageArguments.h in Headers */ = {isa = PBXBuildFile; fileRef = F40BBB40257FF46E0067463A /* GPUProcessWakeupMessageArguments.h */; };
- F414CE2D269DE6EA00BD216A /* RemoteRenderingBackendState.h in Headers */ = {isa = PBXBuildFile; fileRef = F414CE2C269DE6EA00BD216A /* RemoteRenderingBackendState.h */; };
F4299507270E234D0032298B /* StreamMessageReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = F4299506270E234C0032298B /* StreamMessageReceiver.h */; };
F42D634122A0EFDF00D2FB3A /* WebAutocorrectionData.h in Headers */ = {isa = PBXBuildFile; fileRef = F42D633F22A0EFD300D2FB3A /* WebAutocorrectionData.h */; };
F430E9422247335F005FE053 /* WebsiteMetaViewportPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = F430E941224732A9005FE053 /* WebsiteMetaViewportPolicy.h */; };
@@ -2010,7 +2006,6 @@
F496A4311F58A272004C1757 /* DragDropInteractionState.h in Headers */ = {isa = PBXBuildFile; fileRef = F496A42F1F58A272004C1757 /* DragDropInteractionState.h */; };
F4974E76265ECBBC00B49B8C /* WKRevealItemPresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = F446EDEF265EB2B00031DA8F /* WKRevealItemPresenter.h */; };
F4975CF22624B80A003C626E /* WKQuickLookPreviewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F4975CF12624B80A003C626E /* WKQuickLookPreviewController.h */; };
- F4A6D6BC254CA3E900B65FAA /* SharedDisplayListHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = F4A6D6BB254CA3E900B65FAA /* SharedDisplayListHandle.h */; };
F4BA33F225757E89000A3CE8 /* WKImageAnalysisGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = F4BA33F025757E89000A3CE8 /* WKImageAnalysisGestureRecognizer.h */; };
F4CB09E5225D5A0900891487 /* WebsiteMediaSourcePolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = F4CB09E4225D5A0300891487 /* WebsiteMediaSourcePolicy.h */; };
F4CF1E9D25E40DCC000F9D73 /* GestureRecognizerConsistencyEnforcer.h in Headers */ = {isa = PBXBuildFile; fileRef = F4CF1E9B25E40DCC000F9D73 /* GestureRecognizerConsistencyEnforcer.h */; };
@@ -6204,15 +6199,9 @@
ECA680D31E6904B500731D20 /* ExtraPrivateSymbolsForTAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExtraPrivateSymbolsForTAPI.h; sourceTree = "<group>"; };
ECBFC1DB1E6A4D66000300C7 /* ExtraPublicSymbolsForTAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtraPublicSymbolsForTAPI.h; sourceTree = "<group>"; };
F036978715F4BF0500C3A80E /* WebColorPicker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebColorPicker.cpp; sourceTree = "<group>"; };
- F4094CB92553047E003D73E3 /* DisplayListWriterHandle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DisplayListWriterHandle.h; sourceTree = "<group>"; };
- F4094CBA2553047E003D73E3 /* DisplayListWriterHandle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayListWriterHandle.cpp; sourceTree = "<group>"; };
- F4094CBB255304AF003D73E3 /* DisplayListReaderHandle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DisplayListReaderHandle.h; sourceTree = "<group>"; };
- F4094CBC255304AF003D73E3 /* DisplayListReaderHandle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayListReaderHandle.cpp; sourceTree = "<group>"; };
F409BA171E6E64B3009DA28E /* WKDragDestinationAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDragDestinationAction.h; sourceTree = "<group>"; };
- F40BBB40257FF46E0067463A /* GPUProcessWakeupMessageArguments.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUProcessWakeupMessageArguments.h; sourceTree = "<group>"; };
F40D1B68220BDC0F00B49A01 /* WebAutocorrectionContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WebAutocorrectionContext.h; path = ios/WebAutocorrectionContext.h; sourceTree = "<group>"; };
F41056612130699A0092281D /* APIAttachmentCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = APIAttachmentCocoa.mm; sourceTree = "<group>"; };
- F414CE2C269DE6EA00BD216A /* RemoteRenderingBackendState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteRenderingBackendState.h; sourceTree = "<group>"; };
F4299506270E234C0032298B /* StreamMessageReceiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StreamMessageReceiver.h; sourceTree = "<group>"; };
F42D633F22A0EFD300D2FB3A /* WebAutocorrectionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebAutocorrectionData.h; path = ios/WebAutocorrectionData.h; sourceTree = "<group>"; };
F42D634022A0EFD300D2FB3A /* WebAutocorrectionData.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebAutocorrectionData.mm; path = ios/WebAutocorrectionData.mm; sourceTree = "<group>"; };
@@ -6251,7 +6240,6 @@
F496A4301F58A272004C1757 /* DragDropInteractionState.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = DragDropInteractionState.mm; path = ios/DragDropInteractionState.mm; sourceTree = "<group>"; };
F4975CF12624B80A003C626E /* WKQuickLookPreviewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WKQuickLookPreviewController.h; sourceTree = "<group>"; };
F4975CF32624B918003C626E /* WKQuickLookPreviewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WKQuickLookPreviewController.mm; sourceTree = "<group>"; };
- F4A6D6BB254CA3E900B65FAA /* SharedDisplayListHandle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SharedDisplayListHandle.h; sourceTree = "<group>"; };
F4A7CE842667EB4E00228685 /* TextRecognitionUpdateResult.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextRecognitionUpdateResult.h; sourceTree = "<group>"; };
F4AC655E22A3140E00A05607 /* WebPreferencesDefaultValuesIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebPreferencesDefaultValuesIOS.mm; path = ios/WebPreferencesDefaultValuesIOS.mm; sourceTree = "<group>"; };
F4B378D021DDBBAB0095A378 /* WebUndoStepID.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebUndoStepID.h; sourceTree = "<group>"; };
@@ -6917,7 +6905,6 @@
5C121E8324101F7000486F9B /* FrameTreeNodeData.h */,
410F0D4B2701EFEA00F96DFC /* GPUProcessConnectionInitializationParameters.h */,
46AC532425DED81E003B57EC /* GPUProcessConnectionParameters.h */,
- F40BBB40257FF46E0067463A /* GPUProcessWakeupMessageArguments.h */,
1AC75A1A1B3368270056745B /* HangDetectionDisabler.h */,
0FD2CB2526CDD7A30008B11C /* IdentifierTypes.h */,
BCCF6B2312C93E7A008F9C35 /* ImageOptions.h */,
@@ -6966,7 +6953,6 @@
1A6420E312DCE2FF00CAAE2C /* ShareableBitmap.h */,
5121745E164C20E30037A5C1 /* ShareableResource.cpp */,
5121745F164C20E30037A5C1 /* ShareableResource.h */,
- F4A6D6BB254CA3E900B65FAA /* SharedDisplayListHandle.h */,
8313F7EA1F7DAE0400B944EB /* SharedStringHashStore.cpp */,
8313F7E91F7DAE0300B944EB /* SharedStringHashStore.h */,
8313F7E81F7DAE0300B944EB /* SharedStringHashTable.cpp */,
@@ -9357,8 +9343,6 @@
children = (
727A7F3324078527004D2931 /* cocoa */,
1CB7461927436DE300F19874 /* WebGPU */,
- F4094CBA2553047E003D73E3 /* DisplayListWriterHandle.cpp */,
- F4094CB92553047E003D73E3 /* DisplayListWriterHandle.h */,
7B64C0B6254C5C250006B4AF /* GraphicsContextGLIdentifier.h */,
727A7F39240788F1004D2931 /* ImageBufferBackendHandle.h */,
727A7F37240788F0004D2931 /* ImageBufferShareableBitmapBackend.cpp */,
@@ -9386,8 +9370,6 @@
isa = PBXGroup;
children = (
1C98C01C27446926002CCB78 /* WebGPU */,
- F4094CBC255304AF003D73E3 /* DisplayListReaderHandle.cpp */,
- F4094CBB255304AF003D73E3 /* DisplayListReaderHandle.h */,
7B1619132719AE7600C40EAC /* GPUProcessGraphicsContextGL.h */,
55AD09432408A0E600DE4D2F /* PlatformRemoteImageBuffer.h */,
1CC54AFD270F9654005BF8BE /* QualifiedRenderingResourceIdentifier.h */,
@@ -9405,7 +9387,6 @@
550640A324071A6100AAE045 /* RemoteRenderingBackend.h */,
550640A424071C2100AAE045 /* RemoteRenderingBackend.messages.in */,
460889FF261FA8A900E2500D /* RemoteRenderingBackendCreationParameters.h */,
- F414CE2C269DE6EA00BD216A /* RemoteRenderingBackendState.h */,
726D56DD253A64810002EF90 /* RemoteResourceCache.cpp */,
726D56DE253A64810002EF90 /* RemoteResourceCache.h */,
7BCF70CA2614935E00E4FB70 /* ScopedRenderingResourcesRequest.cpp */,
@@ -12546,8 +12527,6 @@
83891B6C1A68C30B0030F386 /* DiagnosticLoggingClient.h in Headers */,
C18173612058424700DFDA65 /* DisplayLink.h in Headers */,
0F189CAC24749F2F00E58D81 /* DisplayLinkObserverID.h in Headers */,
- F4094CBD2553053D003D73E3 /* DisplayListReaderHandle.h in Headers */,
- F4094CBE25530540003D73E3 /* DisplayListWriterHandle.h in Headers */,
5C1427021C23F84C00D41183 /* Download.h in Headers */,
5C1427051C23F84C00D41183 /* DownloadID.h in Headers */,
5C1427071C23F84C00D41183 /* DownloadManager.h in Headers */,
@@ -12597,7 +12576,6 @@
2DA944A41884E4F000ED86DB /* GestureTypes.h in Headers */,
410F0D4C2701EFF900F96DFC /* GPUProcessConnectionInitializationParameters.h in Headers */,
4614F13225DED875007006E7 /* GPUProcessConnectionParameters.h in Headers */,
- F40BBB41257FF46E0067463A /* GPUProcessWakeupMessageArguments.h in Headers */,
2DA049B8180CCD0A00AAFA9E /* GraphicsLayerCARemote.h in Headers */,
C0CE72AD1247E78D00BC0EC4 /* HandleMessage.h in Headers */,
1AC75A1B1B3368270056745B /* HangDetectionDisabler.h in Headers */,
@@ -12858,7 +12836,6 @@
46088A01261FA8C400E2500D /* RemoteRenderingBackendCreationParameters.h in Headers */,
F4517D7C26FBCD39004C8475 /* RemoteRenderingBackendMessages.h in Headers */,
F4517D7B26FBCD39004C8475 /* RemoteRenderingBackendMessagesReplies.h in Headers */,
- F414CE2D269DE6EA00BD216A /* RemoteRenderingBackendState.h in Headers */,
0F594790187B3B3A00437857 /* RemoteScrollingCoordinator.h in Headers */,
0F5947A8187B517600437857 /* RemoteScrollingCoordinatorMessages.h in Headers */,
0F59479B187B3B6000437857 /* RemoteScrollingCoordinatorProxy.h in Headers */,
@@ -12899,7 +12876,6 @@
51217461164C20E30037A5C1 /* ShareableResource.h in Headers */,
A183494224EF467800BDC9A8 /* SharedBufferCopy.h in Headers */,
2DC18FF6EF2A3130C1301767 /* SharedBufferDataReference.h in Headers */,
- F4A6D6BC254CA3E900B65FAA /* SharedDisplayListHandle.h in Headers */,
93122C862710CCDF001D819F /* SharedFileHandle.h in Headers */,
1A24BED5120894D100FBB059 /* SharedMemory.h in Headers */,
CD4B4D9D1E765E0000D27092 /* SharedRingBufferStorage.h in Headers */,
Deleted: trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.cpp (286124 => 286125)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "DisplayListWriterHandle.h"
-
-#include <wtf/CheckedArithmetic.h>
-
-namespace WebKit {
-using namespace WebCore;
-
-size_t DisplayListWriterHandle::advance(size_t amount)
-{
- m_writableOffset = CheckedSize { m_writableOffset } + amount;
- return CheckedSize { header().unreadBytes.exchangeAdd(amount) } + amount;
-}
-
-size_t DisplayListWriterHandle::availableCapacity() const
-{
- if (UNLIKELY(sharedMemory().size() < writableOffset()))
- RELEASE_ASSERT_NOT_REACHED();
-
- return sharedMemory().size() - writableOffset();
-}
-
-DisplayList::ItemBufferHandle DisplayListWriterHandle::createHandle() const
-{
- return {
- identifier(),
- data() + writableOffset(),
- availableCapacity()
- };
-}
-
-bool DisplayListWriterHandle::moveWritableOffsetToStartIfPossible()
-{
- if (m_writableOffset <= SharedDisplayListHandle::headerSize()) {
- RELEASE_ASSERT(m_writableOffset == SharedDisplayListHandle::headerSize());
- return true;
- }
-
- if (unreadBytes())
- return false;
-
- m_writableOffset = SharedDisplayListHandle::headerSize();
- return true;
-}
-
-} // namespace WebKit
Deleted: trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.h (286124 => 286125)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/DisplayListWriterHandle.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "SharedDisplayListHandle.h"
-#include <wtf/FastMalloc.h>
-
-namespace WebKit {
-
-class DisplayListWriterHandle : public SharedDisplayListHandle {
- WTF_MAKE_NONCOPYABLE(DisplayListWriterHandle); WTF_MAKE_FAST_ALLOCATED;
-public:
- static RefPtr<DisplayListWriterHandle> create(WebCore::DisplayList::ItemBufferIdentifier identifier, Ref<SharedMemory>&& sharedMemory)
- {
- if (sharedMemory->size() <= headerSize())
- return nullptr;
- return adoptRef(new DisplayListWriterHandle(identifier, WTFMove(sharedMemory)));
- }
-
- size_t writableOffset() const { return m_writableOffset; }
- size_t availableCapacity() const;
-
- bool moveWritableOffsetToStartIfPossible();
-
- size_t advance(size_t amount);
- WebCore::DisplayList::ItemBufferHandle createHandle() const;
-
- bool tryToResume(SharedDisplayListHandle::ResumeReadingInformation&& info)
- {
- auto& header = this->header();
- header.resumeReadingInfo = WTFMove(info);
- return header.waitingStatus.compareExchangeWeak(
- static_cast<SharedDisplayListHandle::WaitingStatusStorageType>(SharedDisplayListHandle::WaitingStatus::Waiting),
- static_cast<SharedDisplayListHandle::WaitingStatusStorageType>(SharedDisplayListHandle::WaitingStatus::Resuming)
- );
- }
-
-private:
- DisplayListWriterHandle(WebCore::DisplayList::ItemBufferIdentifier identifier, Ref<SharedMemory>&& sharedMemory)
- : SharedDisplayListHandle(identifier, WTFMove(sharedMemory))
- , m_writableOffset(SharedDisplayListHandle::headerSize())
- {
- }
-
- size_t m_writableOffset { 0 };
-};
-
-} // namespace WebKit
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h (286124 => 286125)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -28,7 +28,6 @@
#if ENABLE(GPU_PROCESS)
#include "GPUProcessConnection.h"
-#include "GPUProcessWakeupMessageArguments.h"
#include "IPCSemaphore.h"
#include "ImageBufferBackendHandle.h"
#include "MessageReceiver.h"
Modified: trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.h (286124 => 286125)
--- trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.h 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.h 2021-11-23 02:24:59 UTC (rev 286125)
@@ -29,6 +29,7 @@
#include "WebRTCMonitor.h"
#include <WebCore/LibWebRTCProvider.h>
+#include <WebCore/ProcessQualified.h>
#include <WebCore/RTCNetworkManager.h>
#include <WebCore/ScriptExecutionContextIdentifier.h>
Modified: trunk/Tools/ChangeLog (286124 => 286125)
--- trunk/Tools/ChangeLog 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Tools/ChangeLog 2021-11-23 02:24:59 UTC (rev 286125)
@@ -1,3 +1,15 @@
+2021-11-22 Wenson Hsieh <wenson_hs...@apple.com>
+
+ Remove old concurrent display list logic that's no longer necessary
+ https://bugs.webkit.org/show_bug.cgi?id=233433
+
+ Reviewed by Sam Weinig.
+
+ See WebCore ChangeLog for more details.
+
+ * TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
+ (TestWebKitAPI::TEST):
+
2021-11-22 Geza Lore <gl...@igalia.com>
[JSC] Make sharing of unlinked baseline code possible on JSVALUE32_64
Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp (286124 => 286125)
--- trunk/Tools/TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp 2021-11-23 01:46:52 UTC (rev 286124)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp 2021-11-23 02:24:59 UTC (rev 286125)
@@ -122,8 +122,6 @@
break;
}
#endif
- case ItemType::MetaCommandChangeItemBuffer:
- break;
default: {
observedUnexpectedItem = true;
break;