Title: [285378] trunk/Source/WebCore
Revision
285378
Author
[email protected]
Date
2021-11-06 14:50:45 -0700 (Sat, 06 Nov 2021)

Log Message

[WebGPU] Bindings Part 3: Bring back Texture bindings code
https://bugs.webkit.org/show_bug.cgi?id=232609

Reviewed by Dean Jackson.

This is the third chunk of bindings code, brought back from r280467.
This chunk includes the Texture object. Its methods are just stubbed out
and do nothing - those implementations 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/GPUDevice.cpp:
(WebCore::GPUDevice::createTexture):
(WebCore::GPUDevice::importExternalTexture):
* Modules/WebGPU/GPUDevice.h:
* Modules/WebGPU/GPUDevice.idl:
* Modules/WebGPU/GPUExtent3DDict.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUExtent3DDict.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUExternalTexture.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
(WebCore::GPUExternalTexture::label const):
(WebCore::GPUExternalTexture::setLabel):
* Modules/WebGPU/GPUExternalTexture.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
(WebCore::GPUExternalTexture::create):
* Modules/WebGPU/GPUExternalTexture.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUExternalTextureDescriptor.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUExternalTextureDescriptor.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTexture.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
(WebCore::GPUTexture::createView const):
(WebCore::GPUTexture::destroy):
(WebCore::GPUTexture::label const):
(WebCore::GPUTexture::setLabel):
* Modules/WebGPU/GPUTexture.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
(WebCore::GPUTexture::create):
* Modules/WebGPU/GPUTexture.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureAspect.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureAspect.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureDescriptor.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureDescriptor.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureDimension.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureDimension.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureFormat.h: Added.
* Modules/WebGPU/GPUTextureFormat.idl: Added.
* Modules/WebGPU/GPUTextureUsage.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureUsage.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureView.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
(WebCore::GPUTextureView::label const):
(WebCore::GPUTextureView::setLabel):
* Modules/WebGPU/GPUTextureView.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
(WebCore::GPUTextureView::create):
* Modules/WebGPU/GPUTextureView.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureViewDescriptor.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureViewDescriptor.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureViewDimension.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Modules/WebGPU/GPUTextureViewDimension.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (285377 => 285378)


--- trunk/Source/WebCore/CMakeLists.txt	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/CMakeLists.txt	2021-11-06 21:50:45 UTC (rev 285378)
@@ -1475,6 +1475,9 @@
     Modules/WebGPU/GPUBufferUsage.idl
     Modules/WebGPU/GPUDevice.idl
     Modules/WebGPU/GPUDeviceDescriptor.idl
+    Modules/WebGPU/GPUExtent3DDict.idl
+    Modules/WebGPU/GPUExternalTexture.idl
+    Modules/WebGPU/GPUExternalTextureDescriptor.idl
     Modules/WebGPU/GPUFeatureName.idl
     Modules/WebGPU/GPUMapMode.idl
     Modules/WebGPU/GPUObjectBase.idl
@@ -1484,6 +1487,15 @@
     Modules/WebGPU/GPURequestAdapterOptions.idl
     Modules/WebGPU/GPUSupportedFeatures.idl
     Modules/WebGPU/GPUSupportedLimits.idl
+    Modules/WebGPU/GPUTexture.idl
+    Modules/WebGPU/GPUTextureAspect.idl
+    Modules/WebGPU/GPUTextureDescriptor.idl
+    Modules/WebGPU/GPUTextureDimension.idl
+    Modules/WebGPU/GPUTextureFormat.idl
+    Modules/WebGPU/GPUTextureUsage.idl
+    Modules/WebGPU/GPUTextureView.idl
+    Modules/WebGPU/GPUTextureViewDescriptor.idl
+    Modules/WebGPU/GPUTextureViewDimension.idl
     Modules/WebGPU/NavigatorGPU.idl
 )
 

Modified: trunk/Source/WebCore/ChangeLog (285377 => 285378)


--- trunk/Source/WebCore/ChangeLog	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/ChangeLog	2021-11-06 21:50:45 UTC (rev 285378)
@@ -1,5 +1,69 @@
 2021-11-04  Myles C. Maxfield  <[email protected]>
 
