Diff
Modified: trunk/Source/WebCore/CMakeLists.txt (285383 => 285384)
--- trunk/Source/WebCore/CMakeLists.txt 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/CMakeLists.txt 2021-11-06 23:17:47 UTC (rev 285384)
@@ -1487,6 +1487,9 @@
Modules/WebGPU/GPUBufferBindingType.idl
Modules/WebGPU/GPUBufferDescriptor.idl
Modules/WebGPU/GPUBufferUsage.idl
+ Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl
+ Modules/WebGPU/GPUCanvasConfiguration.idl
+ Modules/WebGPU/GPUCanvasContext.idl
Modules/WebGPU/GPUColorDict.idl
Modules/WebGPU/GPUColorTargetState.idl
Modules/WebGPU/GPUColorWrite.idl
@@ -1508,6 +1511,12 @@
Modules/WebGPU/GPUDepthStencilState.idl
Modules/WebGPU/GPUDevice.idl
Modules/WebGPU/GPUDeviceDescriptor.idl
+ Modules/WebGPU/GPUDeviceError.idl
+ Modules/WebGPU/GPUDeviceLost.idl
+ Modules/WebGPU/GPUDeviceLostInfo.idl
+ Modules/WebGPU/GPUDeviceLostReason.idl
+ Modules/WebGPU/GPUDeviceUncapturedError.idl
+ Modules/WebGPU/GPUErrorFilter.idl
Modules/WebGPU/GPUExtent3DDict.idl
Modules/WebGPU/GPUExternalTexture.idl
Modules/WebGPU/GPUExternalTextureBindingLayout.idl
@@ -1529,6 +1538,7 @@
Modules/WebGPU/GPUObjectDescriptorBase.idl
Modules/WebGPU/GPUOrigin2DDict.idl
Modules/WebGPU/GPUOrigin3DDict.idl
+ Modules/WebGPU/GPUOutOfMemoryError.idl
Modules/WebGPU/GPUPipelineBase.idl
Modules/WebGPU/GPUPipelineDescriptorBase.idl
Modules/WebGPU/GPUPipelineLayout.idl
@@ -1584,6 +1594,9 @@
Modules/WebGPU/GPUTextureView.idl
Modules/WebGPU/GPUTextureViewDescriptor.idl
Modules/WebGPU/GPUTextureViewDimension.idl
+ Modules/WebGPU/GPUUncapturedErrorEvent.idl
+ Modules/WebGPU/GPUUncapturedErrorEventInit.idl
+ Modules/WebGPU/GPUValidationError.idl
Modules/WebGPU/GPUVertexAttribute.idl
Modules/WebGPU/GPUVertexBufferLayout.idl
Modules/WebGPU/GPUVertexFormat.idl
Modified: trunk/Source/WebCore/ChangeLog (285383 => 285384)
--- trunk/Source/WebCore/ChangeLog 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/ChangeLog 2021-11-06 23:17:47 UTC (rev 285384)
@@ -14,6 +14,79 @@
2021-11-05 Myles C. Maxfield <[email protected]>
+ [WebGPU] Bindings Part 8: Bring back the remaining bindings code
+ https://bugs.webkit.org/show_bug.cgi?id=232700
+
+ Reviewed by Dean Jackson.
+
+ This is the last chunk of the bindings code, brought back from r280467.
+ This chunk includes all of the remaining pieces.
+ The objects have no methods in them - those will come later.
+
+ No new tests because there is no behavior change yet.
+
+ * CMakeLists.txt:
+ * DerivedSources-input.xcfilelist:
+ * DerivedSources-output.xcfilelist:
+ * DerivedSources.make:
+ * Modules/WebGPU/GPUCanvasCompositingAlphaMode.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUCanvasConfiguration.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUCanvasConfiguration.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUCanvasContext.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUCanvasContext::canvas):
+ (WebCore::GPUCanvasContext::configure):
+ (WebCore::GPUCanvasContext::unconfigure):
+ (WebCore::GPUCanvasContext::getPreferredFormat):
+ (WebCore::GPUCanvasContext::getCurrentTexture):
+ * Modules/WebGPU/GPUCanvasContext.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUCanvasContext::create):
+ * Modules/WebGPU/GPUCanvasContext.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUCommandBuffer.h:
+ (WebCore::GPUCommandBuffer::GPUCommandBuffer): Deleted.
+ * Modules/WebGPU/GPUDevice.cpp:
+ (WebCore::GPUDevice::pushErrorScope):
+ (WebCore::GPUDevice::popErrorScope):
+ * Modules/WebGPU/GPUDevice.h:
+ (WebCore::GPUDevice::lost):
+ * Modules/WebGPU/GPUDeviceError.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUDeviceLost.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUDeviceLostInfo.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUDeviceLostInfo::GPUDeviceLostInfo):
+ (WebCore::GPUDeviceLostInfo::reason const):
+ (WebCore::GPUDeviceLostInfo::message const):
+ * Modules/WebGPU/GPUDeviceLostInfo.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUDeviceLostInfo::create):
+ * Modules/WebGPU/GPUDeviceLostInfo.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUDeviceLostReason.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUDeviceLostReason.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUDeviceUncapturedError.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUError.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUErrorFilter.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUErrorFilter.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUOutOfMemoryError.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUOutOfMemoryError::create):
+ * Modules/WebGPU/GPUOutOfMemoryError.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUUncapturedErrorEvent.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUUncapturedErrorEvent::GPUUncapturedErrorEvent):
+ (WebCore::GPUUncapturedErrorEvent::error const):
+ * Modules/WebGPU/GPUUncapturedErrorEvent.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUUncapturedErrorEvent::create):
+ * Modules/WebGPU/GPUUncapturedErrorEvent.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUUncapturedErrorEventInit.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUUncapturedErrorEventInit.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Modules/WebGPU/GPUValidationError.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUValidationError::GPUValidationError):
+ (WebCore::GPUValidationError::message const):
+ * Modules/WebGPU/GPUValidationError.h: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ (WebCore::GPUValidationError::create):
+ * Modules/WebGPU/GPUValidationError.idl: Copied from Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h.
+ * Sources.txt:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/WebCoreBuiltinNames.h:
+
+2021-11-05 Myles C. Maxfield <[email protected]>
+
[WebGPU] Bindings Part 7: Bring back command encoder bindings code
https://bugs.webkit.org/show_bug.cgi?id=232661
Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (285383 => 285384)
--- trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-11-06 23:17:47 UTC (rev 285384)
@@ -40,6 +40,9 @@
$(PROJECT_DIR)/Modules/WebGPU/GPUBufferBindingType.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUBufferDescriptor.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUBufferUsage.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCanvasConfiguration.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCanvasContext.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUColorDict.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUColorTargetState.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUColorWrite.idl
@@ -61,6 +64,12 @@
$(PROJECT_DIR)/Modules/WebGPU/GPUDepthStencilState.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUDevice.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceDescriptor.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceError.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceLost.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceLostInfo.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceLostReason.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDeviceUncapturedError.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUErrorFilter.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUExtent3DDict.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUExternalTexture.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUExternalTextureBindingLayout.idl
@@ -82,6 +91,7 @@
$(PROJECT_DIR)/Modules/WebGPU/GPUObjectDescriptorBase.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUOrigin2DDict.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUOrigin3DDict.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUOutOfMemoryError.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUPipelineBase.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUPipelineDescriptorBase.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUPipelineLayout.idl
@@ -138,6 +148,9 @@
$(PROJECT_DIR)/Modules/WebGPU/GPUTextureView.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUTextureViewDescriptor.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUTextureViewDimension.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUUncapturedErrorEvent.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUUncapturedErrorEventInit.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUValidationError.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUVertexAttribute.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUVertexBufferLayout.idl
$(PROJECT_DIR)/Modules/WebGPU/GPUVertexFormat.idl
Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (285383 => 285384)
--- trunk/Source/WebCore/DerivedSources-output.xcfilelist 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist 2021-11-06 23:17:47 UTC (rev 285384)
@@ -905,6 +905,12 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferDescriptor.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferUsage.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferUsage.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasCompositingAlphaMode.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasCompositingAlphaMode.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasConfiguration.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasConfiguration.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasContext.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCanvasContext.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorDict.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorDict.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorTargetState.cpp
@@ -947,6 +953,18 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDevice.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceDescriptor.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceDescriptor.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceError.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLost.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLost.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLostInfo.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLostInfo.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLostReason.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceLostReason.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceUncapturedError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceUncapturedError.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUErrorFilter.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUErrorFilter.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExtent3DDict.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExtent3DDict.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExternalTexture.cpp
@@ -989,6 +1007,8 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOrigin2DDict.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOrigin3DDict.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOrigin3DDict.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOutOfMemoryError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUOutOfMemoryError.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineBase.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineBase.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineDescriptorBase.cpp
@@ -1101,6 +1121,12 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDescriptor.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDimension.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDimension.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUUncapturedErrorEvent.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUUncapturedErrorEvent.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUUncapturedErrorEventInit.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUUncapturedErrorEventInit.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUValidationError.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUValidationError.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexAttribute.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexAttribute.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexBufferLayout.cpp
Modified: trunk/Source/WebCore/DerivedSources.make (285383 => 285384)
--- trunk/Source/WebCore/DerivedSources.make 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/DerivedSources.make 2021-11-06 23:17:47 UTC (rev 285384)
@@ -72,6 +72,9 @@
$(WebCore)/Modules/WebGPU/GPUBufferBindingType.idl \
$(WebCore)/Modules/WebGPU/GPUBufferDescriptor.idl \
$(WebCore)/Modules/WebGPU/GPUBufferUsage.idl \
+ $(WebCore)/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl \
+ $(WebCore)/Modules/WebGPU/GPUCanvasConfiguration.idl \
+ $(WebCore)/Modules/WebGPU/GPUCanvasContext.idl \
$(WebCore)/Modules/WebGPU/GPUColorDict.idl \
$(WebCore)/Modules/WebGPU/GPUColorTargetState.idl \
$(WebCore)/Modules/WebGPU/GPUColorWrite.idl \
@@ -93,6 +96,12 @@
$(WebCore)/Modules/WebGPU/GPUDepthStencilState.idl \
$(WebCore)/Modules/WebGPU/GPUDevice.idl \
$(WebCore)/Modules/WebGPU/GPUDeviceDescriptor.idl \
+ $(WebCore)/Modules/WebGPU/GPUDeviceError.idl \
+ $(WebCore)/Modules/WebGPU/GPUDeviceLost.idl \
+ $(WebCore)/Modules/WebGPU/GPUDeviceLostInfo.idl \
+ $(WebCore)/Modules/WebGPU/GPUDeviceLostReason.idl \
+ $(WebCore)/Modules/WebGPU/GPUDeviceUncapturedError.idl \
+ $(WebCore)/Modules/WebGPU/GPUErrorFilter.idl \
$(WebCore)/Modules/WebGPU/GPUExtent3DDict.idl \
$(WebCore)/Modules/WebGPU/GPUExternalTexture.idl \
$(WebCore)/Modules/WebGPU/GPUExternalTextureBindingLayout.idl \
@@ -114,6 +123,7 @@
$(WebCore)/Modules/WebGPU/GPUObjectDescriptorBase.idl \
$(WebCore)/Modules/WebGPU/GPUOrigin2DDict.idl \
$(WebCore)/Modules/WebGPU/GPUOrigin3DDict.idl \
+ $(WebCore)/Modules/WebGPU/GPUOutOfMemoryError.idl \
$(WebCore)/Modules/WebGPU/GPUPipelineBase.idl \
$(WebCore)/Modules/WebGPU/GPUPipelineDescriptorBase.idl \
$(WebCore)/Modules/WebGPU/GPUPipelineLayout.idl \
@@ -169,6 +179,9 @@
$(WebCore)/Modules/WebGPU/GPUTextureView.idl \
$(WebCore)/Modules/WebGPU/GPUTextureViewDescriptor.idl \
$(WebCore)/Modules/WebGPU/GPUTextureViewDimension.idl \
+ $(WebCore)/Modules/WebGPU/GPUUncapturedErrorEvent.idl \
+ $(WebCore)/Modules/WebGPU/GPUUncapturedErrorEventInit.idl \
+ $(WebCore)/Modules/WebGPU/GPUValidationError.idl \
$(WebCore)/Modules/WebGPU/GPUVertexAttribute.idl \
$(WebCore)/Modules/WebGPU/GPUVertexBufferLayout.idl \
$(WebCore)/Modules/WebGPU/GPUVertexFormat.idl \
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * 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
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUCanvasCompositingAlphaMode : uint8_t {
+ Opaque,
+ Premultiplied
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasCompositingAlphaMode.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpucanvascompositingalphamode
+
+[
+ EnabledBySetting=WebGPU
+]
+enum GPUCanvasCompositingAlphaMode {
+ "opaque",
+ "premultiplied"
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,50 @@
+/*
+ * 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
+
+#include "GPUCanvasCompositingAlphaMode.h"
+#include "GPUDevice.h"
+#include "GPUExtent3DDict.h"
+#include "GPUPredefinedColorSpace.h"
+#include "GPUTextureFormat.h"
+#include <cstdint>
+#include <optional>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+using GPUTextureUsageFlags = uint32_t; // FIXME: This doesn't need to be here.
+
+struct GPUCanvasConfiguration {
+ RefPtr<GPUDevice> device;
+ GPUTextureFormat format;
+ GPUTextureUsageFlags usage; // GPUTextureUsage.RENDER_ATTACHMENT
+ GPUPredefinedColorSpace colorSpace;
+ GPUCanvasCompositingAlphaMode compositingAlphaMode;
+ std::optional<GPUExtent3D> size;
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasConfiguration.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpucanvasconfiguration
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 These shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUTextureUsageFlags;
+typedef [EnforceRange] unsigned long GPUIntegerCoordinate;
+typedef (sequence<GPUIntegerCoordinate> or GPUExtent3DDict) GPUExtent3D;
+
+[
+ EnabledBySetting=WebGPU
+]
+dictionary GPUCanvasConfiguration {
+ required GPUDevice device;
+ required GPUTextureFormat format;
+ GPUTextureUsageFlags usage = 0x10; // GPUTextureUsage.RENDER_ATTACHMENT
+ GPUPredefinedColorSpace colorSpace = "srgb";
+ GPUCanvasCompositingAlphaMode compositingAlphaMode = "opaque";
+ GPUExtent3D size;
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.cpp (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.cpp (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.cpp 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+#include "config.h"
+#include "GPUCanvasContext.h"
+
+#include "GPUAdapter.h"
+#include "GPUCanvasConfiguration.h"
+
+namespace WebCore {
+
+RefPtr<HTMLCanvasElement> GPUCanvasContext::canvas()
+{
+ return { };
+}
+
+void GPUCanvasContext::configure(const GPUCanvasConfiguration&)
+{
+
+}
+
+void GPUCanvasContext::unconfigure()
+{
+}
+
+GPUTextureFormat GPUCanvasContext::getPreferredFormat(const GPUAdapter&)
+{
+ return GPUTextureFormat::Rgba8unorm;
+}
+
+RefPtr<GPUTexture> GPUCanvasContext::getCurrentTexture()
+{
+ return nullptr;
+}
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,61 @@
+/*
+ * 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
+
+#include "GPUTexture.h"
+#include "GPUTextureFormat.h"
+#include "HTMLCanvasElement.h"
+#include "OffscreenCanvas.h"
+#include <variant>
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+class GPUAdapter;
+struct GPUCanvasConfiguration;
+
+class GPUCanvasContext : public RefCounted<GPUCanvasContext> {
+public:
+ static Ref<GPUCanvasContext> create()
+ {
+ return adoptRef(*new GPUCanvasContext());
+ }
+
+ RefPtr<HTMLCanvasElement> canvas();
+
+ void configure(const GPUCanvasConfiguration&);
+ void unconfigure();
+
+ GPUTextureFormat getPreferredFormat(const GPUAdapter&);
+ RefPtr<GPUTexture> getCurrentTexture();
+
+private:
+ GPUCanvasContext() = default;
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCanvasContext.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpucanvascontext
+
+[
+ EnabledBySetting=WebGPU,
+ ImplementationLacksVTable,
+ Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+ SecureContext
+]
+interface GPUCanvasContext {
+ readonly attribute HTMLCanvasElement canvas; // FIXME: OffscreenCanvas doesn't seem to work with our bindings here.
+
+ undefined configure(GPUCanvasConfiguration configuration);
+ undefined unconfigure();
+
+ GPUTextureFormat getPreferredFormat(GPUAdapter adapter);
+ GPUTexture getCurrentTexture();
+};
Modified: trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h (285383 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -42,9 +42,7 @@
void setLabel(String&&);
private:
- GPUCommandBuffer()
- {
- }
+ GPUCommandBuffer() = default;
};
}
Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp (285383 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp 2021-11-06 23:17:47 UTC (rev 285384)
@@ -155,4 +155,12 @@
return GPUQuerySet::create();
}
+void GPUDevice::pushErrorScope(GPUErrorFilter)
+{
}
+
+void GPUDevice::popErrorScope(ErrorScopePromise&&)
+{
+}
+
+}
Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h (285383 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -26,8 +26,12 @@
#pragma once
#include "ActiveDOMObject.h"
+#include "DOMPromiseProxy.h"
#include "EventTarget.h"
#include "GPUComputePipeline.h"
+#include "GPUDeviceLostInfo.h"
+#include "GPUError.h"
+#include "GPUErrorFilter.h"
#include "GPURenderPipeline.h"
#include "JSDOMPromiseDeferred.h"
#include "ScriptExecutionContext.h"
@@ -107,6 +111,13 @@
Ref<GPUQuerySet> createQuerySet(const GPUQuerySetDescriptor&);
+ void pushErrorScope(GPUErrorFilter);
+ using ErrorScopePromise = DOMPromiseDeferred<IDLNullable<IDLInterface<GPUError>>>;
+ void popErrorScope(ErrorScopePromise&&);
+
+ using LostPromise = DOMPromiseProxy<IDLInterface<GPUDeviceLostInfo>>;
+ LostPromise& lost() { return m_lostPromise; }
+
private:
GPUDevice(ScriptExecutionContext* scriptExecutionContext)
: ActiveDOMObject { scriptExecutionContext }
@@ -122,6 +133,8 @@
ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); }
void refEventTarget() final { ref(); }
void derefEventTarget() final { deref(); }
+
+ LostPromise m_lostPromise;
};
}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceError.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceError.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceError.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#ref-for-gpudevice⑤⓪
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef (GPUOutOfMemoryError or GPUValidationError) GPUError;
+
+partial interface GPUDevice {
+ undefined pushErrorScope(GPUErrorFilter filter);
+ Promise<GPUError?> popErrorScope();
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLost.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLost.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLost.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#ref-for-gpudevice④⑨
+
+partial interface GPUDevice {
+ readonly attribute Promise<GPUDeviceLostInfo> lost;
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.cpp 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ */
+
+#include "config.h"
+#include "GPUDeviceLostInfo.h"
+
+namespace WebCore {
+
+GPUDeviceLostInfo::GPUDeviceLostInfo(Reason&&, String&& message)
+{
+ UNUSED_PARAM(message);
+}
+
+auto GPUDeviceLostInfo::reason() const -> Reason
+{
+ return std::nullopt;
+}
+
+String GPUDeviceLostInfo::message() const
+{
+ return StringImpl::empty();
+}
+
+}
+
+
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,52 @@
+/*
+ * 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
+
+#include "GPUDeviceLostReason.h"
+#include <optional>
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUDeviceLostInfo : public RefCounted<GPUDeviceLostInfo> {
+public:
+ using Reason = std::optional<GPUDeviceLostReason>;
+
+ static Ref<GPUDeviceLostInfo> create(Reason&& reason, String&& message)
+ {
+ return adoptRef(*new GPUDeviceLostInfo(WTFMove(reason), WTFMove(message)));
+ }
+
+ Reason reason() const;
+ String message() const;
+
+private:
+ GPUDeviceLostInfo(Reason&&, String&& message);
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostInfo.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpudevicelostinfo
+
+[
+ EnabledBySetting=WebGPU,
+ ImplementationLacksVTable,
+ Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+ SecureContext
+]
+interface GPUDeviceLostInfo {
+ readonly attribute GPUDeviceLostReason? reason; // FIXME: This is supposed to be (GPUDeviceLostReason or undefined)
+ readonly attribute DOMString message;
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,36 @@
+/*
+ * 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
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUDeviceLostReason : uint8_t {
+ Destroyed
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceLostReason.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpudevicelostreason
+
+[
+ EnabledBySetting=WebGPU
+]
+enum GPUDeviceLostReason {
+ "destroyed"
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDeviceUncapturedError.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUDeviceUncapturedError.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDeviceUncapturedError.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+
+partial interface GPUDevice {
+ [Exposed=(Window, DedicatedWorker)]
+ attribute EventHandler onuncapturederror;
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUError.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUError.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUError.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * 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
+
+#include "GPUOutOfMemoryError.h"
+#include "GPUValidationError.h"
+#include <variant>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+using GPUError = std::variant<RefPtr<GPUOutOfMemoryError>, RefPtr<GPUValidationError>>;
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * 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
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUErrorFilter : uint8_t {
+ OutOfMemory,
+ Validation
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUErrorFilter.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpuerrorfilter
+
+[
+ EnabledBySetting=WebGPU
+]
+enum GPUErrorFilter {
+ "out-of-memory",
+ "validation"
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,44 @@
+/*
+ * 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
+
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class GPUOutOfMemoryError : public RefCounted<GPUOutOfMemoryError> {
+public:
+ static Ref<GPUOutOfMemoryError> create()
+ {
+ return adoptRef(*new GPUOutOfMemoryError());
+ }
+
+private:
+ GPUOutOfMemoryError() = default;
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUOutOfMemoryError.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpuoutofmemoryerror
+
+[
+ EnabledBySetting=WebGPU,
+ ImplementationLacksVTable,
+ Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+ SecureContext
+]
+interface GPUOutOfMemoryError {
+ constructor();
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.cpp (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.cpp (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.cpp 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+#include "config.h"
+#include "GPUUncapturedErrorEvent.h"
+
+namespace WebCore {
+
+GPUUncapturedErrorEvent::GPUUncapturedErrorEvent(String&& type, const GPUUncapturedErrorEventInit&)
+{
+ UNUSED_PARAM(type);
+}
+
+GPUError GPUUncapturedErrorEvent::error() const
+{
+ return RefPtr<GPUOutOfMemoryError>(GPUOutOfMemoryError::create());
+}
+
+}
+
+
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,50 @@
+/*
+ * 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
+
+#include "Event.h"
+#include "GPUError.h"
+#include "GPUUncapturedErrorEventInit.h"
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUUncapturedErrorEvent : public Event {
+public:
+ static Ref<GPUUncapturedErrorEvent> create(String&& type, const GPUUncapturedErrorEventInit& gpuUncapturedErrorEventInitDict)
+ {
+ return adoptRef(*new GPUUncapturedErrorEvent(WTFMove(type), gpuUncapturedErrorEventInitDict));
+ }
+
+ GPUError error() const;
+
+private:
+ GPUUncapturedErrorEvent(String&& type, const GPUUncapturedErrorEventInit&);
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEvent.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpuuncapturederrorevent
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef (GPUOutOfMemoryError or GPUValidationError) GPUError;
+
+[
+ EnabledBySetting=WebGPU,
+ Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+ SecureContext
+]
+interface GPUUncapturedErrorEvent : Event {
+ constructor(
+ DOMString type,
+ GPUUncapturedErrorEventInit gpuUncapturedErrorEventInitDict
+ );
+ [SameObject] readonly attribute GPUError error;
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,37 @@
+/*
+ * 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
+
+#include "EventInit.h"
+#include "GPUError.h"
+
+namespace WebCore {
+
+struct GPUUncapturedErrorEventInit : public EventInit {
+ GPUError error;
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUUncapturedErrorEventInit.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpuuncapturederroreventinit
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef (GPUOutOfMemoryError or GPUValidationError) GPUError;
+
+[
+ EnabledBySetting=WebGPU
+]
+dictionary GPUUncapturedErrorEventInit : EventInit {
+ required GPUError error;
+};
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.cpp (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.cpp (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.cpp 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ */
+
+#include "config.h"
+#include "GPUValidationError.h"
+
+namespace WebCore {
+
+GPUValidationError::GPUValidationError(String&& message)
+{
+ UNUSED_PARAM(message);
+}
+
+String GPUValidationError::message() const
+{
+ return StringImpl::empty();
+}
+
+}
+
+
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.h (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.h (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,48 @@
+/*
+ * 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
+
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class GPUValidationError : public RefCounted<GPUValidationError> {
+public:
+ static Ref<GPUValidationError> create(String&& message)
+ {
+ return adoptRef(*new GPUValidationError(WTFMove(message)));
+ }
+
+ String message() const;
+
+private:
+ GPUValidationError(String&& message);
+
+ String m_message;
+};
+
+}
Copied: trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.idl (from rev 285383, trunk/Source/WebCore/Modules/WebGPU/GPUCommandBuffer.h) (0 => 285384)
--- trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.idl (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUValidationError.idl 2021-11-06 23:17:47 UTC (rev 285384)
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+[
+ EnabledBySetting=WebGPU,
+ ImplementationLacksVTable,
+ Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+ SecureContext
+]
+interface GPUValidationError {
+ constructor(DOMString message);
+ readonly attribute DOMString message;
+};
Modified: trunk/Source/WebCore/Sources.txt (285383 => 285384)
--- trunk/Source/WebCore/Sources.txt 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/Sources.txt 2021-11-06 23:17:47 UTC (rev 285384)
@@ -26,6 +26,7 @@
Modules/WebGPU/GPUBindGroup.cpp
Modules/WebGPU/GPUBindGroupLayout.cpp
Modules/WebGPU/GPUBuffer.cpp
+Modules/WebGPU/GPUCanvasContext.cpp
Modules/WebGPU/GPUCommandBuffer.cpp
Modules/WebGPU/GPUCommandEncoder.cpp
Modules/WebGPU/GPUCompilationInfo.cpp
@@ -33,6 +34,7 @@
Modules/WebGPU/GPUComputePassEncoder.cpp
Modules/WebGPU/GPUComputePipeline.cpp
Modules/WebGPU/GPUDevice.cpp
+Modules/WebGPU/GPUDeviceLostInfo.cpp
Modules/WebGPU/GPUExternalTexture.cpp
Modules/WebGPU/GPUPipelineLayout.cpp
Modules/WebGPU/GPUQuerySet.cpp
@@ -47,6 +49,8 @@
Modules/WebGPU/GPUSupportedLimits.cpp
Modules/WebGPU/GPUTexture.cpp
Modules/WebGPU/GPUTextureView.cpp
+Modules/WebGPU/GPUUncapturedErrorEvent.cpp
+Modules/WebGPU/GPUValidationError.cpp
Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp
Modules/applicationmanifest/ApplicationManifestParser.cpp
Modules/async-clipboard/Clipboard.cpp
@@ -3110,6 +3114,9 @@
JSGPUBufferBindingType.cpp
JSGPUBufferDescriptor.cpp
JSGPUBufferUsage.cpp
+JSGPUCanvasCompositingAlphaMode.cpp
+JSGPUCanvasConfiguration.cpp
+JSGPUCanvasContext.cpp
JSGPUColorDict.cpp
JSGPUColorTargetState.cpp
JSGPUColorWrite.cpp
@@ -3131,6 +3138,12 @@
JSGPUDepthStencilState.cpp
JSGPUDevice.cpp
JSGPUDeviceDescriptor.cpp
+JSGPUDeviceError.cpp
+JSGPUDeviceLost.cpp
+JSGPUDeviceLostInfo.cpp
+JSGPUDeviceLostReason.cpp
+JSGPUDeviceUncapturedError.cpp
+JSGPUErrorFilter.cpp
JSGPUExtent3DDict.cpp
JSGPUExternalTexture.cpp
JSGPUExternalTextureBindingLayout.cpp
@@ -3152,6 +3165,7 @@
JSGPUObjectDescriptorBase.cpp
JSGPUOrigin2DDict.cpp
JSGPUOrigin3DDict.cpp
+JSGPUOutOfMemoryError.cpp
JSGPUPipelineBase.cpp
JSGPUPipelineDescriptorBase.cpp
JSGPUPipelineLayout.cpp
@@ -3207,6 +3221,9 @@
JSGPUTextureView.cpp
JSGPUTextureViewDescriptor.cpp
JSGPUTextureViewDimension.cpp
+JSGPUUncapturedErrorEvent.cpp
+JSGPUUncapturedErrorEventInit.cpp
+JSGPUValidationError.cpp
JSGPUVertexAttribute.cpp
JSGPUVertexBufferLayout.cpp
JSGPUVertexFormat.cpp
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (285383 => 285384)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2021-11-06 23:17:47 UTC (rev 285384)
@@ -7056,6 +7056,34 @@
1C289582272F48F200B3E2B4 /* GPUPowerPreference.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUPowerPreference.h; sourceTree = "<group>"; };
1C289589272F5AC700B3E2B4 /* GPUObjectDescriptorBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUObjectDescriptorBase.h; sourceTree = "<group>"; };
1C28958B272F5AF500B3E2B4 /* GPUPredefinedColorSpace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUPredefinedColorSpace.h; sourceTree = "<group>"; };
+ 1C2C218527353584009ECA32 /* GPUUncapturedErrorEventInit.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUUncapturedErrorEventInit.idl; sourceTree = "<group>"; };
+ 1C2C218727353584009ECA32 /* GPUCanvasConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCanvasConfiguration.h; sourceTree = "<group>"; };
+ 1C2C218827353584009ECA32 /* GPUErrorFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUErrorFilter.h; sourceTree = "<group>"; };
+ 1C2C218A27353585009ECA32 /* GPUCanvasContext.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCanvasContext.idl; sourceTree = "<group>"; };
+ 1C2C218B27353586009ECA32 /* GPUDeviceLostInfo.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceLostInfo.idl; sourceTree = "<group>"; };
+ 1C2C218D27353586009ECA32 /* GPUDeviceLostInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUDeviceLostInfo.h; sourceTree = "<group>"; };
+ 1C2C218E27353587009ECA32 /* GPUValidationError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUValidationError.idl; sourceTree = "<group>"; };
+ 1C2C218F27353587009ECA32 /* GPUCanvasContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCanvasContext.h; sourceTree = "<group>"; };
+ 1C2C219027353588009ECA32 /* GPUErrorFilter.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUErrorFilter.idl; sourceTree = "<group>"; };
+ 1C2C219127353588009ECA32 /* GPUCanvasCompositingAlphaMode.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCanvasCompositingAlphaMode.idl; sourceTree = "<group>"; };
+ 1C2C219227353588009ECA32 /* GPUOutOfMemoryError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUOutOfMemoryError.h; sourceTree = "<group>"; };
+ 1C2C219327353589009ECA32 /* GPUDeviceLostReason.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceLostReason.idl; sourceTree = "<group>"; };
+ 1C2C219427353589009ECA32 /* GPUCanvasConfiguration.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCanvasConfiguration.idl; sourceTree = "<group>"; };
+ 1C2C219527353589009ECA32 /* GPUCanvasCompositingAlphaMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCanvasCompositingAlphaMode.h; sourceTree = "<group>"; };
+ 1C2C21962735358A009ECA32 /* GPUCanvasContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUCanvasContext.cpp; sourceTree = "<group>"; };
+ 1C2C21972735358A009ECA32 /* GPUUncapturedErrorEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUUncapturedErrorEvent.h; sourceTree = "<group>"; };
+ 1C2C21982735358B009ECA32 /* GPUValidationError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUValidationError.h; sourceTree = "<group>"; };
+ 1C2C21992735358B009ECA32 /* GPUError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUError.h; sourceTree = "<group>"; };
+ 1C2C219A2735358B009ECA32 /* GPUDeviceLostReason.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUDeviceLostReason.h; sourceTree = "<group>"; };
+ 1C2C219B2735358C009ECA32 /* GPUDeviceUncapturedError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceUncapturedError.idl; sourceTree = "<group>"; };
+ 1C2C219C2735358C009ECA32 /* GPUOutOfMemoryError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUOutOfMemoryError.idl; sourceTree = "<group>"; };
+ 1C2C219D2735358D009ECA32 /* GPUUncapturedErrorEventInit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUUncapturedErrorEventInit.h; sourceTree = "<group>"; };
+ 1C2C219E2735358D009ECA32 /* GPUUncapturedErrorEvent.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUUncapturedErrorEvent.idl; sourceTree = "<group>"; };
+ 1C2C21A02735377D009ECA32 /* GPUDeviceLostInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUDeviceLostInfo.cpp; sourceTree = "<group>"; };
+ 1C2C21A2273537E9009ECA32 /* GPUUncapturedErrorEvent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUUncapturedErrorEvent.cpp; sourceTree = "<group>"; };
+ 1C2C21A32735386C009ECA32 /* GPUValidationError.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUValidationError.cpp; sourceTree = "<group>"; };
+ 1C2C21A527353D1F009ECA32 /* GPUDeviceError.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceError.idl; sourceTree = "<group>"; };
+ 1C2C21A727353D2C009ECA32 /* GPUDeviceLost.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDeviceLost.idl; sourceTree = "<group>"; };
1C3249101C6D6A3B007EDB32 /* FontVariantBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontVariantBuilder.cpp; sourceTree = "<group>"; };
1C3969CF1B74211E002BCFA7 /* FontCacheCoreText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontCacheCoreText.cpp; sourceTree = "<group>"; };
1C43DE6822AB4B8A001527D9 /* LocalCurrentTraitCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalCurrentTraitCollection.h; sourceTree = "<group>"; };
@@ -19379,6 +19407,13 @@
1C8127892734C5F70068864F /* GPUBufferDescriptor.idl */,
1C8127832734C5F50068864F /* GPUBufferUsage.h */,
1C8127862734C5F60068864F /* GPUBufferUsage.idl */,
+ 1C2C219527353589009ECA32 /* GPUCanvasCompositingAlphaMode.h */,
+ 1C2C219127353588009ECA32 /* GPUCanvasCompositingAlphaMode.idl */,
+ 1C2C218727353584009ECA32 /* GPUCanvasConfiguration.h */,
+ 1C2C219427353589009ECA32 /* GPUCanvasConfiguration.idl */,
+ 1C2C21962735358A009ECA32 /* GPUCanvasContext.cpp */,
+ 1C2C218F27353587009ECA32 /* GPUCanvasContext.h */,
+ 1C2C218A27353585009ECA32 /* GPUCanvasContext.idl */,
1CA4FD1427351FC10027FD5A /* GPUColorDict.h */,
1CA4FCF027351FB30027FD5A /* GPUColorDict.idl */,
1CA4FCB227350CEA0027FD5A /* GPUColorTargetState.h */,
@@ -19428,6 +19463,17 @@
1C28956E272F283800B3E2B4 /* GPUDevice.idl */,
1C28957C272F407800B3E2B4 /* GPUDeviceDescriptor.h */,
1C28956C272F27DA00B3E2B4 /* GPUDeviceDescriptor.idl */,
+ 1C2C21A527353D1F009ECA32 /* GPUDeviceError.idl */,
+ 1C2C21A727353D2C009ECA32 /* GPUDeviceLost.idl */,
+ 1C2C21A02735377D009ECA32 /* GPUDeviceLostInfo.cpp */,
+ 1C2C218D27353586009ECA32 /* GPUDeviceLostInfo.h */,
+ 1C2C218B27353586009ECA32 /* GPUDeviceLostInfo.idl */,
+ 1C2C219A2735358B009ECA32 /* GPUDeviceLostReason.h */,
+ 1C2C219327353589009ECA32 /* GPUDeviceLostReason.idl */,
+ 1C2C219B2735358C009ECA32 /* GPUDeviceUncapturedError.idl */,
+ 1C2C21992735358B009ECA32 /* GPUError.h */,
+ 1C2C218827353584009ECA32 /* GPUErrorFilter.h */,
+ 1C2C219027353588009ECA32 /* GPUErrorFilter.idl */,
1C81279B2734D8970068864F /* GPUExtent3DDict.h */,
1C8127B02734D8A00068864F /* GPUExtent3DDict.idl */,
1C8127B42734DE0D0068864F /* GPUExternalTexture.cpp */,
@@ -19471,6 +19517,8 @@
1CA4FD1B27351FC40027FD5A /* GPUOrigin2DDict.idl */,
1CA4FD1227351FC00027FD5A /* GPUOrigin3DDict.h */,
1CA4FD3227351FCD0027FD5A /* GPUOrigin3DDict.idl */,
+ 1C2C219227353588009ECA32 /* GPUOutOfMemoryError.h */,
+ 1C2C219C2735358C009ECA32 /* GPUOutOfMemoryError.idl */,
1CA4FCB627350CEC0027FD5A /* GPUPipelineBase.idl */,
1CA4FCC427350CF10027FD5A /* GPUPipelineDescriptorBase.h */,
1CA4FCB927350CED0027FD5A /* GPUPipelineDescriptorBase.idl */,
@@ -19591,6 +19639,14 @@
1C8127B22734D8A10068864F /* GPUTextureViewDescriptor.idl */,
1C8127A62734D89C0068864F /* GPUTextureViewDimension.h */,
1C8127AB2734D89E0068864F /* GPUTextureViewDimension.idl */,
+ 1C2C21A2273537E9009ECA32 /* GPUUncapturedErrorEvent.cpp */,
+ 1C2C21972735358A009ECA32 /* GPUUncapturedErrorEvent.h */,
+ 1C2C219E2735358D009ECA32 /* GPUUncapturedErrorEvent.idl */,
+ 1C2C219D2735358D009ECA32 /* GPUUncapturedErrorEventInit.h */,
+ 1C2C218527353584009ECA32 /* GPUUncapturedErrorEventInit.idl */,
+ 1C2C21A32735386C009ECA32 /* GPUValidationError.cpp */,
+ 1C2C21982735358B009ECA32 /* GPUValidationError.h */,
+ 1C2C218E27353587009ECA32 /* GPUValidationError.idl */,
1CA4FCBC27350CEE0027FD5A /* GPUVertexAttribute.h */,
1CA4FCAB27350CE80027FD5A /* GPUVertexAttribute.idl */,
1CA4FCAA27350CE70027FD5A /* GPUVertexBufferLayout.h */,
Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (285383 => 285384)
--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-11-06 23:07:22 UTC (rev 285383)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h 2021-11-06 23:17:47 UTC (rev 285384)
@@ -132,6 +132,7 @@
macro(GPUBindGroupLayout) \
macro(GPUBuffer) \
macro(GPUBufferUsage) \
+ macro(GPUCanvasContext) \
macro(GPUColorWrite) \
macro(GPUCommandBuffer) \
macro(GPUCommandEncoder) \
@@ -140,8 +141,10 @@
macro(GPUComputePassEncoder) \
macro(GPUComputePipeline) \
macro(GPUDevice) \
+ macro(GPUDeviceLostInfo) \
macro(GPUExternalTexture) \
macro(GPUMapMode) \
+ macro(GPUOutOfMemoryError) \
macro(GPUPipelineLayout) \
macro(GPUQuerySet) \
macro(GPUQueue) \
@@ -157,6 +160,8 @@
macro(GPUTexture) \
macro(GPUTextureUsage) \
macro(GPUTextureView) \
+ macro(GPUUncapturedErrorEvent) \
+ macro(GPUValidationError) \
macro(Gamepad) \
macro(GamepadButton) \
macro(GamepadEvent) \