+        [WebGPU] Bindings Part 3: Bring back Texture bindings code
+        https://bugs.webkit.org/show_bug.cgi?id=232609
+
+        Reviewed by Dean Jackson.
+
+        This is the third chunk of bindings code, brought back from r280467.
+        This chunk includes the Texture object. Its methods are just stubbed out
+        and do nothing - those implementations 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/GPUDevice.cpp:
+        (WebCore::GPUDevice::createTexture):
+        (WebCore::GPUDevice::importExternalTexture):
+        * Modules/WebGPU/GPUDevice.h:
+        * Modules/WebGPU/GPUDevice.idl:
+        * Modules/WebGPU/GPUExtent3DDict.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUExtent3DDict.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUExternalTexture.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        (WebCore::GPUExternalTexture::label const):
+        (WebCore::GPUExternalTexture::setLabel):
+        * Modules/WebGPU/GPUExternalTexture.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        (WebCore::GPUExternalTexture::create):
+        * Modules/WebGPU/GPUExternalTexture.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUExternalTextureDescriptor.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUExternalTextureDescriptor.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTexture.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        (WebCore::GPUTexture::createView const):
+        (WebCore::GPUTexture::destroy):
+        (WebCore::GPUTexture::label const):
+        (WebCore::GPUTexture::setLabel):
+        * Modules/WebGPU/GPUTexture.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        (WebCore::GPUTexture::create):
+        * Modules/WebGPU/GPUTexture.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureAspect.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureAspect.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureDescriptor.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureDescriptor.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureDimension.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureDimension.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureFormat.h: Added.
+        * Modules/WebGPU/GPUTextureFormat.idl: Added.
+        * Modules/WebGPU/GPUTextureUsage.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureUsage.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureView.cpp: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        (WebCore::GPUTextureView::label const):
+        (WebCore::GPUTextureView::setLabel):
+        * Modules/WebGPU/GPUTextureView.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        (WebCore::GPUTextureView::create):
+        * Modules/WebGPU/GPUTextureView.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureViewDescriptor.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureViewDescriptor.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureViewDimension.h: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Modules/WebGPU/GPUTextureViewDimension.idl: Copied from Source/WebCore/Modules/WebGPU/GPUDevice.idl.
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/WebCoreBuiltinNames.h:
+
+2021-11-04  Myles C. Maxfield  <[email protected]>
+
         [WebGPU] Bindings part 2: Bring back Buffer bindings code
         https://bugs.webkit.org/show_bug.cgi?id=232560
 

Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (285377 => 285378)


--- trunk/Source/WebCore/DerivedSources-input.xcfilelist	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist	2021-11-06 21:50:45 UTC (rev 285378)
@@ -28,6 +28,9 @@
 $(PROJECT_DIR)/Modules/WebGPU/GPUBufferUsage.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUDevice.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUDeviceDescriptor.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUExtent3DDict.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUExternalTexture.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUExternalTextureDescriptor.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUFeatureName.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUMapMode.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUObjectBase.idl
@@ -38,6 +41,15 @@
 $(PROJECT_DIR)/Modules/WebGPU/GPUSize64.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUSupportedFeatures.idl
 $(PROJECT_DIR)/Modules/WebGPU/GPUSupportedLimits.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTexture.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTextureAspect.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTextureDescriptor.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTextureDimension.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTextureFormat.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTextureUsage.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTextureView.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTextureViewDescriptor.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUTextureViewDimension.idl
 $(PROJECT_DIR)/Modules/WebGPU/NavigatorGPU.idl
 $(PROJECT_DIR)/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl
 $(PROJECT_DIR)/Modules/applepay/ApplePayCancelEvent.idl

Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (285377 => 285378)


--- trunk/Source/WebCore/DerivedSources-output.xcfilelist	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist	2021-11-06 21:50:45 UTC (rev 285378)
@@ -881,6 +881,12 @@
 $(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/JSGPUExtent3DDict.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExtent3DDict.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExternalTexture.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExternalTexture.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExternalTextureDescriptor.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUExternalTextureDescriptor.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFeatureName.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFeatureName.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUMapMode.cpp
@@ -901,6 +907,24 @@
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSupportedFeatures.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSupportedLimits.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSupportedLimits.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTexture.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTexture.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureAspect.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureAspect.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureDescriptor.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureDescriptor.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureDimension.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureDimension.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureFormat.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureFormat.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureUsage.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureUsage.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureView.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureView.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDescriptor.cpp
+$(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/JSGainNode.cpp
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGainNode.h
 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGainOptions.cpp

Modified: trunk/Source/WebCore/DerivedSources.make (285377 => 285378)


--- trunk/Source/WebCore/DerivedSources.make	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/DerivedSources.make	2021-11-06 21:50:45 UTC (rev 285378)
@@ -60,6 +60,9 @@
     $(WebCore)/Modules/WebGPU/GPUBufferUsage.idl \
     $(WebCore)/Modules/WebGPU/GPUDevice.idl \
     $(WebCore)/Modules/WebGPU/GPUDeviceDescriptor.idl \
+    $(WebCore)/Modules/WebGPU/GPUExtent3DDict.idl \
+    $(WebCore)/Modules/WebGPU/GPUExternalTexture.idl \
+    $(WebCore)/Modules/WebGPU/GPUExternalTextureDescriptor.idl \
     $(WebCore)/Modules/WebGPU/GPUFeatureName.idl \
     $(WebCore)/Modules/WebGPU/GPUMapMode.idl \
     $(WebCore)/Modules/WebGPU/GPUObjectBase.idl \
@@ -69,6 +72,15 @@
     $(WebCore)/Modules/WebGPU/GPURequestAdapterOptions.idl \
     $(WebCore)/Modules/WebGPU/GPUSupportedFeatures.idl \
     $(WebCore)/Modules/WebGPU/GPUSupportedLimits.idl \
+    $(WebCore)/Modules/WebGPU/GPUTexture.idl \
+    $(WebCore)/Modules/WebGPU/GPUTextureAspect.idl \
+    $(WebCore)/Modules/WebGPU/GPUTextureDescriptor.idl \
+    $(WebCore)/Modules/WebGPU/GPUTextureDimension.idl \
+    $(WebCore)/Modules/WebGPU/GPUTextureFormat.idl \
+    $(WebCore)/Modules/WebGPU/GPUTextureUsage.idl \
+    $(WebCore)/Modules/WebGPU/GPUTextureView.idl \
+    $(WebCore)/Modules/WebGPU/GPUTextureViewDescriptor.idl \
+    $(WebCore)/Modules/WebGPU/GPUTextureViewDimension.idl \
     $(WebCore)/Modules/WebGPU/NavigatorGPU.idl \
     $(WebCore)/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl \
     $(WebCore)/Modules/applepay/ApplePayCancelEvent.idl \

Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp (285377 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp	2021-11-06 21:50:45 UTC (rev 285378)
@@ -28,8 +28,12 @@
 
 #include "GPUBuffer.h"
 #include "GPUBufferDescriptor.h"
+#include "GPUExternalTexture.h"
+#include "GPUExternalTextureDescriptor.h"
 #include "GPUSupportedFeatures.h"
 #include "GPUSupportedLimits.h"
+#include "GPUTexture.h"
+#include "GPUTextureDescriptor.h"
 
 namespace WebCore {
 
@@ -63,4 +67,14 @@
     return GPUBuffer::create();
 }
 
+Ref<GPUTexture> GPUDevice::createTexture(const GPUTextureDescriptor&)
+{
+    return GPUTexture::create();
 }
+
+Ref<GPUExternalTexture> GPUDevice::importExternalTexture(const GPUExternalTextureDescriptor&)
+{
+    return GPUExternalTexture::create();
+}
+
+}

Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h (285377 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -35,8 +35,12 @@
 
 class GPUBuffer;
 struct GPUBufferDescriptor;
+class GPUExternalTexture;
+struct GPUExternalTextureDescriptor;
 class GPUSupportedFeatures;
 class GPUSupportedLimits;
+class GPUTexture;
+struct GPUTextureDescriptor;
 
 class GPUDevice : public ActiveDOMObject, public EventTargetWithInlineData {
 public:
@@ -56,6 +60,8 @@
     void destroy();
 
     Ref<GPUBuffer> createBuffer(const GPUBufferDescriptor&);
+    Ref<GPUTexture> createTexture(const GPUTextureDescriptor&);
+    Ref<GPUExternalTexture> importExternalTexture(const GPUExternalTextureDescriptor&);
 
 private:
     GPUDevice(ScriptExecutionContext* scriptExecutionContext)
@@ -72,8 +78,6 @@
     ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); }
     void refEventTarget() final { ref(); }
     void derefEventTarget() final { deref(); }
-
-    String m_label;
 };
 
 }

Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl (285377 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -38,6 +38,8 @@
     undefined destroy();
 
     GPUBuffer createBuffer(GPUBufferDescriptor descriptor);
+    GPUTexture createTexture(GPUTextureDescriptor descriptor);
+    GPUExternalTexture importExternalTexture(GPUExternalTextureDescriptor descriptor);
 
     // FIXME: Add more here.
 };

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUExtent3DDict.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUExtent3DDict.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUExtent3DDict.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,40 @@
+/*
+ * 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 "GPUIntegralTypes.h"
+#include <variant>
+
+namespace WebCore {
+
+struct GPUExtent3DDict {
+    GPUIntegerCoordinate width;
+    GPUIntegerCoordinate height;
+    GPUIntegerCoordinate depthOrArrayLayers;
+};
+using GPUExtent3D = std::variant<Vector<GPUIntegerCoordinate>, GPUExtent3DDict>;
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUExtent3DDict.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUExtent3DDict.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUExtent3DDict.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,39 @@
+/*
+ * 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/#typedefdef-gpuextent3d
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUIntegerCoordinate;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUExtent3DDict {
+    required GPUIntegerCoordinate width;
+    GPUIntegerCoordinate height = 1;
+    GPUIntegerCoordinate depthOrArrayLayers = 1;
+};
+typedef (sequence<GPUIntegerCoordinate> or GPUExtent3DDict) GPUExtent3D;

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.cpp (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.cpp	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,40 @@
+/*
+ * 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 "GPUExternalTexture.h"
+
+namespace WebCore {
+
+String GPUExternalTexture::label() const
+{
+    return StringImpl::empty();
+}
+
+void GPUExternalTexture::setLabel(String&&)
+{
+}
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUExternalTexture : public RefCounted<GPUExternalTexture> {
+public:
+    static Ref<GPUExternalTexture> create()
+    {
+        return adoptRef(*new GPUExternalTexture());
+    }
+
+    String label() const;
+    void setLabel(String&&);
+
+private:
+    GPUExternalTexture() = default;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUExternalTexture.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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/#gpuexternaltexture
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUExternalTexture {
+};
+GPUExternalTexture includes GPUObjectBase;

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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.
+ */
+
+#pragma once
+
+#include "GPUObjectDescriptorBase.h"
+#include "GPUPredefinedColorSpace.h"
+#include "HTMLVideoElement.h"
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+class HTMLVideoElement;
+
+struct GPUExternalTextureDescriptor : public GPUObjectDescriptorBase {
+    RefPtr<HTMLVideoElement> source;
+    GPUPredefinedColorSpace colorSpace;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUExternalTextureDescriptor.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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/#dictdef-gpuexternaltexturedescriptor
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUExternalTextureDescriptor : GPUObjectDescriptorBase {
+    required HTMLVideoElement source;
+    GPUPredefinedColorSpace colorSpace = "srgb";
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTexture.cpp (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTexture.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTexture.cpp	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,51 @@
+/*
+ * 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 "GPUTexture.h"
+
+#include "GPUTextureView.h"
+
+namespace WebCore {
+
+Ref<GPUTextureView> GPUTexture::createView(const std::optional<GPUTextureViewDescriptor>&) const
+{
+    return GPUTextureView::create();
+}
+
+void GPUTexture::destroy()
+{
+}
+
+String GPUTexture::label() const
+{
+    return StringImpl::empty();
+}
+
+void GPUTexture::setLabel(String&&)
+{
+}
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTexture.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTexture.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTexture.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,56 @@
+/*
+ * 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 <optional>
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUTextureView;
+struct GPUTextureViewDescriptor;
+
+class GPUTexture : public RefCounted<GPUTexture> {
+public:
+    static Ref<GPUTexture> create()
+    {
+        return adoptRef(*new GPUTexture());
+    }
+
+    Ref<GPUTextureView> createView(const std::optional<GPUTextureViewDescriptor>&) const;
+
+    void destroy();
+
+    String label() const;
+    void setLabel(String&&);
+
+private:
+    GPUTexture() = default;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTexture.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTexture.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTexture.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,39 @@
+/*
+ * 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/#gputexture
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUTexture {
+    GPUTextureView createView(optional GPUTextureViewDescriptor descriptor);
+
+    undefined destroy();
+};
+GPUTexture includes GPUObjectBase;

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureAspect.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureAspect.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureAspect.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,38 @@
+/*
+ * 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 GPUTextureAspect : uint8_t {
+    All,
+    StencilOnly,
+    DepthOnly
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureAspect.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureAspect.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureAspect.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gputextureaspect
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUTextureAspect {
+    "all",
+    "stencil-only",
+    "depth-only"
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,46 @@
+/*
+ * 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 "GPUExtent3DDict.h"
+#include "GPUIntegralTypes.h"
+#include "GPUObjectDescriptorBase.h"
+#include "GPUTextureDimension.h"
+#include "GPUTextureFormat.h"
+#include "GPUTextureUsage.h"
+
+namespace WebCore {
+
+struct GPUTextureDescriptor : public GPUObjectDescriptorBase {
+    GPUExtent3D size;
+    GPUIntegerCoordinate mipLevelCount;
+    GPUSize32 sampleCount;
+    GPUTextureDimension dimension;
+    GPUTextureFormat format;
+    GPUTextureUsageFlags usage;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureDescriptor.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gputexturedescriptor
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 These shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUIntegerCoordinate;
+typedef [EnforceRange] unsigned long GPUSize32;
+typedef (sequence<GPUIntegerCoordinate> or GPUExtent3DDict) GPUExtent3D;
+typedef [EnforceRange] unsigned long GPUTextureUsageFlags;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUTextureDescriptor : GPUObjectDescriptorBase {
+    required GPUExtent3D size;
+    GPUIntegerCoordinate mipLevelCount = 1;
+    GPUSize32 sampleCount = 1;
+    GPUTextureDimension dimension = "2d";
+    required GPUTextureFormat format;
+    required GPUTextureUsageFlags usage;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureDimension.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureDimension.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureDimension.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,38 @@
+/*
+ * 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 GPUTextureDimension : uint8_t {
+    _1d,
+    _2d,
+    _3d
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureDimension.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureDimension.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureDimension.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gputexturedimension
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUTextureDimension {
+    "1d",
+    "2d",
+    "3d"
+};

Added: trunk/Source/WebCore/Modules/WebGPU/GPUTextureFormat.h (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureFormat.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureFormat.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,155 @@
+/*
+ * 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 GPUTextureFormat : uint8_t {
+    // 8-bit formats
+    R8unorm,
+    R8snorm,
+    R8uint,
+    R8sint,
+
+    // 16-bit formats
+    R16uint,
+    R16sint,
+    R16float,
+    Rg8unorm,
+    Rg8snorm,
+    Rg8uint,
+    Rg8sint,
+
+    // 32-bit formats
+    R32uint,
+    R32sint,
+    R32float,
+    Rg16uint,
+    Rg16sint,
+    Rg16float,
+    Rgba8unorm,
+    Rgba8unormSRGB,
+    Rgba8snorm,
+    Rgba8uint,
+    Rgba8sint,
+    Bgra8unorm,
+    Bgra8unormSRGB,
+    // Packed 32-bit formats
+    Rgb9e5ufloat,
+    Rgb10a2unorm,
+    Rg11b10ufloat,
+
+    // 64-bit formats
+    Rg32uint,
+    Rg32sint,
+    Rg32float,
+    Rgba16uint,
+    Rgba16sint,
+    Rgba16float,
+
+    // 128-bit formats
+    Rgba32uint,
+    Rgba32sint,
+    Rgba32float,
+
+    // Depth and stencil formats
+    Stencil8,
+    Depth16unorm,
+    Depth24plus,
+    Depth24plusStencil8,
+    Depth32float,
+
+    // BC compressed formats usable if texture-compression-bc is both
+    // supported by the device/user agent and enabled in requestDevice.
+    Bc1RgbaUnorm,
+    Bc1RgbaUnormSRGB,
+    Bc2RgbaUnorm,
+    Bc2RgbaUnormSRGB,
+    Bc3RgbaUnorm,
+    Bc3RgbaUnormSRGB,
+    Bc4RUnorm,
+    Bc4RSnorm,
+    Bc5RgUnorm,
+    Bc5RgSnorm,
+    Bc6hRgbUfloat,
+    Bc6hRgbFloat,
+    Bc7RgbaUnorm,
+    Bc7RgbaUnormSRGB,
+
+    // ETC2 compressed formats usable if texture-compression-etc2 is both
+    // supported by the device/user agent and enabled in requestDevice.
+    Etc2Rgb8unorm,
+    Etc2Rgb8unormSRGB,
+    Etc2Rgb8a1unorm,
+    Etc2Rgb8a1unormSRGB,
+    Etc2Rgba8unorm,
+    Etc2Rgba8unormSRGB,
+    EacR11unorm,
+    EacR11snorm,
+    EacRg11unorm,
+    EacRg11snorm,
+
+    // ASTC compressed formats usable if texture-compression-astc is both
+    // supported by the device/user agent and enabled in requestDevice.
+    Astc4x4Unorm,
+    Astc4x4UnormSRGB,
+    Astc5x4Unorm,
+    Astc5x4UnormSRGB,
+    Astc5x5Unorm,
+    Astc5x5UnormSRGB,
+    Astc6x5Unorm,
+    Astc6x5UnormSRGB,
+    Astc6x6Unorm,
+    Astc6x6UnormSRGB,
+    Astc8x5Unorm,
+    Astc8x5UnormSRGB,
+    Astc8x6Unorm,
+    Astc8x6UnormSRGB,
+    Astc8x8Unorm,
+    Astc8x8UnormSRGB,
+    Astc10x5Unorm,
+    Astc10x5UnormSRGB,
+    Astc10x6Unorm,
+    Astc10x6UnormSRGB,
+    Astc10x8Unorm,
+    Astc10x8UnormSRGB,
+    Astc10x10Unorm,
+    Astc10x10UnormSRGB,
+    Astc12x10Unorm,
+    Astc12x10UnormSRGB,
+    Astc12x12Unorm,
+    Astc12x12UnormSRGB,
+
+    // depth24unorm-stencil8 feature
+    Depth24unormStencil8,
+
+    // depth32float-stencil8 feature
+    Depth32floatStencil8
+};
+
+}
Property changes on: trunk/Source/WebCore/Modules/WebGPU/GPUTextureFormat.h
___________________________________________________________________

Added: svn:eol-style

+native \ No newline at end of property

Added: svn:keywords

+Author Date Id Rev URL \ No newline at end of property

Added: trunk/Source/WebCore/Modules/WebGPU/GPUTextureFormat.idl (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureFormat.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureFormat.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,152 @@
+/*
+ * 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-gputextureformat
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUTextureFormat {
+    // 8-bit formats
+    "r8unorm",
+    "r8snorm",
+    "r8uint",
+    "r8sint",
+
+    // 16-bit formats
+    "r16uint",
+    "r16sint",
+    "r16float",
+    "rg8unorm",
+    "rg8snorm",
+    "rg8uint",
+    "rg8sint",
+
+    // 32-bit formats
+    "r32uint",
+    "r32sint",
+    "r32float",
+    "rg16uint",
+    "rg16sint",
+    "rg16float",
+    "rgba8unorm",
+    "rgba8unorm-srgb",
+    "rgba8snorm",
+    "rgba8uint",
+    "rgba8sint",
+    "bgra8unorm",
+    "bgra8unorm-srgb",
+    // Packed 32-bit formats
+    "rgb9e5ufloat",
+    "rgb10a2unorm",
+    "rg11b10ufloat",
+
+    // 64-bit formats
+    "rg32uint",
+    "rg32sint",
+    "rg32float",
+    "rgba16uint",
+    "rgba16sint",
+    "rgba16float",
+
+    // 128-bit formats
+    "rgba32uint",
+    "rgba32sint",
+    "rgba32float",
+
+    // Depth and stencil formats
+    "stencil8",
+    "depth16unorm",
+    "depth24plus",
+    "depth24plus-stencil8",
+    "depth32float",
+
+    // BC compressed formats usable if "texture-compression-bc" is both
+    // supported by the device/user agent and enabled in requestDevice.
+    "bc1-rgba-unorm",
+    "bc1-rgba-unorm-srgb",
+    "bc2-rgba-unorm",
+    "bc2-rgba-unorm-srgb",
+    "bc3-rgba-unorm",
+    "bc3-rgba-unorm-srgb",
+    "bc4-r-unorm",
+    "bc4-r-snorm",
+    "bc5-rg-unorm",
+    "bc5-rg-snorm",
+    "bc6h-rgb-ufloat",
+    "bc6h-rgb-float",
+    "bc7-rgba-unorm",
+    "bc7-rgba-unorm-srgb",
+
+    // ETC2 compressed formats usable if "texture-compression-etc2" is both
+    // supported by the device/user agent and enabled in requestDevice.
+    "etc2-rgb8unorm",
+    "etc2-rgb8unorm-srgb",
+    "etc2-rgb8a1unorm",
+    "etc2-rgb8a1unorm-srgb",
+    "etc2-rgba8unorm",
+    "etc2-rgba8unorm-srgb",
+    "eac-r11unorm",
+    "eac-r11snorm",
+    "eac-rg11unorm",
+    "eac-rg11snorm",
+
+    // ASTC compressed formats usable if "texture-compression-astc" is both
+    // supported by the device/user agent and enabled in requestDevice.
+    "astc-4x4-unorm",
+    "astc-4x4-unorm-srgb",
+    "astc-5x4-unorm",
+    "astc-5x4-unorm-srgb",
+    "astc-5x5-unorm",
+    "astc-5x5-unorm-srgb",
+    "astc-6x5-unorm",
+    "astc-6x5-unorm-srgb",
+    "astc-6x6-unorm",
+    "astc-6x6-unorm-srgb",
+    "astc-8x5-unorm",
+    "astc-8x5-unorm-srgb",
+    "astc-8x6-unorm",
+    "astc-8x6-unorm-srgb",
+    "astc-8x8-unorm",
+    "astc-8x8-unorm-srgb",
+    "astc-10x5-unorm",
+    "astc-10x5-unorm-srgb",
+    "astc-10x6-unorm",
+    "astc-10x6-unorm-srgb",
+    "astc-10x8-unorm",
+    "astc-10x8-unorm-srgb",
+    "astc-10x10-unorm",
+    "astc-10x10-unorm-srgb",
+    "astc-12x10-unorm",
+    "astc-12x10-unorm-srgb",
+    "astc-12x12-unorm",
+    "astc-12x12-unorm-srgb",
+
+    // "depth24unorm-stencil8" feature
+    "depth24unorm-stencil8",
+
+    // "depth32float-stencil8" feature
+    "depth32float-stencil8"
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureUsage.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureUsage.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureUsage.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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 "GPUIntegralTypes.h"
+#include <cstdint>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+using GPUTextureUsageFlags = uint32_t;
+class GPUTextureUsage : public RefCounted<GPUTextureUsage> {
+public:
+    static constexpr GPUFlagsConstant COPY_SRC          = 0x01;
+    static constexpr GPUFlagsConstant COPY_DST          = 0x02;
+    static constexpr GPUFlagsConstant TEXTURE_BINDING   = 0x04;
+    static constexpr GPUFlagsConstant STORAGE_BINDING   = 0x08;
+    static constexpr GPUFlagsConstant RENDER_ATTACHMENT = 0x10;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureUsage.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureUsage.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureUsage.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,41 @@
+/*
+ * 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/#namespacedef-gputextureusage
+
+typedef [EnforceRange] unsigned long GPUTextureUsageFlags;
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUTextureUsage {
+    const GPUFlagsConstant COPY_SRC          = 0x01;
+    const GPUFlagsConstant COPY_DST          = 0x02;
+    const GPUFlagsConstant TEXTURE_BINDING   = 0x04;
+    const GPUFlagsConstant STORAGE_BINDING   = 0x08;
+    const GPUFlagsConstant RENDER_ATTACHMENT = 0x10;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.cpp (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.cpp	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.cpp	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,40 @@
+/*
+ * 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 "GPUTextureView.h"
+
+namespace WebCore {
+
+String GPUTextureView::label() const
+{
+    return StringImpl::empty();
+}
+
+void GPUTextureView::setLabel(String&&)
+{
+}
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUTextureView : public RefCounted<GPUTextureView> {
+public:
+    static Ref<GPUTextureView> create()
+    {
+        return adoptRef(*new GPUTextureView());
+    }
+
+    String label() const;
+    void setLabel(String&&);
+
+private:
+    GPUTextureView() = default;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureView.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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/#gputextureview
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUTextureView {
+};
+GPUTextureView includes GPUObjectBase;

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,47 @@
+/*
+ * 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 "GPUIntegralTypes.h"
+#include "GPUObjectDescriptorBase.h"
+#include "GPUTextureAspect.h"
+#include "GPUTextureFormat.h"
+#include "GPUTextureViewDimension.h"
+#include <optional>
+
+namespace WebCore {
+
+struct GPUTextureViewDescriptor : public GPUObjectDescriptorBase {
+    std::optional<GPUTextureFormat> format;
+    std::optional<GPUTextureViewDimension> dimension;
+    GPUTextureAspect aspect;
+    GPUIntegerCoordinate baseMipLevel;
+    std::optional<GPUIntegerCoordinate> mipLevelCount;
+    GPUIntegerCoordinate baseArrayLayer;
+    std::optional<GPUIntegerCoordinate> arrayLayerCount;
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDescriptor.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -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/#dictdef-gputextureviewdescriptor
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUIntegerCoordinate;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUTextureViewDescriptor : GPUObjectDescriptorBase {
+    GPUTextureFormat format;
+    GPUTextureViewDimension dimension;
+    GPUTextureAspect aspect = "all";
+    GPUIntegerCoordinate baseMipLevel = 0;
+    GPUIntegerCoordinate mipLevelCount;
+    GPUIntegerCoordinate baseArrayLayer = 0;
+    GPUIntegerCoordinate arrayLayerCount;
+};

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDimension.h (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDimension.h	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDimension.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,41 @@
+/*
+ * 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 GPUTextureViewDimension : uint8_t {
+    _1d,
+    _2d,
+    _2dArray,
+    Cube,
+    CubeArray,
+    _3d
+};
+
+}

Copied: trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDimension.idl (from rev 285377, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285378)


--- trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDimension.idl	                        (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUTextureViewDimension.idl	2021-11-06 21:50:45 UTC (rev 285378)
@@ -0,0 +1,38 @@
+/*
+ * 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-gputextureviewdimension
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUTextureViewDimension {
+    "1d",
+    "2d",
+    "2d-array",
+    "cube",
+    "cube-array",
+    "3d"
+};

Modified: trunk/Source/WebCore/Sources.txt (285377 => 285378)


--- trunk/Source/WebCore/Sources.txt	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/Sources.txt	2021-11-06 21:50:45 UTC (rev 285378)
@@ -25,8 +25,11 @@
 Modules/WebGPU/GPUAdapter.cpp
 Modules/WebGPU/GPUBuffer.cpp
 Modules/WebGPU/GPUDevice.cpp
+Modules/WebGPU/GPUExternalTexture.cpp
 Modules/WebGPU/GPUSupportedFeatures.cpp
 Modules/WebGPU/GPUSupportedLimits.cpp
+Modules/WebGPU/GPUTexture.cpp
+Modules/WebGPU/GPUTextureView.cpp
 Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp
 Modules/applicationmanifest/ApplicationManifestParser.cpp
 Modules/async-clipboard/Clipboard.cpp
@@ -3078,6 +3081,9 @@
 JSGPUBufferUsage.cpp
 JSGPUDevice.cpp
 JSGPUDeviceDescriptor.cpp
+JSGPUExtent3DDict.cpp
+JSGPUExternalTexture.cpp
+JSGPUExternalTextureDescriptor.cpp
 JSGPUFeatureName.cpp
 JSGPUMapMode.cpp
 JSGPUObjectBase.cpp
@@ -3087,6 +3093,15 @@
 JSGPURequestAdapterOptions.cpp
 JSGPUSupportedFeatures.cpp
 JSGPUSupportedLimits.cpp
+JSGPUTexture.cpp
+JSGPUTextureAspect.cpp
+JSGPUTextureDescriptor.cpp
+JSGPUTextureDimension.cpp
+JSGPUTextureFormat.cpp
+JSGPUTextureUsage.cpp
+JSGPUTextureView.cpp
+JSGPUTextureViewDescriptor.cpp
+JSGPUTextureViewDimension.cpp
 JSGainNode.cpp
 JSGainOptions.cpp
 JSGamepad.cpp

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (285377 => 285378)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-11-06 21:50:45 UTC (rev 285378)
@@ -7084,6 +7084,32 @@
 		1C81278B2734C5F80068864F /* GPUBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUBuffer.h; sourceTree = "<group>"; };
 		1C81278C2734C5F80068864F /* GPUBufferDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUBufferDescriptor.h; sourceTree = "<group>"; };
 		1C81278D2734C5F90068864F /* GPUMapMode.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUMapMode.idl; sourceTree = "<group>"; };
+		1C8127992734D8960068864F /* GPUTextureUsage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureUsage.h; sourceTree = "<group>"; };
+		1C81279B2734D8970068864F /* GPUExtent3DDict.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUExtent3DDict.h; sourceTree = "<group>"; };
+		1C81279C2734D8970068864F /* GPUTextureView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureView.h; sourceTree = "<group>"; };
+		1C81279D2734D8980068864F /* GPUTextureDimension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureDimension.h; sourceTree = "<group>"; };
+		1C81279E2734D8980068864F /* GPUTexture.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTexture.idl; sourceTree = "<group>"; };
+		1C81279F2734D8990068864F /* GPUTextureView.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureView.idl; sourceTree = "<group>"; };
+		1C8127A02734D8990068864F /* GPUTextureFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureFormat.h; sourceTree = "<group>"; };
+		1C8127A12734D89A0068864F /* GPUExternalTextureDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUExternalTextureDescriptor.h; sourceTree = "<group>"; };
+		1C8127A22734D89A0068864F /* GPUTextureDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureDescriptor.h; sourceTree = "<group>"; };
+		1C8127A32734D89B0068864F /* GPUTextureDescriptor.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureDescriptor.idl; sourceTree = "<group>"; };
+		1C8127A42734D89B0068864F /* GPUTextureAspect.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureAspect.idl; sourceTree = "<group>"; };
+		1C8127A52734D89B0068864F /* GPUExternalTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUExternalTexture.h; sourceTree = "<group>"; };
+		1C8127A62734D89C0068864F /* GPUTextureViewDimension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureViewDimension.h; sourceTree = "<group>"; };
+		1C8127A72734D89C0068864F /* GPUTextureFormat.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureFormat.idl; sourceTree = "<group>"; };
+		1C8127A82734D89D0068864F /* GPUTextureAspect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureAspect.h; sourceTree = "<group>"; };
+		1C8127A92734D89D0068864F /* GPUTextureUsage.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureUsage.idl; sourceTree = "<group>"; };
+		1C8127AA2734D89E0068864F /* GPUExternalTextureDescriptor.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUExternalTextureDescriptor.idl; sourceTree = "<group>"; };
+		1C8127AB2734D89E0068864F /* GPUTextureViewDimension.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureViewDimension.idl; sourceTree = "<group>"; };
+		1C8127AC2734D89F0068864F /* GPUTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTexture.h; sourceTree = "<group>"; };
+		1C8127AD2734D89F0068864F /* GPUTextureViewDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureViewDescriptor.h; sourceTree = "<group>"; };
+		1C8127AE2734D89F0068864F /* GPUTextureDimension.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureDimension.idl; sourceTree = "<group>"; };
+		1C8127AF2734D8A00068864F /* GPUExternalTexture.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUExternalTexture.idl; sourceTree = "<group>"; };
+		1C8127B02734D8A00068864F /* GPUExtent3DDict.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUExtent3DDict.idl; sourceTree = "<group>"; };
+		1C8127B12734D8A10068864F /* GPUTexture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUTexture.cpp; sourceTree = "<group>"; };
+		1C8127B22734D8A10068864F /* GPUTextureViewDescriptor.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureViewDescriptor.idl; sourceTree = "<group>"; };
+		1C8127B42734DE0D0068864F /* GPUExternalTexture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUExternalTexture.cpp; sourceTree = "<group>"; };
 		1C81B9560E97330800266E07 /* InspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorController.h; sourceTree = "<group>"; };
 		1C81B9570E97330800266E07 /* InspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorController.cpp; sourceTree = "<group>"; };
 		1C81B9580E97330800266E07 /* InspectorClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorClient.h; sourceTree = "<group>"; };
@@ -7090,6 +7116,7 @@
 		1C84BE4126D3939F002D61FC /* ComposedCharacterClusterTextIterator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ComposedCharacterClusterTextIterator.h; sourceTree = "<group>"; };
 		1C8D26D022C09CDE00D125F3 /* libcompression.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcompression.tbd; path = usr/lib/libcompression.tbd; sourceTree = SDKROOT; };
 		1C904DF90BA9D2C80081E9D0 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = "<group>"; };
+		1CA4FC4C2734DEC20027FD5A /* GPUTextureView.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUTextureView.cpp; sourceTree = "<group>"; };
 		1CAF347E0A6C405200ABE06E /* WebScriptObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptObject.h; sourceTree = "<group>"; };
 		1CAF347F0A6C405200ABE06E /* WebScriptObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebScriptObject.mm; sourceTree = "<group>"; };
 		1CAF34800A6C405200ABE06E /* WebScriptObjectPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptObjectPrivate.h; sourceTree = "<group>"; };
@@ -19127,6 +19154,13 @@
 				1C28956E272F283800B3E2B4 /* GPUDevice.idl */,
 				1C28957C272F407800B3E2B4 /* GPUDeviceDescriptor.h */,
 				1C28956C272F27DA00B3E2B4 /* GPUDeviceDescriptor.idl */,
+				1C81279B2734D8970068864F /* GPUExtent3DDict.h */,
+				1C8127B02734D8A00068864F /* GPUExtent3DDict.idl */,
+				1C8127B42734DE0D0068864F /* GPUExternalTexture.cpp */,
+				1C8127A52734D89B0068864F /* GPUExternalTexture.h */,
+				1C8127AF2734D8A00068864F /* GPUExternalTexture.idl */,
+				1C8127A12734D89A0068864F /* GPUExternalTextureDescriptor.h */,
+				1C8127AA2734D89E0068864F /* GPUExternalTextureDescriptor.idl */,
 				1C289580272F47B000B3E2B4 /* GPUFeatureName.h */,
 				1C28956D272F280800B3E2B4 /* GPUFeatureName.idl */,
 				1C8127872734C5F70068864F /* GPUIntegralTypes.h */,
@@ -19147,6 +19181,26 @@
 				1C8127712734B4130068864F /* GPUSupportedLimits.cpp */,
 				1C289563272E6F8A00B3E2B4 /* GPUSupportedLimits.h */,
 				1C289560272E6CCA00B3E2B4 /* GPUSupportedLimits.idl */,
+				1C8127B12734D8A10068864F /* GPUTexture.cpp */,
+				1C8127AC2734D89F0068864F /* GPUTexture.h */,
+				1C81279E2734D8980068864F /* GPUTexture.idl */,
+				1C8127A82734D89D0068864F /* GPUTextureAspect.h */,
+				1C8127A42734D89B0068864F /* GPUTextureAspect.idl */,
+				1C8127A22734D89A0068864F /* GPUTextureDescriptor.h */,
+				1C8127A32734D89B0068864F /* GPUTextureDescriptor.idl */,
+				1C81279D2734D8980068864F /* GPUTextureDimension.h */,
+				1C8127AE2734D89F0068864F /* GPUTextureDimension.idl */,
+				1C8127A02734D8990068864F /* GPUTextureFormat.h */,
+				1C8127A72734D89C0068864F /* GPUTextureFormat.idl */,
+				1C8127992734D8960068864F /* GPUTextureUsage.h */,
+				1C8127A92734D89D0068864F /* GPUTextureUsage.idl */,
+				1CA4FC4C2734DEC20027FD5A /* GPUTextureView.cpp */,
+				1C81279C2734D8970068864F /* GPUTextureView.h */,
+				1C81279F2734D8990068864F /* GPUTextureView.idl */,
+				1C8127AD2734D89F0068864F /* GPUTextureViewDescriptor.h */,
+				1C8127B22734D8A10068864F /* GPUTextureViewDescriptor.idl */,
+				1C8127A62734D89C0068864F /* GPUTextureViewDimension.h */,
+				1C8127AB2734D89E0068864F /* GPUTextureViewDimension.idl */,
 				1C28956A272F277E00B3E2B4 /* NavigatorGPU.idl */,
 			);
 			path = WebGPU;

Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (285377 => 285378)


--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h	2021-11-06 21:08:52 UTC (rev 285377)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h	2021-11-06 21:50:45 UTC (rev 285378)
@@ -131,9 +131,13 @@
     macro(GPUBuffer) \
     macro(GPUBufferUsage) \
     macro(GPUDevice) \
+    macro(GPUExternalTexture) \
     macro(GPUMapMode) \
     macro(GPUSupportedFeatures) \
     macro(GPUSupportedLimits) \
+    macro(GPUTexture) \
+    macro(GPUTextureUsage) \
+    macro(GPUTextureView) \
     macro(Gamepad) \
     macro(GamepadButton) \
     macro(GamepadEvent) \
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to