<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[213762] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/213762">213762</a></dd>
<dt>Author</dt> <dd>dino@apple.com</dd>
<dt>Date</dt> <dd>2017-03-11 15:09:26 -0800 (Sat, 11 Mar 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>WebGPU prototype - Front-End
https://bugs.webkit.org/show_bug.cgi?id=167952

Patch by Jon Lee &lt;jonlee@apple.com&gt; on 2017-03-11
Reviewed by Dean Jackson.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h: Add WebGPU objects.

Source/WebCore:

This patch adds all of the relevant front-end files, and builds successfully when
ENABLE(WEBGPU) is off. For the back-end components that are not yet
implemented, a stub was added with a FIXME.

* DerivedSources.make: Add all the new IDL files.
* WebCore.xcodeproj/project.pbxproj: New IDL, front-end and generated files.

JS custom bindings.
* bindings/js/JSDocumentCustom.cpp: Add WebGPU clause for getCSSCanvasContext.
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp: Added.
* bindings/js/JSWebGPURenderingContextCustom.cpp: Added.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::isWebGPUType):
(WebCore::HTMLCanvasElement::getContextWebGPU):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::isGPU):
(WebCore::HTMLCanvasElement::getContextWebGPU): For release builds, switch to ASSERT_UNUSED.
* html/HTMLCanvasElement.h:
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::isGPU):

.cpp, .h, .idl files, wrapped in WEBGPU conditional, and enabled at runtime.
* html/canvas/WebGPUBuffer:
* html/canvas/WebGPUCommandBuffer:
* html/canvas/WebGPUCommandQueue:
* html/canvas/WebGPUDepthStencilDescriptor:
* html/canvas/WebGPUDepthStencilState:
* html/canvas/WebGPUDrawable:
* html/canvas/WebGPUEnums:
* html/canvas/WebGPUFunction:
* html/canvas/WebGPULibrary:
* html/canvas/WebGPUObject (no IDL):
* html/canvas/WebGPURenderCommandEncoder:
* html/canvas/WebGPURenderPassAttachmentDescriptor:
* html/canvas/WebGPURenderPassColorAttachmentDescriptor:
* html/canvas/WebGPURenderPassDepthAttachmentDescriptor:
* html/canvas/WebGPURenderPassDescriptor:
* html/canvas/WebGPURenderPipelineColorAttachmentDescriptor:
* html/canvas/WebGPURenderPipelineDescriptor:
* html/canvas/WebGPURenderPipelineState:
* html/canvas/WebGPURenderingContext:
* html/canvas/WebGPUTexture:
* html/canvas/WebGPUTextureDescriptor:  Add stubs.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonIdentifiersh">trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDocumentCustomcpp">trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSHTMLCanvasElementCustomcpp">trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLCanvasElementcpp">trunk/Source/WebCore/html/HTMLCanvasElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLCanvasElementh">trunk/Source/WebCore/html/HTMLCanvasElement.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContexth">trunk/Source/WebCore/html/canvas/CanvasRenderingContext.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh">trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorebindingsjsJSWebGPURenderPassAttachmentDescriptorCustomcpp">trunk/Source/WebCore/bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSWebGPURenderingContextCustomcpp">trunk/Source/WebCore/bindings/js/JSWebGPURenderingContextCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUBuffercpp">trunk/Source/WebCore/html/canvas/WebGPUBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUBufferh">trunk/Source/WebCore/html/canvas/WebGPUBuffer.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUBufferidl">trunk/Source/WebCore/html/canvas/WebGPUBuffer.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUCommandBuffercpp">trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUCommandBufferh">trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUCommandBufferidl">trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUCommandQueuecpp">trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUCommandQueueh">trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUCommandQueueidl">trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDepthStencilDescriptorcpp">trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDepthStencilDescriptorh">trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDepthStencilDescriptoridl">trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDepthStencilStatecpp">trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDepthStencilStateh">trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDepthStencilStateidl">trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDrawablecpp">trunk/Source/WebCore/html/canvas/WebGPUDrawable.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDrawableh">trunk/Source/WebCore/html/canvas/WebGPUDrawable.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUDrawableidl">trunk/Source/WebCore/html/canvas/WebGPUDrawable.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUEnumscpp">trunk/Source/WebCore/html/canvas/WebGPUEnums.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUEnumsh">trunk/Source/WebCore/html/canvas/WebGPUEnums.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUEnumsidl">trunk/Source/WebCore/html/canvas/WebGPUEnums.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUFunctioncpp">trunk/Source/WebCore/html/canvas/WebGPUFunction.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUFunctionh">trunk/Source/WebCore/html/canvas/WebGPUFunction.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUFunctionidl">trunk/Source/WebCore/html/canvas/WebGPUFunction.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPULibrarycpp">trunk/Source/WebCore/html/canvas/WebGPULibrary.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPULibraryh">trunk/Source/WebCore/html/canvas/WebGPULibrary.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPULibraryidl">trunk/Source/WebCore/html/canvas/WebGPULibrary.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUObjectcpp">trunk/Source/WebCore/html/canvas/WebGPUObject.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUObjecth">trunk/Source/WebCore/html/canvas/WebGPUObject.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderCommandEncodercpp">trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderCommandEncoderh">trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderCommandEncoderidl">trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassAttachmentDescriptorcpp">trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassAttachmentDescriptorh">trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassAttachmentDescriptoridl">trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassColorAttachmentDescriptorcpp">trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassColorAttachmentDescriptorh">trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassColorAttachmentDescriptoridl">trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassDepthAttachmentDescriptorcpp">trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassDepthAttachmentDescriptorh">trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassDepthAttachmentDescriptoridl">trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassDescriptorcpp">trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassDescriptorh">trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPassDescriptoridl">trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineColorAttachmentDescriptorcpp">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineColorAttachmentDescriptorh">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineColorAttachmentDescriptoridl">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineDescriptorcpp">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineDescriptorh">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineDescriptoridl">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineStatecpp">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineStateh">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderPipelineStateidl">trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderingContextcpp">trunk/Source/WebCore/html/canvas/WebGPURenderingContext.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderingContexth">trunk/Source/WebCore/html/canvas/WebGPURenderingContext.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPURenderingContextidl">trunk/Source/WebCore/html/canvas/WebGPURenderingContext.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUTexturecpp">trunk/Source/WebCore/html/canvas/WebGPUTexture.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUTextureh">trunk/Source/WebCore/html/canvas/WebGPUTexture.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUTextureidl">trunk/Source/WebCore/html/canvas/WebGPUTexture.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUTextureDescriptorcpp">trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUTextureDescriptorh">trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.h</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasWebGPUTextureDescriptoridl">trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/JavaScriptCore/ChangeLog        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2017-03-11  Jon Lee  &lt;jonlee@apple.com&gt;
+
+        WebGPU prototype - Front-End
+        https://bugs.webkit.org/show_bug.cgi?id=167952
+
+        Reviewed by Dean Jackson.
+
+        * runtime/CommonIdentifiers.h: Add WebGPU objects.
+
</ins><span class="cx"> 2017-03-10  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         The JITs should be able to emit fast TLS loads
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonIdentifiersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -126,6 +126,25 @@
</span><span class="cx">     macro(WeakSet)\
</span><span class="cx">     macro(WebGL2RenderingContext) \
</span><span class="cx">     macro(WebGLVertexArrayObject) \
</span><ins>+    macro(WebGPUBuffer) \
+    macro(WebGPUCommandBuffer) \
+    macro(WebGPUCommandQueue) \
+    macro(WebGPUDepthStencilDescriptor) \
+    macro(WebGPUDepthStencilState) \
+    macro(WebGPUDrawable) \
+    macro(WebGPUFunction) \
+    macro(WebGPULibrary) \
+    macro(WebGPURenderCommandEncoder) \
+    macro(WebGPURenderPassAttachmentDescriptor) \
+    macro(WebGPURenderPassColorAttachmentDescriptor) \
+    macro(WebGPURenderPassDepthAttachmentDescriptor) \
+    macro(WebGPURenderPassDescriptor) \
+    macro(WebGPURenderPipelineColorAttachmentDescriptor) \
+    macro(WebGPURenderPipelineDescriptor) \
+    macro(WebGPURenderPipelineState) \
+    macro(WebGPURenderingContext) \
+    macro(WebGPUTexture) \
+    macro(WebGPUTextureDescriptor) \
</ins><span class="cx">     macro(WebSocket) \
</span><span class="cx">     macro(__defineGetter__) \
</span><span class="cx">     macro(__defineSetter__) \
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/ChangeLog        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1,3 +1,58 @@
</span><ins>+2017-03-11  Jon Lee  &lt;jonlee@apple.com&gt;
+
+        WebGPU prototype - Front-End
+        https://bugs.webkit.org/show_bug.cgi?id=167952
+
+        Reviewed by Dean Jackson.
+
+        This patch adds all of the relevant front-end files, and builds successfully when
+        ENABLE(WEBGPU) is off. For the back-end components that are not yet
+        implemented, a stub was added with a FIXME.
+
+        * DerivedSources.make: Add all the new IDL files.
+        * WebCore.xcodeproj/project.pbxproj: New IDL, front-end and generated files.
+
+        JS custom bindings.
+        * bindings/js/JSDocumentCustom.cpp: Add WebGPU clause for getCSSCanvasContext.
+        * bindings/js/JSHTMLCanvasElementCustom.cpp:
+        (WebCore::JSHTMLCanvasElement::getContext):
+        * bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp: Added.
+        * bindings/js/JSWebGPURenderingContextCustom.cpp: Added.
+        * html/HTMLCanvasElement.cpp:
+        (WebCore::HTMLCanvasElement::getContext):
+        (WebCore::HTMLCanvasElement::isWebGPUType):
+        (WebCore::HTMLCanvasElement::getContextWebGPU):
+        (WebCore::HTMLCanvasElement::reset):
+        (WebCore::HTMLCanvasElement::paint):
+        (WebCore::HTMLCanvasElement::isGPU):
+        (WebCore::HTMLCanvasElement::getContextWebGPU): For release builds, switch to ASSERT_UNUSED.
+        * html/HTMLCanvasElement.h:
+        * html/canvas/CanvasRenderingContext.h:
+        (WebCore::CanvasRenderingContext::isGPU):
+
+        .cpp, .h, .idl files, wrapped in WEBGPU conditional, and enabled at runtime.
+        * html/canvas/WebGPUBuffer:
+        * html/canvas/WebGPUCommandBuffer:
+        * html/canvas/WebGPUCommandQueue:
+        * html/canvas/WebGPUDepthStencilDescriptor:
+        * html/canvas/WebGPUDepthStencilState:
+        * html/canvas/WebGPUDrawable:
+        * html/canvas/WebGPUEnums:
+        * html/canvas/WebGPUFunction:
+        * html/canvas/WebGPULibrary:
+        * html/canvas/WebGPUObject (no IDL):
+        * html/canvas/WebGPURenderCommandEncoder:
+        * html/canvas/WebGPURenderPassAttachmentDescriptor:
+        * html/canvas/WebGPURenderPassColorAttachmentDescriptor:
+        * html/canvas/WebGPURenderPassDepthAttachmentDescriptor:
+        * html/canvas/WebGPURenderPassDescriptor:
+        * html/canvas/WebGPURenderPipelineColorAttachmentDescriptor:
+        * html/canvas/WebGPURenderPipelineDescriptor:
+        * html/canvas/WebGPURenderPipelineState:
+        * html/canvas/WebGPURenderingContext:
+        * html/canvas/WebGPUTexture:
+        * html/canvas/WebGPUTextureDescriptor:  Add stubs.
+
</ins><span class="cx"> 2017-03-11  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Cleanup &quot;addCookie&quot; and its sole user.
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/DerivedSources.make        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-# Copyright (C) 2006-2008, 2012, 2014-2015 Apple Inc. All rights reserved.
</del><ins>+# Copyright (C) 2006-2008, 2012, 2014-2015, 2017 Apple Inc. All rights reserved.
</ins><span class="cx"> # Copyright (C) 2006 Samuel Weinig &lt;sam.weinig@gmail.com&gt;
</span><span class="cx"> # Copyright (C) 2009 Cameron McCormack &lt;cam@mcc.id.au&gt;
</span><span class="cx"> #
</span><span class="lines">@@ -562,6 +562,25 @@
</span><span class="cx">     $(WebCore)/html/canvas/WebGLUniformLocation.idl \
</span><span class="cx">     $(WebCore)/html/canvas/WebGLVertexArrayObject.idl \
</span><span class="cx">     $(WebCore)/html/canvas/WebGLVertexArrayObjectOES.idl \
</span><ins>+    $(WebCore)/html/canvas/WebGPUBuffer.idl \
+    $(WebCore)/html/canvas/WebGPUCommandBuffer.idl \
+    $(WebCore)/html/canvas/WebGPUCommandQueue.idl \
+    $(WebCore)/html/canvas/WebGPUDepthStencilDescriptor.idl \
+    $(WebCore)/html/canvas/WebGPUDepthStencilState.idl \
+    $(WebCore)/html/canvas/WebGPUDrawable.idl \
+    $(WebCore)/html/canvas/WebGPUFunction.idl \
+    $(WebCore)/html/canvas/WebGPULibrary.idl \
+    $(WebCore)/html/canvas/WebGPURenderCommandEncoder.idl \
+    $(WebCore)/html/canvas/WebGPURenderingContext.idl \
+    $(WebCore)/html/canvas/WebGPURenderPassAttachmentDescriptor.idl \
+    $(WebCore)/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl \
+    $(WebCore)/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl \
+    $(WebCore)/html/canvas/WebGPURenderPassDescriptor.idl \
+    $(WebCore)/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl \
+    $(WebCore)/html/canvas/WebGPURenderPipelineDescriptor.idl \
+    $(WebCore)/html/canvas/WebGPURenderPipelineState.idl \
+    $(WebCore)/html/canvas/WebGPUTexture.idl \
+    $(WebCore)/html/canvas/WebGPUTextureDescriptor.idl \
</ins><span class="cx">     $(WebCore)/html/track/AudioTrack.idl \
</span><span class="cx">     $(WebCore)/html/track/AudioTrackList.idl \
</span><span class="cx">     $(WebCore)/html/track/DataCue.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1405,6 +1405,67 @@
</span><span class="cx">                 319AE063142D6B24006563A1 /* StyleFilterData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319AE061142D6B24006563A1 /* StyleFilterData.cpp */; };
</span><span class="cx">                 319AE064142D6B24006563A1 /* StyleFilterData.h in Headers */ = {isa = PBXBuildFile; fileRef = 319AE062142D6B24006563A1 /* StyleFilterData.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 319FBD5F15D2F464009640A6 /* CachedImageClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 319FBD5D15D2F444009640A6 /* CachedImageClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                31A089041E737D51003B6609 /* WebGPUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088C61E737B4D003B6609 /* WebGPUBuffer.cpp */; };
+                31A089051E737D51003B6609 /* WebGPUCommandBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088C91E737B4D003B6609 /* WebGPUCommandBuffer.cpp */; };
+                31A089061E737D51003B6609 /* WebGPUCommandQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088CC1E737B4D003B6609 /* WebGPUCommandQueue.cpp */; };
+                31A089071E737D51003B6609 /* WebGPUDepthStencilDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088CF1E737B4D003B6609 /* WebGPUDepthStencilDescriptor.cpp */; };
+                31A089081E737D51003B6609 /* WebGPUDepthStencilState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088D21E737B4D003B6609 /* WebGPUDepthStencilState.cpp */; };
+                31A089091E737D51003B6609 /* WebGPUDrawable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088D51E737B4D003B6609 /* WebGPUDrawable.cpp */; };
+                31A0890A1E737D51003B6609 /* WebGPUEnums.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088D81E737B4D003B6609 /* WebGPUEnums.cpp */; };
+                31A0890B1E737D51003B6609 /* WebGPUFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088DB1E737B4D003B6609 /* WebGPUFunction.cpp */; };
+                31A0890C1E737D51003B6609 /* WebGPULibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088DE1E737B4D003B6609 /* WebGPULibrary.cpp */; };
+                31A0890D1E737D51003B6609 /* WebGPUObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088E11E737B4D003B6609 /* WebGPUObject.cpp */; };
+                31A0890E1E737D51003B6609 /* WebGPURenderCommandEncoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088E31E737B4D003B6609 /* WebGPURenderCommandEncoder.cpp */; };
+                31A0890F1E737D51003B6609 /* WebGPURenderingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088E61E737B4D003B6609 /* WebGPURenderingContext.cpp */; };
+                31A089101E737D51003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088E91E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp */; };
+                31A089111E737D51003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088EC1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp */; };
+                31A089121E737D51003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088EF1E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp */; };
+                31A089131E737D51003B6609 /* WebGPURenderPassDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088F21E737B4D003B6609 /* WebGPURenderPassDescriptor.cpp */; };
+                31A089141E737D51003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088F51E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp */; };
+                31A089151E737D51003B6609 /* WebGPURenderPipelineDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088F81E737B4D003B6609 /* WebGPURenderPipelineDescriptor.cpp */; };
+                31A089161E737D51003B6609 /* WebGPURenderPipelineState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088FB1E737B4D003B6609 /* WebGPURenderPipelineState.cpp */; };
+                31A089171E737D51003B6609 /* WebGPUTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088FE1E737B4D003B6609 /* WebGPUTexture.cpp */; };
+                31A089181E737D51003B6609 /* WebGPUTextureDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089011E737B4D003B6609 /* WebGPUTextureDescriptor.cpp */; };
+                31A089191E737D55003B6609 /* JSWebGPURenderingContextCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088C41E737B2C003B6609 /* JSWebGPURenderingContextCustom.cpp */; };
+                31A0891A1E737D55003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A088C51E737B2C003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp */; };
+                31A089541E738D59003B6609 /* JSWebGPUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0891B1E738D59003B6609 /* JSWebGPUBuffer.cpp */; };
+                31A089561E738D59003B6609 /* JSWebGPUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0891D1E738D59003B6609 /* JSWebGPUBuffer.h */; };
+                31A089571E738D59003B6609 /* JSWebGPUCommandBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0891E1E738D59003B6609 /* JSWebGPUCommandBuffer.cpp */; };
+                31A089591E738D59003B6609 /* JSWebGPUCommandBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089201E738D59003B6609 /* JSWebGPUCommandBuffer.h */; };
+                31A0895A1E738D59003B6609 /* JSWebGPUCommandQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089211E738D59003B6609 /* JSWebGPUCommandQueue.cpp */; };
+                31A0895C1E738D59003B6609 /* JSWebGPUCommandQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089231E738D59003B6609 /* JSWebGPUCommandQueue.h */; };
+                31A0895D1E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089241E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp */; };
+                31A0895F1E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089261E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h */; };
+                31A089601E738D59003B6609 /* JSWebGPUDepthStencilState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089271E738D59003B6609 /* JSWebGPUDepthStencilState.cpp */; };
+                31A089621E738D59003B6609 /* JSWebGPUDepthStencilState.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089291E738D59003B6609 /* JSWebGPUDepthStencilState.h */; };
+                31A089631E738D59003B6609 /* JSWebGPUDrawable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0892A1E738D59003B6609 /* JSWebGPUDrawable.cpp */; };
+                31A089651E738D59003B6609 /* JSWebGPUDrawable.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0892C1E738D59003B6609 /* JSWebGPUDrawable.h */; };
+                31A089661E738D59003B6609 /* JSWebGPUFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0892D1E738D59003B6609 /* JSWebGPUFunction.cpp */; };
+                31A089681E738D59003B6609 /* JSWebGPUFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0892F1E738D59003B6609 /* JSWebGPUFunction.h */; };
+                31A089691E738D59003B6609 /* JSWebGPULibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089301E738D59003B6609 /* JSWebGPULibrary.cpp */; };
+                31A0896B1E738D59003B6609 /* JSWebGPULibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089321E738D59003B6609 /* JSWebGPULibrary.h */; };
+                31A0896C1E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089331E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp */; };
+                31A0896E1E738D5A003B6609 /* JSWebGPURenderCommandEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089351E738D59003B6609 /* JSWebGPURenderCommandEncoder.h */; };
+                31A0896F1E738D5A003B6609 /* JSWebGPURenderingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089361E738D59003B6609 /* JSWebGPURenderingContext.cpp */; };
+                31A089711E738D5A003B6609 /* JSWebGPURenderingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089381E738D59003B6609 /* JSWebGPURenderingContext.h */; };
+                31A089721E738D5A003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089391E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp */; };
+                31A089741E738D5A003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0893B1E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h */; };
+                31A089751E738D5A003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0893C1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp */; };
+                31A089771E738D5A003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0893E1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h */; };
+                31A089781E738D5A003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0893F1E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp */; };
+                31A0897A1E738D5A003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089411E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h */; };
+                31A0897B1E738D5A003B6609 /* JSWebGPURenderPassDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089421E738D59003B6609 /* JSWebGPURenderPassDescriptor.cpp */; };
+                31A0897D1E738D5A003B6609 /* JSWebGPURenderPassDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089441E738D59003B6609 /* JSWebGPURenderPassDescriptor.h */; };
+                31A0897E1E738D5A003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089451E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp */; };
+                31A089801E738D5A003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089471E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h */; };
+                31A089811E738D5A003B6609 /* JSWebGPURenderPipelineDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089481E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.cpp */; };
+                31A089831E738D5A003B6609 /* JSWebGPURenderPipelineDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0894A1E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.h */; };
+                31A089841E738D5A003B6609 /* JSWebGPURenderPipelineState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0894B1E738D59003B6609 /* JSWebGPURenderPipelineState.cpp */; };
+                31A089861E738D5A003B6609 /* JSWebGPURenderPipelineState.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A0894D1E738D59003B6609 /* JSWebGPURenderPipelineState.h */; };
+                31A089871E738D5A003B6609 /* JSWebGPUTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A0894E1E738D59003B6609 /* JSWebGPUTexture.cpp */; };
+                31A089891E738D5A003B6609 /* JSWebGPUTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089501E738D59003B6609 /* JSWebGPUTexture.h */; };
+                31A0898A1E738D5A003B6609 /* JSWebGPUTextureDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A089511E738D59003B6609 /* JSWebGPUTextureDescriptor.cpp */; };
+                31A0898C1E738D5A003B6609 /* JSWebGPUTextureDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A089531E738D59003B6609 /* JSWebGPUTextureDescriptor.h */; };
</ins><span class="cx">                 31A795C61888BADC00382F90 /* JSANGLEInstancedArrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A795C41888BAD100382F90 /* JSANGLEInstancedArrays.cpp */; };
</span><span class="cx">                 31A795C71888BCB200382F90 /* ANGLEInstancedArrays.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A795C21888B72400382F90 /* ANGLEInstancedArrays.h */; };
</span><span class="cx">                 31A795C81888BCB500382F90 /* ANGLEInstancedArrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A795C11888B72400382F90 /* ANGLEInstancedArrays.cpp */; };
</span><span class="lines">@@ -8779,6 +8840,108 @@
</span><span class="cx">                 319AE061142D6B24006563A1 /* StyleFilterData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleFilterData.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 319AE062142D6B24006563A1 /* StyleFilterData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleFilterData.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 319FBD5D15D2F444009640A6 /* CachedImageClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedImageClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                31A088C41E737B2C003B6609 /* JSWebGPURenderingContextCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGPURenderingContextCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088C51E737B2C003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGPURenderPassAttachmentDescriptorCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088C61E737B4D003B6609 /* WebGPUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUBuffer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088C71E737B4D003B6609 /* WebGPUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUBuffer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088C81E737B4D003B6609 /* WebGPUBuffer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUBuffer.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088C91E737B4D003B6609 /* WebGPUCommandBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUCommandBuffer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088CA1E737B4D003B6609 /* WebGPUCommandBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUCommandBuffer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088CB1E737B4D003B6609 /* WebGPUCommandBuffer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUCommandBuffer.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088CC1E737B4D003B6609 /* WebGPUCommandQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUCommandQueue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088CD1E737B4D003B6609 /* WebGPUCommandQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUCommandQueue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088CE1E737B4D003B6609 /* WebGPUCommandQueue.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUCommandQueue.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088CF1E737B4D003B6609 /* WebGPUDepthStencilDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDepthStencilDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D01E737B4D003B6609 /* WebGPUDepthStencilDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDepthStencilDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D11E737B4D003B6609 /* WebGPUDepthStencilDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDepthStencilDescriptor.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D21E737B4D003B6609 /* WebGPUDepthStencilState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDepthStencilState.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D31E737B4D003B6609 /* WebGPUDepthStencilState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDepthStencilState.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D41E737B4D003B6609 /* WebGPUDepthStencilState.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDepthStencilState.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D51E737B4D003B6609 /* WebGPUDrawable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDrawable.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D61E737B4D003B6609 /* WebGPUDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDrawable.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D71E737B4D003B6609 /* WebGPUDrawable.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDrawable.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D81E737B4D003B6609 /* WebGPUEnums.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUEnums.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088D91E737B4D003B6609 /* WebGPUEnums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUEnums.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088DA1E737B4D003B6609 /* WebGPUEnums.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUEnums.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088DB1E737B4D003B6609 /* WebGPUFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUFunction.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088DC1E737B4D003B6609 /* WebGPUFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUFunction.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088DD1E737B4D003B6609 /* WebGPUFunction.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUFunction.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088DE1E737B4D003B6609 /* WebGPULibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPULibrary.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088DF1E737B4D003B6609 /* WebGPULibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPULibrary.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E01E737B4D003B6609 /* WebGPULibrary.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPULibrary.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E11E737B4D003B6609 /* WebGPUObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUObject.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E21E737B4D003B6609 /* WebGPUObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUObject.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E31E737B4D003B6609 /* WebGPURenderCommandEncoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderCommandEncoder.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E41E737B4D003B6609 /* WebGPURenderCommandEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderCommandEncoder.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E51E737B4D003B6609 /* WebGPURenderCommandEncoder.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderCommandEncoder.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E61E737B4D003B6609 /* WebGPURenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderingContext.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E71E737B4D003B6609 /* WebGPURenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderingContext.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E81E737B4D003B6609 /* WebGPURenderingContext.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderingContext.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088E91E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088EA1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088EB1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassAttachmentDescriptor.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088EC1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassColorAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088ED1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassColorAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088EE1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassColorAttachmentDescriptor.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088EF1E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassDepthAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F01E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassDepthAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F11E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassDepthAttachmentDescriptor.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F21E737B4D003B6609 /* WebGPURenderPassDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F31E737B4D003B6609 /* WebGPURenderPassDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F41E737B4D003B6609 /* WebGPURenderPassDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassDescriptor.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F51E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineColorAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F61E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineColorAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F71E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineColorAttachmentDescriptor.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F81E737B4D003B6609 /* WebGPURenderPipelineDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088F91E737B4D003B6609 /* WebGPURenderPipelineDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088FA1E737B4D003B6609 /* WebGPURenderPipelineDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineDescriptor.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088FB1E737B4D003B6609 /* WebGPURenderPipelineState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineState.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088FC1E737B4D003B6609 /* WebGPURenderPipelineState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineState.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088FD1E737B4D003B6609 /* WebGPURenderPipelineState.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineState.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088FE1E737B4D003B6609 /* WebGPUTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUTexture.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A088FF1E737B4D003B6609 /* WebGPUTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUTexture.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089001E737B4D003B6609 /* WebGPUTexture.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUTexture.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089011E737B4D003B6609 /* WebGPUTextureDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUTextureDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089021E737B4D003B6609 /* WebGPUTextureDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUTextureDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089031E737B4D003B6609 /* WebGPUTextureDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUTextureDescriptor.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0891B1E738D59003B6609 /* JSWebGPUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUBuffer.cpp; path = JSWebGPUBuffer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0891D1E738D59003B6609 /* JSWebGPUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUBuffer.h; path = JSWebGPUBuffer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0891E1E738D59003B6609 /* JSWebGPUCommandBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUCommandBuffer.cpp; path = JSWebGPUCommandBuffer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089201E738D59003B6609 /* JSWebGPUCommandBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUCommandBuffer.h; path = JSWebGPUCommandBuffer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089211E738D59003B6609 /* JSWebGPUCommandQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUCommandQueue.cpp; path = JSWebGPUCommandQueue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089231E738D59003B6609 /* JSWebGPUCommandQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUCommandQueue.h; path = JSWebGPUCommandQueue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089241E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDepthStencilDescriptor.cpp; path = JSWebGPUDepthStencilDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089261E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDepthStencilDescriptor.h; path = JSWebGPUDepthStencilDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089271E738D59003B6609 /* JSWebGPUDepthStencilState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDepthStencilState.cpp; path = JSWebGPUDepthStencilState.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089291E738D59003B6609 /* JSWebGPUDepthStencilState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDepthStencilState.h; path = JSWebGPUDepthStencilState.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0892A1E738D59003B6609 /* JSWebGPUDrawable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDrawable.cpp; path = JSWebGPUDrawable.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0892C1E738D59003B6609 /* JSWebGPUDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDrawable.h; path = JSWebGPUDrawable.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0892D1E738D59003B6609 /* JSWebGPUFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUFunction.cpp; path = JSWebGPUFunction.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0892F1E738D59003B6609 /* JSWebGPUFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUFunction.h; path = JSWebGPUFunction.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089301E738D59003B6609 /* JSWebGPULibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPULibrary.cpp; path = JSWebGPULibrary.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089321E738D59003B6609 /* JSWebGPULibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPULibrary.h; path = JSWebGPULibrary.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089331E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderCommandEncoder.cpp; path = JSWebGPURenderCommandEncoder.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089351E738D59003B6609 /* JSWebGPURenderCommandEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderCommandEncoder.h; path = JSWebGPURenderCommandEncoder.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089361E738D59003B6609 /* JSWebGPURenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderingContext.cpp; path = JSWebGPURenderingContext.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089381E738D59003B6609 /* JSWebGPURenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderingContext.h; path = JSWebGPURenderingContext.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089391E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassAttachmentDescriptor.cpp; path = JSWebGPURenderPassAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0893B1E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassAttachmentDescriptor.h; path = JSWebGPURenderPassAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0893C1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassColorAttachmentDescriptor.cpp; path = JSWebGPURenderPassColorAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0893E1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassColorAttachmentDescriptor.h; path = JSWebGPURenderPassColorAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0893F1E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassDepthAttachmentDescriptor.cpp; path = JSWebGPURenderPassDepthAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089411E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassDepthAttachmentDescriptor.h; path = JSWebGPURenderPassDepthAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089421E738D59003B6609 /* JSWebGPURenderPassDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassDescriptor.cpp; path = JSWebGPURenderPassDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089441E738D59003B6609 /* JSWebGPURenderPassDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassDescriptor.h; path = JSWebGPURenderPassDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089451E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineColorAttachmentDescriptor.cpp; path = JSWebGPURenderPipelineColorAttachmentDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089471E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineColorAttachmentDescriptor.h; path = JSWebGPURenderPipelineColorAttachmentDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089481E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineDescriptor.cpp; path = JSWebGPURenderPipelineDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0894A1E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineDescriptor.h; path = JSWebGPURenderPipelineDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0894B1E738D59003B6609 /* JSWebGPURenderPipelineState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineState.cpp; path = JSWebGPURenderPipelineState.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0894D1E738D59003B6609 /* JSWebGPURenderPipelineState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineState.h; path = JSWebGPURenderPipelineState.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A0894E1E738D59003B6609 /* JSWebGPUTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUTexture.cpp; path = JSWebGPUTexture.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089501E738D59003B6609 /* JSWebGPUTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUTexture.h; path = JSWebGPUTexture.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089511E738D59003B6609 /* JSWebGPUTextureDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUTextureDescriptor.cpp; path = JSWebGPUTextureDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                31A089531E738D59003B6609 /* JSWebGPUTextureDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUTextureDescriptor.h; path = JSWebGPUTextureDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 31A795C11888B72400382F90 /* ANGLEInstancedArrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ANGLEInstancedArrays.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 31A795C21888B72400382F90 /* ANGLEInstancedArrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ANGLEInstancedArrays.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 31A795C31888B72400382F90 /* ANGLEInstancedArrays.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ANGLEInstancedArrays.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -17547,6 +17710,68 @@
</span><span class="cx">                                 77A17A7412F28642004E02F6 /* WebGLVertexArrayObjectOES.cpp */,
</span><span class="cx">                                 77A17A7512F28642004E02F6 /* WebGLVertexArrayObjectOES.h */,
</span><span class="cx">                                 77A17A7612F28642004E02F6 /* WebGLVertexArrayObjectOES.idl */,
</span><ins>+                                31A088C61E737B4D003B6609 /* WebGPUBuffer.cpp */,
+                                31A088C71E737B4D003B6609 /* WebGPUBuffer.h */,
+                                31A088C81E737B4D003B6609 /* WebGPUBuffer.idl */,
+                                31A088C91E737B4D003B6609 /* WebGPUCommandBuffer.cpp */,
+                                31A088CA1E737B4D003B6609 /* WebGPUCommandBuffer.h */,
+                                31A088CB1E737B4D003B6609 /* WebGPUCommandBuffer.idl */,
+                                31A088CC1E737B4D003B6609 /* WebGPUCommandQueue.cpp */,
+                                31A088CD1E737B4D003B6609 /* WebGPUCommandQueue.h */,
+                                31A088CE1E737B4D003B6609 /* WebGPUCommandQueue.idl */,
+                                31A088CF1E737B4D003B6609 /* WebGPUDepthStencilDescriptor.cpp */,
+                                31A088D01E737B4D003B6609 /* WebGPUDepthStencilDescriptor.h */,
+                                31A088D11E737B4D003B6609 /* WebGPUDepthStencilDescriptor.idl */,
+                                31A088D21E737B4D003B6609 /* WebGPUDepthStencilState.cpp */,
+                                31A088D31E737B4D003B6609 /* WebGPUDepthStencilState.h */,
+                                31A088D41E737B4D003B6609 /* WebGPUDepthStencilState.idl */,
+                                31A088D51E737B4D003B6609 /* WebGPUDrawable.cpp */,
+                                31A088D61E737B4D003B6609 /* WebGPUDrawable.h */,
+                                31A088D71E737B4D003B6609 /* WebGPUDrawable.idl */,
+                                31A088D81E737B4D003B6609 /* WebGPUEnums.cpp */,
+                                31A088D91E737B4D003B6609 /* WebGPUEnums.h */,
+                                31A088DA1E737B4D003B6609 /* WebGPUEnums.idl */,
+                                31A088DB1E737B4D003B6609 /* WebGPUFunction.cpp */,
+                                31A088DC1E737B4D003B6609 /* WebGPUFunction.h */,
+                                31A088DD1E737B4D003B6609 /* WebGPUFunction.idl */,
+                                31A088DE1E737B4D003B6609 /* WebGPULibrary.cpp */,
+                                31A088DF1E737B4D003B6609 /* WebGPULibrary.h */,
+                                31A088E01E737B4D003B6609 /* WebGPULibrary.idl */,
+                                31A088E11E737B4D003B6609 /* WebGPUObject.cpp */,
+                                31A088E21E737B4D003B6609 /* WebGPUObject.h */,
+                                31A088E31E737B4D003B6609 /* WebGPURenderCommandEncoder.cpp */,
+                                31A088E41E737B4D003B6609 /* WebGPURenderCommandEncoder.h */,
+                                31A088E51E737B4D003B6609 /* WebGPURenderCommandEncoder.idl */,
+                                31A088E61E737B4D003B6609 /* WebGPURenderingContext.cpp */,
+                                31A088E71E737B4D003B6609 /* WebGPURenderingContext.h */,
+                                31A088E81E737B4D003B6609 /* WebGPURenderingContext.idl */,
+                                31A088E91E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp */,
+                                31A088EA1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.h */,
+                                31A088EB1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.idl */,
+                                31A088EC1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp */,
+                                31A088ED1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.h */,
+                                31A088EE1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.idl */,
+                                31A088EF1E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp */,
+                                31A088F01E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.h */,
+                                31A088F11E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.idl */,
+                                31A088F21E737B4D003B6609 /* WebGPURenderPassDescriptor.cpp */,
+                                31A088F31E737B4D003B6609 /* WebGPURenderPassDescriptor.h */,
+                                31A088F41E737B4D003B6609 /* WebGPURenderPassDescriptor.idl */,
+                                31A088F51E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp */,
+                                31A088F61E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.h */,
+                                31A088F71E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.idl */,
+                                31A088F81E737B4D003B6609 /* WebGPURenderPipelineDescriptor.cpp */,
+                                31A088F91E737B4D003B6609 /* WebGPURenderPipelineDescriptor.h */,
+                                31A088FA1E737B4D003B6609 /* WebGPURenderPipelineDescriptor.idl */,
+                                31A088FB1E737B4D003B6609 /* WebGPURenderPipelineState.cpp */,
+                                31A088FC1E737B4D003B6609 /* WebGPURenderPipelineState.h */,
+                                31A088FD1E737B4D003B6609 /* WebGPURenderPipelineState.idl */,
+                                31A088FE1E737B4D003B6609 /* WebGPUTexture.cpp */,
+                                31A088FF1E737B4D003B6609 /* WebGPUTexture.h */,
+                                31A089001E737B4D003B6609 /* WebGPUTexture.idl */,
+                                31A089011E737B4D003B6609 /* WebGPUTextureDescriptor.cpp */,
+                                31A089021E737B4D003B6609 /* WebGPUTextureDescriptor.h */,
+                                31A089031E737B4D003B6609 /* WebGPUTextureDescriptor.idl */,
</ins><span class="cx">                         );
</span><span class="cx">                         path = canvas;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -20887,6 +21112,44 @@
</span><span class="cx">                                 6F995A301A70833700A735F4 /* JSWebGLVertexArrayObject.h */,
</span><span class="cx">                                 77EF62F112F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.cpp */,
</span><span class="cx">                                 77EF62F212F9DB7400C77BD2 /* JSWebGLVertexArrayObjectOES.h */,
</span><ins>+                                31A0891B1E738D59003B6609 /* JSWebGPUBuffer.cpp */,
+                                31A0891D1E738D59003B6609 /* JSWebGPUBuffer.h */,
+                                31A0891E1E738D59003B6609 /* JSWebGPUCommandBuffer.cpp */,
+                                31A089201E738D59003B6609 /* JSWebGPUCommandBuffer.h */,
+                                31A089211E738D59003B6609 /* JSWebGPUCommandQueue.cpp */,
+                                31A089231E738D59003B6609 /* JSWebGPUCommandQueue.h */,
+                                31A089241E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp */,
+                                31A089261E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h */,
+                                31A089271E738D59003B6609 /* JSWebGPUDepthStencilState.cpp */,
+                                31A089291E738D59003B6609 /* JSWebGPUDepthStencilState.h */,
+                                31A0892A1E738D59003B6609 /* JSWebGPUDrawable.cpp */,
+                                31A0892C1E738D59003B6609 /* JSWebGPUDrawable.h */,
+                                31A0892D1E738D59003B6609 /* JSWebGPUFunction.cpp */,
+                                31A0892F1E738D59003B6609 /* JSWebGPUFunction.h */,
+                                31A089301E738D59003B6609 /* JSWebGPULibrary.cpp */,
+                                31A089321E738D59003B6609 /* JSWebGPULibrary.h */,
+                                31A089331E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp */,
+                                31A089351E738D59003B6609 /* JSWebGPURenderCommandEncoder.h */,
+                                31A089361E738D59003B6609 /* JSWebGPURenderingContext.cpp */,
+                                31A089381E738D59003B6609 /* JSWebGPURenderingContext.h */,
+                                31A089391E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp */,
+                                31A0893B1E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h */,
+                                31A0893C1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp */,
+                                31A0893E1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h */,
+                                31A0893F1E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp */,
+                                31A089411E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h */,
+                                31A089421E738D59003B6609 /* JSWebGPURenderPassDescriptor.cpp */,
+                                31A089441E738D59003B6609 /* JSWebGPURenderPassDescriptor.h */,
+                                31A089451E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp */,
+                                31A089471E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h */,
+                                31A089481E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.cpp */,
+                                31A0894A1E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.h */,
+                                31A0894B1E738D59003B6609 /* JSWebGPURenderPipelineState.cpp */,
+                                31A0894D1E738D59003B6609 /* JSWebGPURenderPipelineState.h */,
+                                31A0894E1E738D59003B6609 /* JSWebGPUTexture.cpp */,
+                                31A089501E738D59003B6609 /* JSWebGPUTexture.h */,
+                                31A089511E738D59003B6609 /* JSWebGPUTextureDescriptor.cpp */,
+                                31A089531E738D59003B6609 /* JSWebGPUTextureDescriptor.h */,
</ins><span class="cx">                                 0FDA7C241883333200C954B5 /* JSWebKitPlaybackTargetAvailabilityEvent.cpp */,
</span><span class="cx">                                 0FDA7C251883333200C954B5 /* JSWebKitPlaybackTargetAvailabilityEvent.h */,
</span><span class="cx">                         );
</span><span class="lines">@@ -22853,8 +23116,8 @@
</span><span class="cx">                                 7A74ECBC101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp */,
</span><span class="cx">                                 BCE1C43F0D9830F4003B02F2 /* JSLocationCustom.cpp */,
</span><span class="cx">                                 2D9BF7481DBFDDF8007A7D99 /* JSMediaKeySessionCustom.cpp */,
</span><ins>+                                415CDAF61E6CE0D3004F11EE /* JSMediaStreamTrackCustom.cpp */,
</ins><span class="cx">                                 410B7E711045FAB000D8224F /* JSMessageEventCustom.cpp */,
</span><del>-                                415CDAF61E6CE0D3004F11EE /* JSMediaStreamTrackCustom.cpp */,
</del><span class="cx">                                 A1E5B31D1AAD1DA4006EBEFB /* JSMockContentFilterSettingsCustom.cpp */,
</span><span class="cx">                                 C6F0917E143A2BB900685849 /* JSMutationObserverCustom.cpp */,
</span><span class="cx">                                 BCD9C2600C17AA67005C90A2 /* JSNodeCustom.cpp */,
</span><span class="lines">@@ -22868,6 +23131,8 @@
</span><span class="cx">                                 7C73FB17191EF808007DE061 /* JSUserMessageHandlersNamespaceCustom.cpp */,
</span><span class="cx">                                 BE6DF708171CA2C500DD52B8 /* JSVideoTrackCustom.cpp */,
</span><span class="cx">                                 D3F3D35A1A69A3B00059FC2B /* JSWebGLRenderingContextBaseCustom.cpp */,
</span><ins>+                                31A088C41E737B2C003B6609 /* JSWebGPURenderingContextCustom.cpp */,
+                                31A088C51E737B2C003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp */,
</ins><span class="cx">                                 E1FF8F661807460800132674 /* JSWebKitSubtleCryptoCustom.cpp */,
</span><span class="cx">                                 E1CA5CBB0E8CDCAF00E8EF90 /* JSWorkerCustom.cpp */,
</span><span class="cx">                                 E18258AB0EF3CD7000933242 /* JSWorkerGlobalScopeCustom.cpp */,
</span><span class="lines">@@ -25677,6 +25942,7 @@
</span><span class="cx">                                 7C6523011E00D03400677F22 /* ApplePayPayment.h in Headers */,
</span><span class="cx">                                 1A8A64521D19FCFB00D0E00F /* ApplePayPaymentAuthorizedEvent.h in Headers */,
</span><span class="cx">                                 7C6522FB1E00C90900677F22 /* ApplePayPaymentContact.h in Headers */,
</span><ins>+                                31A089561E738D59003B6609 /* JSWebGPUBuffer.h in Headers */,
</ins><span class="cx">                                 7C6522EF1E00A4C700677F22 /* ApplePayPaymentMethod.h in Headers */,
</span><span class="cx">                                 1A8A64561D19FCFC00D0E00F /* ApplePayPaymentMethodSelectedEvent.h in Headers */,
</span><span class="cx">                                 7C6522F51E00A51700677F22 /* ApplePayPaymentPass.h in Headers */,
</span><span class="lines">@@ -25706,6 +25972,7 @@
</span><span class="cx">                                 FD31607A12B026F700C1A359 /* AudioArray.h in Headers */,
</span><span class="cx">                                 FD629EA3154B47160006D026 /* AudioBasicInspectorNode.h in Headers */,
</span><span class="cx">                                 FD315FF712B0267600C1A359 /* AudioBasicProcessorNode.h in Headers */,
</span><ins>+                                31A089891E738D5A003B6609 /* JSWebGPUTexture.h in Headers */,
</ins><span class="cx">                                 FD315FF912B0267600C1A359 /* AudioBuffer.h in Headers */,
</span><span class="cx">                                 FD5686CC13AC181400B69C68 /* AudioBufferCallback.h in Headers */,
</span><span class="cx">                                 FD315FFC12B0267600C1A359 /* AudioBufferSourceNode.h in Headers */,
</span><span class="lines">@@ -25831,6 +26098,7 @@
</span><span class="cx">                                 1A569CFC0D7E2B82007C3983 /* c_runtime.h in Headers */,
</span><span class="cx">                                 1A569CFE0D7E2B82007C3983 /* c_utility.h in Headers */,
</span><span class="cx">                                 07C046C41E42508B007201E7 /* CAAudioStreamDescription.h in Headers */,
</span><ins>+                                31A089651E738D59003B6609 /* JSWebGPUDrawable.h in Headers */,
</ins><span class="cx">                                 BCB16C1A0979C3BD00467741 /* CachedCSSStyleSheet.h in Headers */,
</span><span class="cx">                                 BC64B4CC0CB4295D005F2B62 /* CachedFont.h in Headers */,
</span><span class="cx">                                 1AEF4E67170E160300AB2799 /* CachedFontClient.h in Headers */,
</span><span class="lines">@@ -25940,6 +26208,7 @@
</span><span class="cx">                                 79F2F5A21091939A000D87CB /* CompositionEvent.h in Headers */,
</span><span class="cx">                                 FD31608F12B026F700C1A359 /* Cone.h in Headers */,
</span><span class="cx">                                 65C97AF308EA908800ACD273 /* config.h in Headers */,
</span><ins>+                                31A0896E1E738D5A003B6609 /* JSWebGPURenderCommandEncoder.h in Headers */,
</ins><span class="cx">                                 A818721C0977D3C0005826D9 /* ContainerNode.h in Headers */,
</span><span class="cx">                                 E1A1470811102B1500EEC0F3 /* ContainerNodeAlgorithms.h in Headers */,
</span><span class="cx">                                 BC5EB9810E82072500B25965 /* ContentData.h in Headers */,
</span><span class="lines">@@ -26142,6 +26411,7 @@
</span><span class="cx">                                 BC7D8FF01BD03B6400FFE540 /* CSSUnsetValue.h in Headers */,
</span><span class="cx">                                 A80E6CEE0A1989CA007FB8C5 /* CSSValue.h in Headers */,
</span><span class="cx">                                 6565815109D13043000E61D7 /* CSSValueKeywords.h in Headers */,
</span><ins>+                                31A089591E738D59003B6609 /* JSWebGPUCommandBuffer.h in Headers */,
</ins><span class="cx">                                 A80E6CE90A1989CA007FB8C5 /* CSSValueList.h in Headers */,
</span><span class="cx">                                 E49BD9FA131FD2ED003C56F0 /* CSSValuePool.h in Headers */,
</span><span class="cx">                                 9444CBE81D8861C20073A074 /* CSSVariableData.h in Headers */,
</span><span class="lines">@@ -26167,6 +26437,7 @@
</span><span class="cx">                                 97BC6A301505F081001B74AC /* DatabaseThread.h in Headers */,
</span><span class="cx">                                 97BC6A321505F081001B74AC /* DatabaseTracker.h in Headers */,
</span><span class="cx">                                 BE23480D18A9871400E4B6E8 /* DataCue.h in Headers */,
</span><ins>+                                31A0895C1E738D59003B6609 /* JSWebGPUCommandQueue.h in Headers */,
</ins><span class="cx">                                 C5227DF11C3C6DF100F5ED54 /* DataDetection.h in Headers */,
</span><span class="cx">                                 7C7941E51C56C29300A4C58E /* DataDetectorsCoreSoftLink.h in Headers */,
</span><span class="cx">                                 935E2B4E1AFF06CA00976F9F /* DataDetectorsCoreSPI.h in Headers */,
</span><span class="lines">@@ -26173,6 +26444,7 @@
</span><span class="cx">                                 2D59F1BF1A0044C6001F3D29 /* DataDetectorsSPI.h in Headers */,
</span><span class="cx">                                 2DC4CF791D2DD98900ECCC94 /* DataDetectorsUISPI.h in Headers */,
</span><span class="cx">                                 BC22746F0E83664500E7F975 /* DataRef.h in Headers */,
</span><ins>+                                31A0896B1E738D59003B6609 /* JSWebGPULibrary.h in Headers */,
</ins><span class="cx">                                 BC64641C11D7F416006455B0 /* DatasetDOMStringMap.h in Headers */,
</span><span class="cx">                                 85031B3E0A44EFC700F992E0 /* DataTransfer.h in Headers */,
</span><span class="cx">                                 4B8AF4AA0B1CE02B00687690 /* DataTransferAccessPolicy.h in Headers */,
</span><span class="lines">@@ -26512,6 +26784,7 @@
</span><span class="cx">                                 CD62FB961AF018E70012ED7D /* GenericTaskQueue.h in Headers */,
</span><span class="cx">                                 9746AF2414F4DDE6003E7A70 /* Geolocation.h in Headers */,
</span><span class="cx">                                 9746AF2514F4DDE6003E7A71 /* GeolocationClient.h in Headers */,
</span><ins>+                                31A089741E738D5A003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h in Headers */,
</ins><span class="cx">                                 9746AF2714F4DDE6003E7A70 /* GeolocationController.h in Headers */,
</span><span class="cx">                                 9746AF2814F4DDE6003E7A70 /* GeolocationError.h in Headers */,
</span><span class="cx">                                 9746AF2914F4DDE6003E7A70 /* GeolocationPosition.h in Headers */,
</span><span class="lines">@@ -26968,6 +27241,7 @@
</span><span class="cx">                                 31FB1A66120A5D3F00DC02A0 /* JSDeviceMotionEvent.h in Headers */,
</span><span class="cx">                                 59A86008119DAFA100DEF1EF /* JSDeviceOrientationEvent.h in Headers */,
</span><span class="cx">                                 659DDC8309E198BA001BF3C6 /* JSDocument.h in Headers */,
</span><ins>+                                31A0897D1E738D5A003B6609 /* JSWebGPURenderPassDescriptor.h in Headers */,
</ins><span class="cx">                                 1221E05E1C02B444006A1A00 /* JSDocumentAnimation.h in Headers */,
</span><span class="cx">                                 ADDA94C219687AA500453029 /* JSDocumentCustom.h in Headers */,
</span><span class="cx">                                 1A494EDF0A123F4C00FDAFC1 /* JSDocumentFragment.h in Headers */,
</span><span class="lines">@@ -26993,6 +27267,7 @@
</span><span class="cx">                                 7C8E34B91E4A33B00054CE23 /* JSDOMConvertJSON.h in Headers */,
</span><span class="cx">                                 7C8E34BA1E4A33B00054CE23 /* JSDOMConvertNull.h in Headers */,
</span><span class="cx">                                 7C8E34BB1E4A33B00054CE23 /* JSDOMConvertNullable.h in Headers */,
</span><ins>+                                31A089801E738D5A003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h in Headers */,
</ins><span class="cx">                                 7C8E34BD1E4A33B00054CE23 /* JSDOMConvertNumbers.h in Headers */,
</span><span class="cx">                                 7C8E34BE1E4A33B00054CE23 /* JSDOMConvertObject.h in Headers */,
</span><span class="cx">                                 7C8E34BF1E4A33B00054CE23 /* JSDOMConvertRecord.h in Headers */,
</span><span class="lines">@@ -27407,6 +27682,7 @@
</span><span class="cx">                                 8485227C1190162C006EDC7F /* JSSVGHKernElement.h in Headers */,
</span><span class="cx">                                 B2FA3D9F0AB75A6F000E5AC4 /* JSSVGImageElement.h in Headers */,
</span><span class="cx">                                 B2FA3DA10AB75A6F000E5AC4 /* JSSVGLength.h in Headers */,
</span><ins>+                                31A089621E738D59003B6609 /* JSWebGPUDepthStencilState.h in Headers */,
</ins><span class="cx">                                 B2FA3DA30AB75A6F000E5AC4 /* JSSVGLengthList.h in Headers */,
</span><span class="cx">                                 B2FA3DA50AB75A6F000E5AC4 /* JSSVGLinearGradientElement.h in Headers */,
</span><span class="cx">                                 B2FA3DA70AB75A6F000E5AC4 /* JSSVGLineElement.h in Headers */,
</span><span class="lines">@@ -27495,6 +27771,7 @@
</span><span class="cx">                                 7C73FB0D191EF5A8007DE061 /* JSUserMessageHandlersNamespace.h in Headers */,
</span><span class="cx">                                 15C77093100D3CA8005BA267 /* JSValidityState.h in Headers */,
</span><span class="cx">                                 BE8EF04B171C9014009B48C3 /* JSVideoTrack.h in Headers */,
</span><ins>+                                31A0898C1E738D5A003B6609 /* JSWebGPUTextureDescriptor.h in Headers */,
</ins><span class="cx">                                 BE8EF04D171C9014009B48C3 /* JSVideoTrackList.h in Headers */,
</span><span class="cx">                                 BE20508218A460C30080647E /* JSVTTCue.h in Headers */,
</span><span class="cx">                                 7AF9B20D18CFB5F400C64BEF /* JSVTTRegion.h in Headers */,
</span><span class="lines">@@ -27597,6 +27874,7 @@
</span><span class="cx">                                 BCE65BEB0EACDF16007E4533 /* Length.h in Headers */,
</span><span class="cx">                                 BCFF64910EAD15C200C1D6F7 /* LengthBox.h in Headers */,
</span><span class="cx">                                 E5BA7D63151437CA00FE1E3F /* LengthFunctions.h in Headers */,
</span><ins>+                                31A089771E738D5A003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h in Headers */,
</ins><span class="cx">                                 0F8716701C869D83004FF0DE /* LengthPoint.h in Headers */,
</span><span class="cx">                                 BCFF64920EAD15C200C1D6F7 /* LengthSize.h in Headers */,
</span><span class="cx">                                 415080371E3F00B00051D75D /* LibWebRTCAudioModule.h in Headers */,
</span><span class="lines">@@ -27778,6 +28056,7 @@
</span><span class="cx">                                 37DDCDA51384501C0008B793 /* MHTMLArchive.h in Headers */,
</span><span class="cx">                                 37DDCDA71384501C0008B793 /* MHTMLParser.h in Headers */,
</span><span class="cx">                                 53B895AF19DC7ED9009CAA93 /* Microtasks.h in Headers */,
</span><ins>+                                31A089681E738D59003B6609 /* JSWebGPUFunction.h in Headers */,
</ins><span class="cx">                                 37DDCD9513844FD50008B793 /* MIMEHeader.h in Headers */,
</span><span class="cx">                                 BC772C4F0C4EB3040083285F /* MIMETypeRegistry.h in Headers */,
</span><span class="cx">                                 52F10866162B6DA8009AC81E /* MixedContentChecker.h in Headers */,
</span><span class="lines">@@ -27990,6 +28269,7 @@
</span><span class="cx">                                 AD5A0C251DECACCC00707054 /* PerformanceLogging.h in Headers */,
</span><span class="cx">                                 83FE90271E307C30003E9199 /* PerformanceMonitor.h in Headers */,
</span><span class="cx">                                 8AF4E55611DC5A36000ED3DE /* PerformanceNavigation.h in Headers */,
</span><ins>+                                31A0897A1E738D5A003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h in Headers */,
</ins><span class="cx">                                 A5A9933D1E37FB19005B5E4D /* PerformanceObserver.h in Headers */,
</span><span class="cx">                                 A5A9933F1E37FB1F005B5E4D /* PerformanceObserverCallback.h in Headers */,
</span><span class="cx">                                 A5A993411E37FB28005B5E4D /* PerformanceObserverEntryList.h in Headers */,
</span><span class="lines">@@ -28418,6 +28698,7 @@
</span><span class="cx">                                 0FC4E411187F82E10045882C /* ScrollingTreeFrameScrollingNodeIOS.h in Headers */,
</span><span class="cx">                                 93C4A4151629DF5A00C3EB6E /* ScrollingTreeFrameScrollingNodeMac.h in Headers */,
</span><span class="cx">                                 0FC4E410187F82E10045882C /* ScrollingTreeIOS.h in Headers */,
</span><ins>+                                31A089861E738D5A003B6609 /* JSWebGPURenderPipelineState.h in Headers */,
</ins><span class="cx">                                 0FE5806419327A6200DE32EB /* ScrollingTreeMac.h in Headers */,
</span><span class="cx">                                 1AAADDE414DC8C8F00AF64B3 /* ScrollingTreeNode.h in Headers */,
</span><span class="cx">                                 0FEA3E80191B3169000F1B55 /* ScrollingTreeOverflowScrollingNode.h in Headers */,
</span><span class="lines">@@ -28562,6 +28843,7 @@
</span><span class="cx">                                 51E0BB380DA5ACB600A9E417 /* StorageMap.h in Headers */,
</span><span class="cx">                                 C50D0E830FF4272900AC2644 /* StorageNamespace.h in Headers */,
</span><span class="cx">                                 1A37636C1A2E68BB009A7EE2 /* StorageNamespaceProvider.h in Headers */,
</span><ins>+                                31A089831E738D5A003B6609 /* JSWebGPURenderPipelineDescriptor.h in Headers */,
</ins><span class="cx">                                 416E6FE81BBD12DF000A6033 /* StreamInternalsBuiltins.h in Headers */,
</span><span class="cx">                                 81AC6C36131C57D30009A7E0 /* StringCallback.h in Headers */,
</span><span class="cx">                                 B23540F30D00782E002382FA /* StringTruncator.h in Headers */,
</span><span class="lines">@@ -28780,6 +29062,7 @@
</span><span class="cx">                                 83C1D426178D5AB400141E68 /* SVGPathSegArcRel.h in Headers */,
</span><span class="cx">                                 B2227A620D00BF220071B782 /* SVGPathSegClosePath.h in Headers */,
</span><span class="cx">                                 B2227A650D00BF220071B782 /* SVGPathSegCurvetoCubic.h in Headers */,
</span><ins>+                                31A089711E738D5A003B6609 /* JSWebGPURenderingContext.h in Headers */,
</ins><span class="cx">                                 83C1D427178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h in Headers */,
</span><span class="cx">                                 83C1D428178D5AB400141E68 /* SVGPathSegCurvetoCubicRel.h in Headers */,
</span><span class="cx">                                 B2227A690D00BF220071B782 /* SVGPathSegCurvetoCubicSmooth.h in Headers */,
</span><span class="lines">@@ -29127,6 +29410,7 @@
</span><span class="cx">                                 A19D93471A9FEC7200B46C24 /* WebFilterEvaluatorSPI.h in Headers */,
</span><span class="cx">                                 D3F3D36E1A69B7E00059FC2B /* WebGL2RenderingContext.h in Headers */,
</span><span class="cx">                                 A7D20F6D107F438B00A80392 /* WebGLActiveInfo.h in Headers */,
</span><ins>+                                31A0895F1E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h in Headers */,
</ins><span class="cx">                                 6E47E66110B7944B00B186C8 /* WebGLAny.h in Headers */,
</span><span class="cx">                                 1AFFC4581D5E865500267A66 /* WebGLBlacklist.h in Headers */,
</span><span class="cx">                                 49C7B9C91042D32F0009D447 /* WebGLBuffer.h in Headers */,
</span><span class="lines">@@ -29678,6 +29962,7 @@
</span><span class="cx">                                 2914E3071CAB5A440049966F /* AccessibilityAttachment.cpp in Sources */,
</span><span class="cx">                                 37F57ABC1A50727700876F98 /* AccessibilityImageMapLink.cpp in Sources */,
</span><span class="cx">                                 F52A8FD71D0A8D0E0073CF42 /* AccessibilityLabel.cpp in Sources */,
</span><ins>+                                31A089141E737D51003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp in Sources */,
</ins><span class="cx">                                 37F57ABD1A50727A00876F98 /* AccessibilityList.cpp in Sources */,
</span><span class="cx">                                 37F57ABE1A50727E00876F98 /* AccessibilityListBox.cpp in Sources */,
</span><span class="cx">                                 37F57ABF1A50728100876F98 /* AccessibilityListBoxOption.cpp in Sources */,
</span><span class="lines">@@ -29805,6 +30090,7 @@
</span><span class="cx">                                 AAA728F916D1D8BC00D3BBC6 /* AXObjectCacheIOS.mm in Sources */,
</span><span class="cx">                                 29A8124B0FBB9CA900510293 /* AXObjectCacheMac.mm in Sources */,
</span><span class="cx">                                 BCA8C81F11E3D36900812FB7 /* BackForwardController.cpp in Sources */,
</span><ins>+                                31A089161E737D51003B6609 /* WebGPURenderPipelineState.cpp in Sources */,
</ins><span class="cx">                                 BC124EE70C2641CD009E2349 /* BarProp.cpp in Sources */,
</span><span class="cx">                                 460BB6151D0A1BF000221812 /* Base64Utilities.cpp in Sources */,
</span><span class="cx">                                 379E61C9126CA5C300B63E8D /* BaseButtonInputType.cpp in Sources */,
</span><span class="lines">@@ -29866,6 +30152,7 @@
</span><span class="cx">                                 1C0939EA1A13E12900B788E5 /* CachedSVGFont.cpp in Sources */,
</span><span class="cx">                                 0753860214489E9800B78452 /* CachedTextTrack.cpp in Sources */,
</span><span class="cx">                                 BCB16C270979C3BD00467741 /* CachedXSLStyleSheet.cpp in Sources */,
</span><ins>+                                31A0896C1E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp in Sources */,
</ins><span class="cx">                                 E43AF8E61AC5B7E800CA717E /* CacheValidation.cpp in Sources */,
</span><span class="cx">                                 49AE2D96134EE5F90072920A /* CalculationValue.cpp in Sources */,
</span><span class="cx">                                 49484FC1102CF23C00187DD3 /* CanvasGradient.cpp in Sources */,
</span><span class="lines">@@ -29887,6 +30174,7 @@
</span><span class="cx">                                 CDDE02F018B5651300CF7FF1 /* CDMSessionAVStreamSession.mm in Sources */,
</span><span class="cx">                                 CDE5959D1BF2757100A1CBE8 /* CDMSessionMediaSourceAVFObjC.mm in Sources */,
</span><span class="cx">                                 5F2DBBE9178E3C8100141486 /* CertificateInfoMac.mm in Sources */,
</span><ins>+                                31A089751E738D5A003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp in Sources */,
</ins><span class="cx">                                 E1A8E56617552B2A007488E7 /* CFURLExtras.cpp in Sources */,
</span><span class="cx">                                 97BC69DC1505F076001B74AC /* ChangeVersionWrapper.cpp in Sources */,
</span><span class="cx">                                 FD315FFE12B0267600C1A359 /* ChannelMergerNode.cpp in Sources */,
</span><span class="lines">@@ -29918,6 +30206,7 @@
</span><span class="cx">                                 A584FE2B1863870F00843B10 /* CommandLineAPIModule.cpp in Sources */,
</span><span class="cx">                                 6550B6A1099DF0270090D781 /* Comment.cpp in Sources */,
</span><span class="cx">                                 E1FE137418402A6700892F13 /* CommonCryptoUtilities.cpp in Sources */,
</span><ins>+                                31A0890C1E737D51003B6609 /* WebGPULibrary.cpp in Sources */,
</ins><span class="cx">                                 0F60F32C1DFBB10B00416D6C /* CommonVM.cpp in Sources */,
</span><span class="cx">                                 7C93F3491AA6BA5E00A98BAB /* CompiledContentExtension.cpp in Sources */,
</span><span class="cx">                                 C2F4E78A1E45BEA1006D7105 /* ComplexTextController.cpp in Sources */,
</span><span class="lines">@@ -29957,6 +30246,7 @@
</span><span class="cx">                                 1AB40EE11BF427D600BA81BE /* ContextMenuItem.cpp in Sources */,
</span><span class="cx">                                 FD31602812B0267600C1A359 /* ConvolverNode.cpp in Sources */,
</span><span class="cx">                                 E1424C93164B52C800F32D40 /* CookieJar.cpp in Sources */,
</span><ins>+                                31A0890A1E737D51003B6609 /* WebGPUEnums.cpp in Sources */,
</ins><span class="cx">                                 7EE6846212D26E3800E79415 /* CookieJarCFNet.cpp in Sources */,
</span><span class="cx">                                 E1424C90164B460B00F32D40 /* CookieJarMac.mm in Sources */,
</span><span class="cx">                                 7EE6846312D26E3800E79415 /* CookieStorageCFNet.cpp in Sources */,
</span><span class="lines">@@ -30224,6 +30514,7 @@
</span><span class="cx">                                 188604B30F2E654A000B6443 /* DOMTimer.cpp in Sources */,
</span><span class="cx">                                 76FC2B0B12370DA0006A991A /* DOMTokenList.cpp in Sources */,
</span><span class="cx">                                 2E37DFDA12DBAFB800A6B233 /* DOMURL.cpp in Sources */,
</span><ins>+                                31A089191E737D55003B6609 /* JSWebGPURenderingContextCustom.cpp in Sources */,
</ins><span class="cx">                                 CD9DE18117AAD6A400EA386D /* DOMURLMediaSource.cpp in Sources */,
</span><span class="cx">                                 15FCC9FC1B4DF7F200E72326 /* DOMURLMediaStream.cpp in Sources */,
</span><span class="cx">                                 1403B99809EB13AF00797C7F /* DOMWindow.cpp in Sources */,
</span><span class="lines">@@ -30340,6 +30631,7 @@
</span><span class="cx">                                 08C925190FCC7C4A00480DEC /* FilterEffect.cpp in Sources */,
</span><span class="cx">                                 31313F651443B35F006E2A90 /* FilterEffectRenderer.cpp in Sources */,
</span><span class="cx">                                 49ECEB6D1499790D00CDD3A4 /* FilterOperation.cpp in Sources */,
</span><ins>+                                31A0890D1E737D51003B6609 /* WebGPUObject.cpp in Sources */,
</ins><span class="cx">                                 49ECEB6F1499790D00CDD3A4 /* FilterOperations.cpp in Sources */,
</span><span class="cx">                                 A8CFF04D0A154F09000A4234 /* FixedTableLayout.cpp in Sources */,
</span><span class="cx">                                 9A528E8317D7F52F00AA9518 /* FloatingObjects.cpp in Sources */,
</span><span class="lines">@@ -30415,6 +30707,7 @@
</span><span class="cx">                                 1432E8490C51493F00B1500F /* GCController.cpp in Sources */,
</span><span class="cx">                                 4FB390AD15EF61F3007AD51F /* GeneratedImage.cpp in Sources */,
</span><span class="cx">                                 830030F51B7D33B500ED3AAC /* GenericCachedHTMLCollection.cpp in Sources */,
</span><ins>+                                31A089091E737D51003B6609 /* WebGPUDrawable.cpp in Sources */,
</ins><span class="cx">                                 0720B0A014D3323500642955 /* GenericEventQueue.cpp in Sources */,
</span><span class="cx">                                 CD4BE52A1CE136EF009D87DA /* GenericTaskQueue.cpp in Sources */,
</span><span class="cx">                                 9746AF2314F4DDE6003E7A70 /* Geolocation.cpp in Sources */,
</span><span class="lines">@@ -30535,7 +30828,9 @@
</span><span class="cx">                                 973F418B169B96030006BF60 /* HTMLParserOptions.cpp in Sources */,
</span><span class="cx">                                 977B3870122883E900B81FF8 /* HTMLParserScheduler.cpp in Sources */,
</span><span class="cx">                                 BCC0E8751BFE70E9008F7F50 /* HTMLPictureElement.cpp in Sources */,
</span><ins>+                                31A089781E738D5A003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp in Sources */,
</ins><span class="cx">                                 A871D4570A127CBC00B12A68 /* HTMLPlugInElement.cpp in Sources */,
</span><ins>+                                31A089101E737D51003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp in Sources */,
</ins><span class="cx">                                 4415292F0E1AE8A000C4A2D0 /* HTMLPlugInImageElement.cpp in Sources */,
</span><span class="cx">                                 A8EA7CAD0A192B9C00A8EF5F /* HTMLPreElement.cpp in Sources */,
</span><span class="cx">                                 977B3872122883E900B81FF8 /* HTMLPreloadScanner.cpp in Sources */,
</span><span class="lines">@@ -30686,6 +30981,7 @@
</span><span class="cx">                                 7A1F2B52126C61B20006A7E6 /* InspectorClient.cpp in Sources */,
</span><span class="cx">                                 1C81B95B0E97330800266E07 /* InspectorController.cpp in Sources */,
</span><span class="cx">                                 82AB1743124B99EC00C5069D /* InspectorCSSAgent.cpp in Sources */,
</span><ins>+                                31A089171E737D51003B6609 /* WebGPUTexture.cpp in Sources */,
</ins><span class="cx">                                 4A9CC82016BF9BB400EC645A /* InspectorCSSOMWrappers.cpp in Sources */,
</span><span class="cx">                                 7AB0B1C01211A62200A76940 /* InspectorDatabaseAgent.cpp in Sources */,
</span><span class="cx">                                 41F062150F5F192600A07EAC /* InspectorDatabaseResource.cpp in Sources */,
</span><span class="lines">@@ -30734,6 +31030,7 @@
</span><span class="cx">                                 3198480B1A1E6CE400A13318 /* JSAnimationEvent.cpp in Sources */,
</span><span class="cx">                                 1221E06C1C03D224006A1A00 /* JSAnimationTimeline.cpp in Sources */,
</span><span class="cx">                                 57B5F7E21E57DBC800F34F90 /* JSSiteBoundCredentialData.cpp in Sources */,
</span><ins>+                                31A089871E738D5A003B6609 /* JSWebGPUTexture.cpp in Sources */,
</ins><span class="cx">                                 1221E0731C03E4C2006A1A00 /* JSAnimationTimelineCustom.cpp in Sources */,
</span><span class="cx">                                 7C6579EF1E00856600E3A27A /* JSApplePayLineItem.cpp in Sources */,
</span><span class="cx">                                 7C65231E1E018B5A00677F22 /* JSApplePayPayment.cpp in Sources */,
</span><span class="lines">@@ -30992,6 +31289,7 @@
</span><span class="cx">                                 1AE2AB210A1CE63B00B42B25 /* JSHTMLLabelElement.cpp in Sources */,
</span><span class="cx">                                 576814441E70CB1B00E77754 /* JSAesKeyParams.cpp in Sources */,
</span><span class="cx">                                 1AE2AB230A1CE63B00B42B25 /* JSHTMLLegendElement.cpp in Sources */,
</span><ins>+                                31A089181E737D51003B6609 /* WebGPUTextureDescriptor.cpp in Sources */,
</ins><span class="cx">                                 1AE2AB250A1CE63B00B42B25 /* JSHTMLLIElement.cpp in Sources */,
</span><span class="cx">                                 A80E7B100A19D606007FB8C5 /* JSHTMLLinkElement.cpp in Sources */,
</span><span class="cx">                                 1AE2AB270A1CE63B00B42B25 /* JSHTMLMapElement.cpp in Sources */,
</span><span class="lines">@@ -31019,6 +31317,7 @@
</span><span class="cx">                                 E1E6EEA40B628DA8005F2F70 /* JSHTMLSelectElement.cpp in Sources */,
</span><span class="cx">                                 BC17F9660B64EBB8004A65CB /* JSHTMLSelectElementCustom.cpp in Sources */,
</span><span class="cx">                                 9B69D3B81B99100700E3512B /* JSHTMLSlotElement.cpp in Sources */,
</span><ins>+                                31A089131E737D51003B6609 /* WebGPURenderPassDescriptor.cpp in Sources */,
</ins><span class="cx">                                 E446143B0CD689CC00FADA75 /* JSHTMLSourceElement.cpp in Sources */,
</span><span class="cx">                                 9752D38D1413104B003305BD /* JSHTMLSpanElement.cpp in Sources */,
</span><span class="cx">                                 A80E7B0F0A19D606007FB8C5 /* JSHTMLStyleElement.cpp in Sources */,
</span><span class="lines">@@ -31185,6 +31484,7 @@
</span><span class="cx">                                 57E233731DCD46B600F28D01 /* JSRsaHashedImportParams.cpp in Sources */,
</span><span class="cx">                                 5768E4361DB7527400D0A4F7 /* JSRsaHashedKeyGenParams.cpp in Sources */,
</span><span class="cx">                                 57FEDD431DB6D76000EB96F5 /* JSRsaKeyGenParams.cpp in Sources */,
</span><ins>+                                31A089061E737D51003B6609 /* WebGPUCommandQueue.cpp in Sources */,
</ins><span class="cx">                                 5706A69A1DDE5E8500A03B14 /* JSRsaOaepParams.cpp in Sources */,
</span><span class="cx">                                 57E233611DC7D6AA00F28D01 /* JSRsaOtherPrimesInfo.cpp in Sources */,
</span><span class="cx">                                 073794E519EE2FF200E5A045 /* JSRTCConfiguration.cpp in Sources */,
</span><span class="lines">@@ -31398,11 +31698,13 @@
</span><span class="cx">                                 0FDA7C1A188322EB00C954B5 /* JSTouchList.cpp in Sources */,
</span><span class="cx">                                 070334E9145A1F36008D8D45 /* JSTrackCustom.cpp in Sources */,
</span><span class="cx">                                 07846342145B151A00A58DF1 /* JSTrackEvent.cpp in Sources */,
</span><ins>+                                31A0895A1E738D59003B6609 /* JSWebGPUCommandQueue.cpp in Sources */,
</ins><span class="cx">                                 E17B492216A9B8FF001C8839 /* JSTransitionEvent.cpp in Sources */,
</span><span class="cx">                                 1A750D5C0A90DEE1000FF215 /* JSTreeWalker.cpp in Sources */,
</span><span class="cx">                                 516BB7940CE91E6800512F79 /* JSTreeWalkerCustom.cpp in Sources */,
</span><span class="cx">                                 A86629D009DA2B48009633A5 /* JSUIEvent.cpp in Sources */,
</span><span class="cx">                                 465307D11DB6EE4A00E4137C /* JSUIEventInit.cpp in Sources */,
</span><ins>+                                31A089691E738D59003B6609 /* JSWebGPULibrary.cpp in Sources */,
</ins><span class="cx">                                 5C5381B51D87E08700E2EBE6 /* JSURLSearchParams.cpp in Sources */,
</span><span class="cx">                                 7C73FB11191EF6F4007DE061 /* JSUserMessageHandler.cpp in Sources */,
</span><span class="cx">                                 7C73FB0C191EF5A8007DE061 /* JSUserMessageHandlersNamespace.cpp in Sources */,
</span><span class="lines">@@ -31419,6 +31721,7 @@
</span><span class="cx">                                 7AF9B20E18CFB5F400C64BEF /* JSVTTRegionList.cpp in Sources */,
</span><span class="cx">                                 FD82D7F713D4C8BD004E4372 /* JSWaveShaperNode.cpp in Sources */,
</span><span class="cx">                                 120DE3F91C87C5AB00B6D4DD /* JSWebAnimation.cpp in Sources */,
</span><ins>+                                31A089081E737D51003B6609 /* WebGPUDepthStencilState.cpp in Sources */,
</ins><span class="cx">                                 D3F3D3631A69B1900059FC2B /* JSWebGL2RenderingContext.cpp in Sources */,
</span><span class="cx">                                 D3F3D36C1A69B7D50059FC2B /* JSWebGL2RenderingContextCustom.cpp in Sources */,
</span><span class="cx">                                 A7D20F62107F406900A80392 /* JSWebGLActiveInfo.cpp in Sources */,
</span><span class="lines">@@ -31441,6 +31744,7 @@
</span><span class="cx">                                 D3F3D3671A69B1A50059FC2B /* JSWebGLRenderingContextBase.cpp in Sources */,
</span><span class="cx">                                 D3F3D36B1A69B7C50059FC2B /* JSWebGLRenderingContextBaseCustom.cpp in Sources */,
</span><span class="cx">                                 49EED14F1051971A00099FAB /* JSWebGLRenderingContextCustom.cpp in Sources */,
</span><ins>+                                31A0898A1E738D5A003B6609 /* JSWebGPUTextureDescriptor.cpp in Sources */,
</ins><span class="cx">                                 6F995A331A70833700A735F4 /* JSWebGLSampler.cpp in Sources */,
</span><span class="cx">                                 49C7B9A21042D2D30009D447 /* JSWebGLShader.cpp in Sources */,
</span><span class="cx">                                 A07D3355152B630E001B6393 /* JSWebGLShaderPrecisionFormat.cpp in Sources */,
</span><span class="lines">@@ -31509,6 +31813,7 @@
</span><span class="cx">                                 2917B5611473496C0052C9D0 /* LayerFlushScheduler.cpp in Sources */,
</span><span class="cx">                                 2917B566147349950052C9D0 /* LayerFlushSchedulerMac.cpp in Sources */,
</span><span class="cx">                                 7AA3A69F194B59B6001CBD24 /* LayerPool.cpp in Sources */,
</span><ins>+                                31A089601E738D59003B6609 /* JSWebGPUDepthStencilState.cpp in Sources */,
</ins><span class="cx">                                 0F36E7371BD1837A002DB891 /* LayoutPoint.cpp in Sources */,
</span><span class="cx">                                 141DC052164834B900371E5A /* LayoutRect.cpp in Sources */,
</span><span class="cx">                                 A120ACA413F998CA00FE4AC7 /* LayoutRepainter.cpp in Sources */,
</span><span class="lines">@@ -31643,11 +31948,13 @@
</span><span class="cx">                                 9493B6C01D74B4120088E780 /* MediaQueryParser.cpp in Sources */,
</span><span class="cx">                                 C90843CF1B18E47D00B68564 /* MediaRemoteControls.cpp in Sources */,
</span><span class="cx">                                 CD8ACA8E1D23971900ECC59E /* MediaRemoteSoftLink.cpp in Sources */,
</span><ins>+                                31A089721E738D5A003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp in Sources */,
</ins><span class="cx">                                 CEEFCD7919DB31F7003876D7 /* MediaResourceLoader.cpp in Sources */,
</span><span class="cx">                                 1B124D8F1D380BB600ECDFB0 /* MediaSampleAVFObjC.mm in Sources */,
</span><span class="cx">                                 CDBEAEAC19D92B6C00BEBA88 /* MediaSelectionGroupAVFObjC.mm in Sources */,
</span><span class="cx">                                 C9027F411B1D0AD200BFBFEF /* MediaSession.cpp in Sources */,
</span><span class="cx">                                 C96F5EC71B5872260091EA9D /* MediaSessionInterruptionProvider.cpp in Sources */,
</span><ins>+                                31A0895D1E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp in Sources */,
</ins><span class="cx">                                 C96F5EC61B5872260091EA9D /* MediaSessionInterruptionProviderMac.mm in Sources */,
</span><span class="cx">                                 57B5F80F1E5E2A4B00F34F90 /* JSAesGcmParams.cpp in Sources */,
</span><span class="cx">                                 C90F65551B2253B1002163A1 /* MediaSessionManager.cpp in Sources */,
</span><span class="lines">@@ -31786,6 +32093,7 @@
</span><span class="cx">                                 1477E7760BF4134A00152872 /* PageCache.cpp in Sources */,
</span><span class="cx">                                 CD5E5B611A15F156000C609E /* PageConfiguration.cpp in Sources */,
</span><span class="cx">                                 F3820892147D35F90010BC06 /* PageConsoleAgent.cpp in Sources */,
</span><ins>+                                31A089111E737D51003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp in Sources */,
</ins><span class="cx">                                 DAED203016F2442B0070EC0F /* PageConsoleClient.cpp in Sources */,
</span><span class="cx">                                 A5A2AF0B1829734300DE1729 /* PageDebuggable.cpp in Sources */,
</span><span class="cx">                                 F34742DC134362F000531BC2 /* PageDebuggerAgent.cpp in Sources */,
</span><span class="lines">@@ -31814,6 +32122,7 @@
</span><span class="cx">                                 A88DD4890B4629B000C02990 /* PathTraversalState.cpp in Sources */,
</span><span class="cx">                                 2D5002FB1B56D7990020AAF7 /* PathUtilities.cpp in Sources */,
</span><span class="cx">                                 A8FA6E5E0E4CFDED00D5CF49 /* Pattern.cpp in Sources */,
</span><ins>+                                31A089841E738D5A003B6609 /* JSWebGPURenderPipelineState.cpp in Sources */,
</ins><span class="cx">                                 A80A38FE0E50CC8200A25EBC /* PatternCG.cpp in Sources */,
</span><span class="cx">                                 1A8A646C1D19FF8700D0E00F /* PaymentCocoa.mm in Sources */,
</span><span class="cx">                                 1A8A646D1D19FF8700D0E00F /* PaymentContactCocoa.mm in Sources */,
</span><span class="lines">@@ -31823,6 +32132,7 @@
</span><span class="cx">                                 1A8A646E1D19FF8700D0E00F /* PaymentMethodCocoa.mm in Sources */,
</span><span class="cx">                                 1A58E8671D19D80E00C0EA73 /* PaymentRequest.cpp in Sources */,
</span><span class="cx">                                 1A8A64671D19FDFF00D0E00F /* PaymentRequestValidator.cpp in Sources */,
</span><ins>+                                31A089661E738D59003B6609 /* JSWebGPUFunction.cpp in Sources */,
</ins><span class="cx">                                 B27535640B053814002CE64F /* PDFDocumentImage.cpp in Sources */,
</span><span class="cx">                                 2D6E468417D660F500ECF8BB /* PDFDocumentImageMac.mm in Sources */,
</span><span class="cx">                                 41E408391DCB748900EFCE19 /* PeerConnectionBackend.cpp in Sources */,
</span><span class="lines">@@ -31862,6 +32172,7 @@
</span><span class="cx">                                 BC94D1080C274F88006BC617 /* PlatformScreenMac.mm in Sources */,
</span><span class="cx">                                 2934940B16C02C0A00901318 /* PlatformSpeechSynthesisUtterance.cpp in Sources */,
</span><span class="cx">                                 2934940A16C02C0700901318 /* PlatformSpeechSynthesisVoice.cpp in Sources */,
</span><ins>+                                31A089811E738D5A003B6609 /* JSWebGPURenderPipelineDescriptor.cpp in Sources */,
</ins><span class="cx">                                 297BE3DA16C043D8003316BD /* PlatformSpeechSynthesizer.cpp in Sources */,
</span><span class="cx">                                 AA12DF491743DF83004DAFDF /* PlatformSpeechSynthesizerIOS.mm in Sources */,
</span><span class="cx">                                 297BE3D816C03CCE003316BD /* PlatformSpeechSynthesizerMac.mm in Sources */,
</span><span class="lines">@@ -31945,6 +32256,7 @@
</span><span class="cx">                                 0F5B7A5410F65D7A00376302 /* RenderEmbeddedObject.cpp in Sources */,
</span><span class="cx">                                 066C77300AB603FD00238CC4 /* RenderFileUploadControl.cpp in Sources */,
</span><span class="cx">                                 53C8298D13D8D92700DE2DEB /* RenderFlexibleBox.cpp in Sources */,
</span><ins>+                                31A0896F1E738D5A003B6609 /* JSWebGPURenderingContext.cpp in Sources */,
</ins><span class="cx">                                 508CCA5013CF106B003151F3 /* RenderFlowThread.cpp in Sources */,
</span><span class="cx">                                 A871DED40A1530C700B12A68 /* RenderFrame.cpp in Sources */,
</span><span class="cx">                                 0FD3080E117CF7E700A791F7 /* RenderFrameBase.cpp in Sources */,
</span><span class="lines">@@ -31974,6 +32286,7 @@
</span><span class="cx">                                 439046D912DA25E800AF80A2 /* RenderMathMLFenced.cpp in Sources */,
</span><span class="cx">                                 439046D912DA25E800AF81B3 /* RenderMathMLFencedOperator.cpp in Sources */,
</span><span class="cx">                                 439046DB12DA25E800AF80A2 /* RenderMathMLFraction.cpp in Sources */,
</span><ins>+                                31A0897B1E738D5A003B6609 /* JSWebGPURenderPassDescriptor.cpp in Sources */,
</ins><span class="cx">                                 439046DD12DA25E800AF80A2 /* RenderMathMLMath.cpp in Sources */,
</span><span class="cx">                                 3571883EEF618793751E4089 /* RenderMathMLMenclose.cpp in Sources */,
</span><span class="cx">                                 439046DF12DA25E800AF80A2 /* RenderMathMLOperator.cpp in Sources */,
</span><span class="lines">@@ -32057,6 +32370,7 @@
</span><span class="cx">                                 26C15CF61857E15D00F15C03 /* ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp in Sources */,
</span><span class="cx">                                 E1BA003116FB92AC00BA7A35 /* ResourceHandleClient.cpp in Sources */,
</span><span class="cx">                                 7E428CE513E3407F003B661C /* ResourceHandleIOS.mm in Sources */,
</span><ins>+                                31A089051E737D51003B6609 /* WebGPUCommandBuffer.cpp in Sources */,
</ins><span class="cx">                                 514C76510CE9234E007EF3CD /* ResourceHandleMac.mm in Sources */,
</span><span class="cx">                                 93E227E30AF589AD00D48324 /* ResourceLoader.cpp in Sources */,
</span><span class="cx">                                 7EE6847512D26E7000E79415 /* ResourceLoaderCFNet.cpp in Sources */,
</span><span class="lines">@@ -32065,6 +32379,7 @@
</span><span class="cx">                                 973E325610883B7C005BC493 /* ResourceLoadNotifier.cpp in Sources */,
</span><span class="cx">                                 6B693A341C51A95D00B03BEF /* ResourceLoadObserver.cpp in Sources */,
</span><span class="cx">                                 7A929CA61C598A9E004DF226 /* ResourceLoadStatistics.cpp in Sources */,
</span><ins>+                                31A0890B1E737D51003B6609 /* WebGPUFunction.cpp in Sources */,
</ins><span class="cx">                                 7AD3CDD91C8A002F00F12698 /* ResourceLoadStatisticsStore.cpp in Sources */,
</span><span class="cx">                                 514C767C0CE923A1007EF3CD /* ResourceRequestBase.cpp in Sources */,
</span><span class="cx">                                 7EE6846E12D26E3800E79415 /* ResourceRequestCFNet.cpp in Sources */,
</span><span class="lines">@@ -32155,8 +32470,10 @@
</span><span class="cx">                                 0F605AEC15F94848004DF0C0 /* ScrollingConstraints.cpp in Sources */,
</span><span class="cx">                                 1AF62EE714DA22A70041556C /* ScrollingCoordinator.cpp in Sources */,
</span><span class="cx">                                 0FC4E40E187F82E10045882C /* ScrollingCoordinatorIOS.mm in Sources */,
</span><ins>+                                31A0891A1E737D55003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp in Sources */,
</ins><span class="cx">                                 1AF62EE614DA22A70041556C /* ScrollingCoordinatorMac.mm in Sources */,
</span><span class="cx">                                 51C61B0A1DE536E7008A212D /* ScrollingMomentumCalculator.cpp in Sources */,
</span><ins>+                                31A089541E738D59003B6609 /* JSWebGPUBuffer.cpp in Sources */,
</ins><span class="cx">                                 517DEEE51DE94ADC00B91644 /* ScrollingMomentumCalculatorMac.mm in Sources */,
</span><span class="cx">                                 93C38BFE164473C700091EB2 /* ScrollingStateFixedNode.cpp in Sources */,
</span><span class="cx">                                 0FEA3E7C191B2FC5000F1B55 /* ScrollingStateFrameScrollingNode.cpp in Sources */,
</span><span class="lines">@@ -32191,9 +32508,11 @@
</span><span class="cx">                                 F55B3DD11251F12D003EF269 /* SearchInputType.cpp in Sources */,
</span><span class="cx">                                 0E7058EE1BC5BC190045A507 /* SearchPopupMenuCocoa.mm in Sources */,
</span><span class="cx">                                 976F36EA14686225005E93B4 /* SecurityContext.cpp in Sources */,
</span><ins>+                                31A0890E1E737D51003B6609 /* WebGPURenderCommandEncoder.cpp in Sources */,
</ins><span class="cx">                                 BCD0E0FA0E972C3500265DEA /* SecurityOrigin.cpp in Sources */,
</span><span class="cx">                                 51E3AA0A1B98BCAB0036AD81 /* SecurityOriginData.cpp in Sources */,
</span><span class="cx">                                 1AF7AFC71A48A8BC00C8E4E7 /* SecurityOriginPolicy.cpp in Sources */,
</span><ins>+                                31A089121E737D51003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp in Sources */,
</ins><span class="cx">                                 974D2DA4146A535D00D51F8B /* SecurityPolicy.cpp in Sources */,
</span><span class="cx">                                 99CC0B5D18BE984A006CEBCC /* SegmentedInputStorage.cpp in Sources */,
</span><span class="cx">                                 B2C3DA2E0D006C1D00EF6F26 /* SegmentedString.cpp in Sources */,
</span><span class="lines">@@ -32300,6 +32619,7 @@
</span><span class="cx">                                 1A37636B1A2E68BB009A7EE2 /* StorageNamespaceProvider.cpp in Sources */,
</span><span class="cx">                                 8102C5881325BB1100DDE67A /* StringCallback.cpp in Sources */,
</span><span class="cx">                                 B23540F20D00782E002382FA /* StringTruncator.cpp in Sources */,
</span><ins>+                                31A089041E737D51003B6609 /* WebGPUBuffer.cpp in Sources */,
</ins><span class="cx">                                 414B82041D6DF0DF0077EBE3 /* StructuredClone.cpp in Sources */,
</span><span class="cx">                                 BC5EB6A20E81DC4F00B25965 /* StyleBackgroundData.cpp in Sources */,
</span><span class="cx">                                 BC5EB67D0E81D42000B25965 /* StyleBoxData.cpp in Sources */,
</span><span class="lines">@@ -32561,6 +32881,7 @@
</span><span class="cx">                                 2D4F96F81A1ECC240098BF88 /* TextIndicatorWindow.mm in Sources */,
</span><span class="cx">                                 F55B3DD91251F12D003EF269 /* TextInputType.cpp in Sources */,
</span><span class="cx">                                 CECADFCD1537791D00E37068 /* TextInsertionBaseCommand.cpp in Sources */,
</span><ins>+                                31A089631E738D59003B6609 /* JSWebGPUDrawable.cpp in Sources */,
</ins><span class="cx">                                 93309E1B099E64920056E581 /* TextIterator.cpp in Sources */,
</span><span class="cx">                                 E4D988B617BFEB210084FB88 /* TextNodeTraversal.cpp in Sources */,
</span><span class="cx">                                 1C18DA58181AF6A500C4EF22 /* TextPainter.cpp in Sources */,
</span><span class="lines">@@ -32628,6 +32949,7 @@
</span><span class="cx">                                 C375D7FD16639519006184AB /* TypeAhead.cpp in Sources */,
</span><span class="cx">                                 93309E19099E64920056E581 /* TypingCommand.cpp in Sources */,
</span><span class="cx">                                 85031B4D0A44EFC700F992E0 /* UIEvent.cpp in Sources */,
</span><ins>+                                31A0897E1E738D5A003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp in Sources */,
</ins><span class="cx">                                 93354A3C0B24F8C9003F6DEA /* UIEventWithKeyState.cpp in Sources */,
</span><span class="cx">                                 518864E01BBAF57100E540C9 /* UniqueIDBDatabase.cpp in Sources */,
</span><span class="cx">                                 5198F7A41BBDB79300E2CC5F /* UniqueIDBDatabaseConnection.cpp in Sources */,
</span><span class="lines">@@ -32669,6 +32991,7 @@
</span><span class="cx">                                 52D5A18F1C54592300DE34A3 /* VideoFullscreenLayerManager.mm in Sources */,
</span><span class="cx">                                 CDE83DB1183C44060031EAA3 /* VideoPlaybackQuality.cpp in Sources */,
</span><span class="cx">                                 CD9D82791C7B8EE1006FF066 /* VideoTextureCopierCV.cpp in Sources */,
</span><ins>+                                31A089151E737D51003B6609 /* WebGPURenderPipelineDescriptor.cpp in Sources */,
</ins><span class="cx">                                 BE88E0DE1715D2A200658D98 /* VideoTrack.cpp in Sources */,
</span><span class="cx">                                 BE88E0E11715D2A200658D98 /* VideoTrackList.cpp in Sources */,
</span><span class="cx">                                 CD336F6717FA0AC600DDDCD0 /* VideoTrackPrivateAVFObjC.cpp in Sources */,
</span><span class="lines">@@ -32675,6 +32998,7 @@
</span><span class="cx">                                 CD8B5A42180D149A008B8E65 /* VideoTrackPrivateMediaSourceAVFObjC.mm in Sources */,
</span><span class="cx">                                 CEF418CE1179678C009D112C /* ViewportArguments.cpp in Sources */,
</span><span class="cx">                                 26F9A83818A046AC00AEB88A /* ViewportConfiguration.cpp in Sources */,
</span><ins>+                                31A089071E737D51003B6609 /* WebGPUDepthStencilDescriptor.cpp in Sources */,
</ins><span class="cx">                                 3FFFF9AD159D9B060020BBD5 /* ViewportStyleResolver.cpp in Sources */,
</span><span class="cx">                                 93309E1F099E64920056E581 /* VisiblePosition.cpp in Sources */,
</span><span class="cx">                                 A883DF270F3D045D00F19BF6 /* VisibleSelection.cpp in Sources */,
</span><span class="lines">@@ -32714,6 +33038,7 @@
</span><span class="cx">                                 CD127DED14F3097D00E84779 /* WebCoreFullScreenWindow.mm in Sources */,
</span><span class="cx">                                 BC348BD30DB7F804004ABABB /* WebCoreJSBuiltinInternals.cpp in Sources */,
</span><span class="cx">                                 BC348BD30DB7F804004ABABA /* WebCoreJSBuiltins.cpp in Sources */,
</span><ins>+                                31A089571E738D59003B6609 /* JSWebGPUCommandBuffer.cpp in Sources */,
</ins><span class="cx">                                 0F7DF1481E2BF1B10095951B /* WebCoreJSClientData.cpp in Sources */,
</span><span class="cx">                                 3140379C124BEA7F00AF40E4 /* WebCoreMotionManager.mm in Sources */,
</span><span class="cx">                                 CDC979F41C498C0900DB50D4 /* WebCoreNSErrorExtras.mm in Sources */,
</span><span class="lines">@@ -32854,6 +33179,7 @@
</span><span class="cx">                                 2E43464F0F546A8200B0F1BA /* WorkerMessagingProxy.cpp in Sources */,
</span><span class="cx">                                 E1271A140EEEC80400F61213 /* WorkerNavigator.cpp in Sources */,
</span><span class="cx">                                 2E4346520F546A8200B0F1BA /* WorkerRunLoop.cpp in Sources */,
</span><ins>+                                31A0890F1E737D51003B6609 /* WebGPURenderingContext.cpp in Sources */,
</ins><span class="cx">                                 A57FD71B1DB9423E006AE24B /* WorkerRuntimeAgent.cpp in Sources */,
</span><span class="cx">                                 E1A643FD0EC097A000779668 /* WorkerScriptController.cpp in Sources */,
</span><span class="cx">                                 A54A0C651DB805360017A90B /* WorkerScriptDebugServer.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDocumentCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007-2009, 2011, 2016 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007-2009, 2011, 2016, 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * This library is free software; you can redistribute it and/or
</span><span class="cx">  * modify it under the terms of the GNU Library General Public
</span><span class="lines">@@ -42,6 +42,10 @@
</span><span class="cx"> #include &quot;JSWebGLRenderingContextBase.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(WEBGPU)
+#include &quot;JSWebGPURenderingContext.h&quot;
+#endif
+
</ins><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx"> #include &quot;JSTouch.h&quot;
</span><span class="cx"> #include &quot;JSTouchList.h&quot;
</span><span class="lines">@@ -150,6 +154,10 @@
</span><span class="cx">     if (is&lt;WebGLRenderingContextBase&gt;(*context))
</span><span class="cx">         return toJS(&amp;state, globalObject(), downcast&lt;WebGLRenderingContextBase&gt;(*context));
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(WEBGPU)
+    if (is&lt;WebGPURenderingContext&gt;(*context))
+        return toJS(&amp;state, globalObject(), downcast&lt;WebGPURenderingContext&gt;(*context));
+#endif
</ins><span class="cx"> 
</span><span class="cx">     return toJS(&amp;state, globalObject(), downcast&lt;CanvasRenderingContext2D&gt;(*context));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSHTMLCanvasElementCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007, 2016 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2016, 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
</span><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="lines">@@ -37,6 +37,10 @@
</span><span class="cx"> #include &quot;JSWebGLRenderingContextBase.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(WEBGPU)
+#include &quot;JSWebGPURenderingContext.h&quot;
+#endif
+
</ins><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -64,6 +68,11 @@
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(WEBGPU)
+    if (HTMLCanvasElement::isWebGPUType(contextId))
+        return toJS&lt;IDLNullable&lt;IDLInterface&lt;WebGPURenderingContext&gt;&gt;&gt;(state, *globalObject(), static_cast&lt;WebGPURenderingContext*&gt;(wrapped().getContextWebGPU(contextId)));
+#endif
+
</ins><span class="cx">     return jsNull();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWebGPURenderPassAttachmentDescriptorCustomcppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp                                (rev 0)
+++ trunk/Source/WebCore/bindings/js/JSWebGPURenderPassAttachmentDescriptorCustom.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;JSWebGPURenderPassAttachmentDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;JSDOMBinding.h&quot;
+#include &quot;JSWebGPURenderPassColorAttachmentDescriptor.h&quot;
+#include &quot;WebGPURenderPassColorAttachmentDescriptor.h&quot;
+
+using namespace JSC;
+
+namespace WebCore {
+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, Ref&lt;WebGPURenderPassAttachmentDescriptor&gt;&amp;&amp; object)
+{
+    if (object-&gt;isColorAttachmentDescriptor())
+        return createWrapper&lt;WebGPURenderPassColorAttachmentDescriptor&gt;(globalObject, WTFMove(object));
+    return createWrapper&lt;WebGPURenderPassAttachmentDescriptor&gt;(globalObject, WTFMove(object));
+}
+
+JSValue toJS(ExecState* state, JSDOMGlobalObject* globalObject, WebGPURenderPassAttachmentDescriptor&amp; object)
+{
+    return wrap(state, globalObject, object);
+}
+
+}
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSWebGPURenderingContextCustomcppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/bindings/js/JSWebGPURenderingContextCustom.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSWebGPURenderingContextCustom.cpp                                (rev 0)
+++ trunk/Source/WebCore/bindings/js/JSWebGPURenderingContextCustom.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;JSWebGPURenderingContext.h&quot;
+
+#if ENABLE(WEBGPU)
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSWebGPURenderingContext::visitAdditionalChildren(SlotVisitor&amp; visitor)
+{
+    visitor.addOpaqueRoot(&amp;wrapped());
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLCanvasElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLCanvasElement.cpp (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLCanvasElement.cpp        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2004, 2006, 2007, 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  * Copyright (C) 2007 Alp Toker &lt;alp@atoker.com&gt;
</span><span class="cx">  * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
</span><span class="cx">  *
</span><span class="lines">@@ -62,6 +62,10 @@
</span><span class="cx"> #include &quot;WebGLRenderingContextBase.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(WEBGPU)
+#include &quot;WebGPURenderingContext.h&quot;
+#endif
+
</ins><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> #include &quot;MediaSampleAVFObjC.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -195,6 +199,11 @@
</span><span class="cx">     if (HTMLCanvasElement::is2dType(type))
</span><span class="cx">         return getContext2d(type);
</span><span class="cx"> 
</span><ins>+#if ENABLE(WEBGPU)
+    if (HTMLCanvasElement::isWebGPUType(type))
+        return getContextWebGPU(type);
+#endif
+
</ins><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx">     if (HTMLCanvasElement::is3dType(type))
</span><span class="cx">         return getContextWebGL(type);
</span><span class="lines">@@ -298,6 +307,31 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(WEBGPU)
+bool HTMLCanvasElement::isWebGPUType(const String&amp; type)
+{
+    return type == &quot;webgpu&quot;;
+}
+
+CanvasRenderingContext* HTMLCanvasElement::getContextWebGPU(const String&amp; type)
+{
+    ASSERT_UNUSED(type, HTMLCanvasElement::isWebGPUType(type));
+
+    if (m_context &amp;&amp; !m_context-&gt;isGPU())
+        return nullptr;
+
+    if (!m_context) {
+        m_context = WebGPURenderingContext::create(*this);
+        if (m_context) {
+            // Need to make sure a RenderLayer and compositing layer get created for the Canvas
+            invalidateStyleAndLayerComposition();
+        }
+    }
+
+    return m_context.get();
+}
+#endif
+
</ins><span class="cx"> void HTMLCanvasElement::didDraw(const FloatRect&amp; rect)
</span><span class="cx"> {
</span><span class="cx">     clearCopiedImage();
</span><span class="lines">@@ -355,6 +389,12 @@
</span><span class="cx"> 
</span><span class="cx">     setSurfaceSize(newSize);
</span><span class="cx"> 
</span><ins>+#if ENABLE(WEBGPU)
+    // FIXME: WebGPU needs something here too.
+    if (isGPU() &amp;&amp; oldSize != size())
+        static_cast&lt;WebGPURenderingContext*&gt;(m_context.get())-&gt;reshape(width(), height());
+#endif
+
</ins><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx">     if (is3D() &amp;&amp; oldSize != size())
</span><span class="cx">         static_cast&lt;WebGLRenderingContextBase*&gt;(m_context.get())-&gt;reshape(width(), height());
</span><span class="lines">@@ -423,12 +463,24 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-#if ENABLE(WEBGL)    
</del><ins>+#if ENABLE(WEBGPU)
+    if (isGPU())
+        static_cast&lt;WebGPURenderingContext*&gt;(m_context.get())-&gt;markLayerComposited();
+#endif
+
+#if ENABLE(WEBGL)
</ins><span class="cx">     if (is3D())
</span><span class="cx">         static_cast&lt;WebGLRenderingContextBase*&gt;(m_context.get())-&gt;markLayerComposited();
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(WEBGPU)
+bool HTMLCanvasElement::isGPU() const
+{
+    return m_context &amp;&amp; m_context-&gt;isGPU();
+}
+#endif
+
</ins><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx"> bool HTMLCanvasElement::is3D() const
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLCanvasElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLCanvasElement.h (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLCanvasElement.h        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/html/HTMLCanvasElement.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2004, 2006, 2009, 2010 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2004, 2006, 2009, 2010, 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  * Copyright (C) 2007 Alp Toker &lt;alp@atoker.com&gt;
</span><span class="cx">  * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved.
</span><span class="cx">  *
</span><span class="lines">@@ -100,6 +100,10 @@
</span><span class="cx">     static bool is3dType(const String&amp;);
</span><span class="cx">     CanvasRenderingContext* getContextWebGL(const String&amp;, WebGLContextAttributes&amp;&amp; = { });
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(WEBGPU)
+    static bool isWebGPUType(const String&amp;);
+    CanvasRenderingContext* getContextWebGPU(const String&amp;);
+#endif
</ins><span class="cx"> 
</span><span class="cx">     static String toEncodingMimeType(const String&amp; mimeType);
</span><span class="cx">     WEBCORE_EXPORT ExceptionOr&lt;String&gt; toDataURL(const String&amp; mimeType, std::optional&lt;double&gt; quality);
</span><span class="lines">@@ -176,6 +180,9 @@
</span><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx">     bool is3D() const;
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(WEBGPU)
+    bool isGPU() const;
+#endif
</ins><span class="cx"> 
</span><span class="cx">     HashSet&lt;CanvasObserver*&gt; m_observers;
</span><span class="cx">     std::unique_ptr&lt;CanvasRenderingContext&gt; m_context;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext.h (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext.h        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2009 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2009, 2017 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -54,6 +54,7 @@
</span><span class="cx">     virtual bool isWebGL1() const { return false; }
</span><span class="cx">     virtual bool isWebGL2() const { return false; }
</span><span class="cx">     bool is3d() const { return isWebGL1() || isWebGL2(); }
</span><ins>+    virtual bool isGPU() const { return false; }
</ins><span class="cx">     virtual bool isAccelerated() const { return false; }
</span><span class="cx"> 
</span><span class="cx">     virtual void paintRenderingResultsToCanvas() {}
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUBuffercppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUBuffer.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUBuffer.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUBuffer.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,70 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUBuffer.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;GPUBuffer.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+#include &lt;runtime/ArrayBuffer.h&gt;
+
+namespace WebCore {
+
+Ref&lt;WebGPUBuffer&gt; WebGPUBuffer::create(WebGPURenderingContext* context, ArrayBufferView* data)
+{
+    return adoptRef(*new WebGPUBuffer(context, data));
+}
+
+WebGPUBuffer::WebGPUBuffer(WebGPURenderingContext* context, ArrayBufferView* data)
+    : WebGPUObject(context)
+{
+    m_buffer = context-&gt;device()-&gt;createBufferFromData(data);
+}
+
+WebGPUBuffer::~WebGPUBuffer()
+{
+}
+
+unsigned long WebGPUBuffer::length() const
+{
+    if (!m_buffer)
+        return 0;
+
+    return m_buffer-&gt;length();
+}
+
+RefPtr&lt;ArrayBuffer&gt; WebGPUBuffer::contents() const
+{
+    if (!m_buffer)
+        return nullptr;
+
+    return m_buffer-&gt;contents();
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUBufferhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUBuffer.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUBuffer.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUBuffer.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+namespace WebCore {
+
+class GPUBuffer;
+
+class WebGPUBuffer : public WebGPUObject {
+public:
+    virtual ~WebGPUBuffer();
+    static Ref&lt;WebGPUBuffer&gt; create(WebGPURenderingContext*, ArrayBufferView*);
+
+    unsigned long length() const;
+    RefPtr&lt;ArrayBuffer&gt; contents() const;
+
+    GPUBuffer* buffer() { return m_buffer.get(); }
+
+private:
+    WebGPUBuffer(WebGPURenderingContext*, ArrayBufferView*);
+    RefPtr&lt;GPUBuffer&gt; m_buffer;
+};
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUBufferidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUBuffer.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUBuffer.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUBuffer.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUBuffer {
+
+    readonly attribute unsigned long length;
+    readonly attribute ArrayBufferView contents;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUCommandBuffercpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,87 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUCommandBuffer.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPUCommandBuffer.h&quot;
+#include &quot;GPUCommandQueue.h&quot;
+*/
+#include &quot;Logging.h&quot;
+#include &quot;WebGPUCommandQueue.h&quot;
+#include &quot;WebGPUDrawable.h&quot;
+#include &quot;WebGPURenderCommandEncoder.h&quot;
+#include &quot;WebGPURenderPassDescriptor.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPUCommandBuffer&gt; WebGPUCommandBuffer::create(WebGPURenderingContext* context, WebGPUCommandQueue* queue)
+{
+    return adoptRef(*new WebGPUCommandBuffer(context, queue));
+}
+
+WebGPUCommandBuffer::WebGPUCommandBuffer(WebGPURenderingContext* context, WebGPUCommandQueue* queue)
+    : WebGPUObject(context)
+{
+    LOG(WebGPU, &quot;WebGPUCommandBuffer::WebGPUCommandBuffer()&quot;);
+    m_commandBuffer = queue-&gt;commandQueue()-&gt;createCommandBuffer();
+}
+
+WebGPUCommandBuffer::~WebGPUCommandBuffer()
+{
+    LOG(WebGPU, &quot;WebGPUCommandBuffer::~WebGPUCommandBuffer()&quot;);
+}
+
+void WebGPUCommandBuffer::commit()
+{
+    LOG(WebGPU, &quot;WebGPUCommandBuffer::commit()&quot;);
+    if (!m_commandBuffer)
+        return;
+
+    return m_commandBuffer-&gt;commit();
+}
+
+void WebGPUCommandBuffer::presentDrawable(WebGPUDrawable&amp; drawable)
+{
+    LOG(WebGPU, &quot;WebGPUCommandBuffer::presentDrawable()&quot;);
+    if (!m_commandBuffer)
+        return;
+
+    return m_commandBuffer-&gt;presentDrawable(drawable.drawable());
+}
+
+RefPtr&lt;WebGPURenderCommandEncoder&gt; WebGPUCommandBuffer::createRenderCommandEncoderWithDescriptor(WebGPURenderPassDescriptor&amp; descriptor)
+{
+    RefPtr&lt;WebGPURenderCommandEncoder&gt; commandEncoder = WebGPURenderCommandEncoder::create(this-&gt;context(), this, &amp;descriptor);
+    return commandEncoder;
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPUCommandBufferhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,73 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUCommandBuffer;
+class GPUDrawable;
+class GPURenderCommandEncoder;
+class GPURenderPassDescriptor;
+class GPUCommandBuffer : public RefCounted&lt;GPUCommandBuffer&gt; {
+public:
+    GPURenderCommandEncoder* createRenderCommandEncoder(GPURenderPassDescriptor*) { return nullptr; }
+    void commit() { }
+    void presentDrawable(GPUDrawable*) { }
+};
+// FIXME: WebGPU - End stub.
+class WebGPUCommandQueue;
+class WebGPUDrawable;
+class WebGPUFunction;
+class WebGPURenderCommandEncoder;
+class WebGPURenderPassDescriptor;
+
+class WebGPUCommandBuffer : public WebGPUObject {
+public:
+    virtual ~WebGPUCommandBuffer();
+    static Ref&lt;WebGPUCommandBuffer&gt; create(WebGPURenderingContext*, WebGPUCommandQueue*);
+
+    void commit();
+    void presentDrawable(WebGPUDrawable&amp;);
+
+    RefPtr&lt;WebGPURenderCommandEncoder&gt; createRenderCommandEncoderWithDescriptor(WebGPURenderPassDescriptor&amp;);
+
+    GPUCommandBuffer* commandBuffer() { return m_commandBuffer.get(); }
+
+private:
+    WebGPUCommandBuffer(WebGPURenderingContext*, WebGPUCommandQueue*);
+    RefPtr&lt;GPUCommandBuffer&gt; m_commandBuffer;
+};
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUCommandBufferidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUCommandBuffer.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUCommandBuffer {
+
+    WebGPURenderCommandEncoder createRenderCommandEncoderWithDescriptor(WebGPURenderPassDescriptor descriptor);
+    void commit();
+    void presentDrawable(WebGPUDrawable drawable);
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUCommandQueuecppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,78 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUCommandQueue.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPUCommandQueue.h&quot;
+*/
+#include &quot;WebGPUCommandBuffer.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPUCommandQueue&gt; WebGPUCommandQueue::create(WebGPURenderingContext* context)
+{
+    return adoptRef(*new WebGPUCommandQueue(context));
+}
+
+WebGPUCommandQueue::WebGPUCommandQueue(WebGPURenderingContext* context)
+    : WebGPUObject(context)
+{
+    m_commandQueue = context-&gt;device()-&gt;createCommandQueue();
+}
+
+WebGPUCommandQueue::~WebGPUCommandQueue()
+{
+}
+
+String WebGPUCommandQueue::label() const
+{
+    if (!m_commandQueue)
+        return emptyString();
+
+    return m_commandQueue-&gt;label();
+}
+
+void WebGPUCommandQueue::setLabel(const String&amp; label)
+{
+    if (!m_commandQueue)
+        return;
+
+    m_commandQueue-&gt;setLabel(label);
+}
+
+RefPtr&lt;WebGPUCommandBuffer&gt; WebGPUCommandQueue::createCommandBuffer()
+{
+    RefPtr&lt;WebGPUCommandBuffer&gt; buffer = WebGPUCommandBuffer::create(this-&gt;context(), this);
+    return buffer;
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUCommandQueuehfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,70 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+class GPUCommandBuffer;
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUCommandQueue;
+class GPUCommandQueue : public RefCounted&lt;GPUCommandQueue&gt; {
+public:
+    GPUCommandBuffer* createCommandBuffer() { return nullptr; }
+    String label() const { return emptyString(); }
+    void setLabel(const String&amp;) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPUCommandBuffer;
+
+class WebGPUCommandQueue : public WebGPUObject {
+public:
+    virtual ~WebGPUCommandQueue();
+    static Ref&lt;WebGPUCommandQueue&gt; create(WebGPURenderingContext*);
+
+    String label() const;
+    void setLabel(const String&amp;);
+
+    RefPtr&lt;WebGPUCommandBuffer&gt; createCommandBuffer();
+
+    GPUCommandQueue* commandQueue() { return m_commandQueue.get(); }
+
+private:
+    WebGPUCommandQueue(WebGPURenderingContext*);
+
+    RefPtr&lt;GPUCommandQueue&gt; m_commandQueue;
+};
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUCommandQueueidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUCommandQueue.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUCommandQueue {
+
+    attribute DOMString label;
+
+    WebGPUCommandBuffer? createCommandBuffer();
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUDepthStencilDescriptorcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,104 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUDepthStencilDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPUDepthStencilDescriptor.h&quot;
+*/
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPUDepthStencilDescriptor&gt; WebGPUDepthStencilDescriptor::create()
+{
+    return adoptRef(*new WebGPUDepthStencilDescriptor());
+}
+
+WebGPUDepthStencilDescriptor::WebGPUDepthStencilDescriptor()
+    : WebGPUObject()
+{
+    m_depthStencilDescriptor = GPUDepthStencilDescriptor::create();
+}
+
+WebGPUDepthStencilDescriptor::~WebGPUDepthStencilDescriptor()
+{
+}
+
+String WebGPUDepthStencilDescriptor::label() const
+{
+    if (!m_depthStencilDescriptor)
+        return emptyString();
+
+    return m_depthStencilDescriptor-&gt;label();
+}
+
+void WebGPUDepthStencilDescriptor::setLabel(const String&amp; label)
+{
+    if (!m_depthStencilDescriptor)
+        return;
+
+    m_depthStencilDescriptor-&gt;setLabel(label);
+}
+
+bool WebGPUDepthStencilDescriptor::depthWriteEnabled() const
+{
+    if (!m_depthStencilDescriptor)
+        return false;
+
+    return m_depthStencilDescriptor-&gt;depthWriteEnabled();
+}
+
+void WebGPUDepthStencilDescriptor::setDepthWriteEnabled(bool newDepthWriteEnabled)
+{
+    if (!m_depthStencilDescriptor)
+        return;
+
+    m_depthStencilDescriptor-&gt;setDepthWriteEnabled(newDepthWriteEnabled);
+}
+
+auto WebGPUDepthStencilDescriptor::depthCompareFunction() const -&gt; WebGPUCompareFunction
+{
+    return m_depthCompareFunction;
+}
+
+void WebGPUDepthStencilDescriptor::setDepthCompareFunction(CompareFunction newDepthCompareFunction)
+{
+    m_depthCompareFunction = newDepthCompareFunction;
+    m_depthStencilDescriptor-&gt;setDepthCompareFunction(toGPUCompareFunction(m_depthCompareFunction));
+
+// FIXME: WebGPU - not implemented yet.
+//    if (Optional&lt;WebGPUCompareFunction&gt; compareFunction = toWebGPUCompareFunction(newDepthCompareFunction)) {
+//        m_depthCompareFunction = compareFunction.value();
+//        m_depthStencilDescriptor-&gt;setDepthCompareFunction(toGPUCompareFunction(m_depthCompareFunction));
+//    }
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPUDepthStencilDescriptorhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,76 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUEnums.h&quot;
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUDepthStencilDescriptor;
+class GPUDepthStencilDescriptor : public RefCounted&lt;GPUDepthStencilDescriptor&gt; {
+public:
+    static RefPtr&lt;GPUDepthStencilDescriptor&gt; create() { return nullptr; }
+    String label() const { return emptyString(); }
+    void setLabel(const String&amp;) { }
+    bool depthWriteEnabled() const { return false; }
+    void setDepthWriteEnabled(bool) { }
+    void setDepthCompareFunction(GPUCompareFunction) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPUDepthStencilDescriptor : public WebGPUObject {
+public:
+    virtual ~WebGPUDepthStencilDescriptor();
+    static Ref&lt;WebGPUDepthStencilDescriptor&gt; create();
+
+    String label() const;
+    void setLabel(const String&amp;);
+
+    bool depthWriteEnabled() const;
+    void setDepthWriteEnabled(bool);
+
+    using CompareFunction = WebGPUCompareFunction;
+    CompareFunction depthCompareFunction() const;
+    void setDepthCompareFunction(CompareFunction);
+
+    GPUDepthStencilDescriptor* depthStencilDescriptor() { return m_depthStencilDescriptor.get(); }
+
+private:
+    WebGPUDepthStencilDescriptor();
+
+    WebGPUCompareFunction m_depthCompareFunction;
+    RefPtr&lt;GPUDepthStencilDescriptor&gt; m_depthStencilDescriptor;
+};
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUDepthStencilDescriptoridlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDepthStencilDescriptor.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,51 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUCompareFunction {
+    &quot;never&quot;,
+    &quot;less&quot;,
+    &quot;equal&quot;,
+    &quot;lessequal&quot;,
+    &quot;greater&quot;,
+    &quot;notequal&quot;,
+    &quot;greaterequal&quot;,
+    &quot;always&quot;
+};
+
+[
+    Constructor,
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUDepthStencilDescriptor {
+
+    attribute DOMString label;
+
+    attribute WebGPUCompareFunction depthCompareFunction;
+    attribute boolean depthWriteEnabled;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUDepthStencilStatecppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUDepthStencilState.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPUDepthStencilState.h&quot;
+ */
+#include &quot;WebGPUDepthStencilDescriptor.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPUDepthStencilState&gt; WebGPUDepthStencilState::create(WebGPURenderingContext* context, WebGPUDepthStencilDescriptor* descriptor)
+{
+    return adoptRef(*new WebGPUDepthStencilState(context, descriptor));
+}
+
+WebGPUDepthStencilState::WebGPUDepthStencilState(WebGPURenderingContext* context, WebGPUDepthStencilDescriptor* descriptor)
+    : WebGPUObject(context)
+{
+    if (!context || !descriptor)
+        return;
+    m_depthStencilState = GPUDepthStencilState::create(context-&gt;device().get(), descriptor-&gt;depthStencilDescriptor());
+}
+
+WebGPUDepthStencilState::~WebGPUDepthStencilState()
+{
+}
+
+String WebGPUDepthStencilState::label() const
+{
+    if (!m_depthStencilState)
+        return emptyString();
+
+    return m_depthStencilState-&gt;label();
+}
+
+void WebGPUDepthStencilState::setLabel(const String&amp; label)
+{
+    if (!m_depthStencilState)
+        return;
+
+    m_depthStencilState-&gt;setLabel(label);
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUDepthStencilStatehfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,67 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUDepthStencilState;
+class GPUDevice;
+class GPUDepthStencilDescriptor;
+class GPUDepthStencilState : public RefCounted&lt;GPUDepthStencilState&gt; {
+public:
+    static RefPtr&lt;GPUDepthStencilState&gt; create(GPUDevice*, GPUDepthStencilDescriptor*) { return nullptr; }
+    String label() const { return emptyString(); }
+    void setLabel(const String&amp;) { }
+};
+// FIXME: WebGPU - End stub.
+class WebGPUDepthStencilDescriptor;
+
+class WebGPUDepthStencilState : public WebGPUObject {
+public:
+    virtual ~WebGPUDepthStencilState();
+    static Ref&lt;WebGPUDepthStencilState&gt; create(WebGPURenderingContext*, WebGPUDepthStencilDescriptor*);
+
+    String label() const;
+    void setLabel(const String&amp;);
+
+    GPUDepthStencilState* depthStencilState() { return m_depthStencilState.get(); }
+
+private:
+    WebGPUDepthStencilState(WebGPURenderingContext*, WebGPUDepthStencilDescriptor*);
+
+    RefPtr&lt;GPUDepthStencilState&gt; m_depthStencilState;
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUDepthStencilStateidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDepthStencilState.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUDepthStencilState {
+
+    attribute DOMString label;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUDrawablecppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUDrawable.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDrawable.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDrawable.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,70 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUDrawable.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPUDrawable.h&quot;
+ */
+#include &quot;GPUTexture.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+#include &quot;WebGPUTexture.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPUDrawable&gt; WebGPUDrawable::create(WebGPURenderingContext* context)
+{
+    return adoptRef(*new WebGPUDrawable(context));
+}
+
+WebGPUDrawable::WebGPUDrawable(WebGPURenderingContext* context)
+    : WebGPUObject(context)
+{
+    m_drawable = context-&gt;device()-&gt;getFramebuffer();
+    if (!m_drawable)
+        return;
+
+    RefPtr&lt;GPUTexture&gt; drawableTexture = GPUTexture::createFromExistingTexture(m_drawable-&gt;texture());
+    m_texture = WebGPUTexture::createFromDrawableTexture(context, drawableTexture);
+}
+
+WebGPUDrawable::~WebGPUDrawable()
+{
+}
+
+WebGPUTexture* WebGPUDrawable::texture()
+{
+    if (!m_texture)
+        return nullptr;
+
+    return m_texture.get();
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUDrawablehfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUDrawable.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDrawable.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDrawable.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,60 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUDrawable;
+class GPUDrawable : public RefCounted&lt;GPUDrawable&gt; {
+public:
+    GPUTexture* texture() { return nullptr; }
+};
+// FIXME: WebGPU - End stub.
+class WebGPUTexture;
+
+class WebGPUDrawable : public WebGPUObject {
+public:
+    virtual ~WebGPUDrawable();
+    static Ref&lt;WebGPUDrawable&gt; create(WebGPURenderingContext*);
+
+    WebGPUTexture* texture();
+
+    GPUDrawable* drawable() { return m_drawable.get(); }
+
+private:
+    WebGPUDrawable(WebGPURenderingContext*);
+    RefPtr&lt;GPUDrawable&gt; m_drawable;
+    RefPtr&lt;WebGPUTexture&gt; m_texture;
+};
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUDrawableidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUDrawable.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUDrawable.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUDrawable.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUDrawable {
+
+    readonly attribute WebGPUTexture texture; // FIXME: Only the framebuffer should have this.
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUEnumscpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPUEnums.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUEnums.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUEnums.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,108 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUEnums.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPUEnums.h&quot;
+ */
+
+namespace WebCore {
+
+std::optional&lt;WebGPUCompareFunction&gt; toWebGPUCompareFunction(const String&amp; name)
+{
+    if (equalLettersIgnoringASCIICase(name, &quot;never&quot;))
+        return WebGPUCompareFunction::Never;
+    if (equalLettersIgnoringASCIICase(name, &quot;less&quot;))
+        return WebGPUCompareFunction::Less;
+    if (equalLettersIgnoringASCIICase(name, &quot;equal&quot;))
+        return WebGPUCompareFunction::Equal;
+    if (equalLettersIgnoringASCIICase(name, &quot;lessequal&quot;))
+        return WebGPUCompareFunction::Lessequal;
+    if (equalLettersIgnoringASCIICase(name, &quot;greater&quot;))
+        return WebGPUCompareFunction::Greater;
+    if (equalLettersIgnoringASCIICase(name, &quot;notequal&quot;))
+        return WebGPUCompareFunction::Notequal;
+    if (equalLettersIgnoringASCIICase(name, &quot;greaterequal&quot;))
+        return WebGPUCompareFunction::Greaterequal;
+    if (equalLettersIgnoringASCIICase(name, &quot;always&quot;))
+        return WebGPUCompareFunction::Always;
+
+    ASSERT_NOT_REACHED();
+    return std::nullopt;
+}
+
+String web3DCompareFunctionName(const WebGPUCompareFunction value)
+{
+    if (value == WebGPUCompareFunction::Never)
+        return ASCIILiteral(&quot;never&quot;);
+    if (value == WebGPUCompareFunction::Less)
+        return ASCIILiteral(&quot;less&quot;);
+    if (value == WebGPUCompareFunction::Equal)
+        return ASCIILiteral(&quot;equal&quot;);
+    if (value == WebGPUCompareFunction::Lessequal)
+        return ASCIILiteral(&quot;lessequal&quot;);
+    if (value == WebGPUCompareFunction::Greater)
+        return ASCIILiteral(&quot;greater&quot;);
+    if (value == WebGPUCompareFunction::Notequal)
+        return ASCIILiteral(&quot;notequal&quot;);
+    if (value == WebGPUCompareFunction::Greaterequal)
+        return ASCIILiteral(&quot;greaterequal&quot;);
+    if (value == WebGPUCompareFunction::Always)
+        return ASCIILiteral(&quot;always&quot;);
+    
+    ASSERT_NOT_REACHED();
+    return emptyString();
+}
+
+GPUCompareFunction toGPUCompareFunction(const WebGPUCompareFunction value)
+{
+    if (value == WebGPUCompareFunction::Never)
+        return GPUCompareFunction::Never;
+    if (value == WebGPUCompareFunction::Less)
+        return GPUCompareFunction::Less;
+    if (value == WebGPUCompareFunction::Equal)
+        return GPUCompareFunction::Equal;
+    if (value == WebGPUCompareFunction::Lessequal)
+        return GPUCompareFunction::LessEqual;
+    if (value == WebGPUCompareFunction::Greater)
+        return GPUCompareFunction::Greater;
+    if (value == WebGPUCompareFunction::Notequal)
+        return GPUCompareFunction::NotEqual;
+    if (value == WebGPUCompareFunction::Greaterequal)
+        return GPUCompareFunction::GreaterEqual;
+    if (value == WebGPUCompareFunction::Always)
+        return GPUCompareFunction::Always;
+    
+    ASSERT_NOT_REACHED();
+    return GPUCompareFunction::Never;
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPUEnums.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPUEnumshfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUEnums.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUEnums.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUEnums.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &lt;wtf/Optional.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace WebCore {
+
+enum class WebGPUCompareFunction {
+    Never,
+    Less,
+    Equal,
+    Lessequal,
+    Greater,
+    Notequal,
+    Greaterequal,
+    Always
+};
+
+std::optional&lt;WebGPUCompareFunction&gt; toWebGPUCompareFunction(const String&amp;);
+String web3DCompareFunctionName(const WebGPUCompareFunction);
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// enum class GPUCompareFunction;
+enum class GPUCompareFunction {
+    Never,
+    Less,
+    Equal,
+    LessEqual,
+    Greater,
+    NotEqual,
+    GreaterEqual,
+    Always
+};
+// FIXME: WebGPU - End stub.
+GPUCompareFunction toGPUCompareFunction(const WebGPUCompareFunction);
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUEnumsidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPUEnums.idl (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUEnums.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUEnums.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,274 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUPixelFormat {
+    &quot;BGRA8Unorm&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPULoadAction {
+    &quot;dontcare&quot;,
+    &quot;load&quot;,
+    &quot;clear&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUStoreAction {
+    &quot;dontcare&quot;,
+    &quot;store&quot;,
+    &quot;multisampleresolve&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUPrimitiveType {
+    &quot;point&quot;,
+    &quot;line&quot;,
+    &quot;linestrip&quot;,
+    &quot;triangle&quot;,
+    &quot;trianglestrip&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUFunctionType {
+    &quot;fragment&quot;,
+    &quot;vertex&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUStencilOperation {
+    &quot;keep&quot;,
+    &quot;zero&quot;,
+    &quot;replace&quot;,
+    &quot;incrementclamp&quot;,
+    &quot;decrementclamp&quot;,
+    &quot;invert&quot;,
+    &quot;incrementwrap&quot;,
+    &quot;decrementwrap&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUStatus {
+    &quot;notenqueued&quot;,
+    &quot;enqueued&quot;,
+    &quot;committed&quot;,
+    &quot;scheduled&quot;,
+    &quot;completed&quot;,
+    &quot;error&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUSamplerAddressMode {
+    &quot;clamptoedge&quot;,
+    &quot;mirrorclamptoedge&quot;,
+    &quot;repeat&quot;,
+    &quot;mirrorrepeat&quot;,
+    &quot;clamptozero&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUSamplerMinMagFilter {
+    &quot;nearest&quot;,
+    &quot;linear&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUSamplerMipFilter {
+    &quot;notmipmapped&quot;,
+    &quot;nearest&quot;,
+    &quot;linear&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUCullMode {
+    &quot;none&quot;,
+    &quot;front&quot;,
+    &quot;back&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUIndexType {
+    &quot;uint16&quot;,
+    &quot;uint32&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUVisibilityResultMode {
+    &quot;disabled&quot;,
+    &quot;boolean&quot;,
+    &quot;counting&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUWinding {
+    &quot;clockwise&quot;,
+    &quot;counterclockwise&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUDepthClipMode {
+    &quot;clip&quot;,
+    &quot;clamp&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUTriangleFillMode {
+    &quot;fill&quot;,
+    &quot;lines&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUCPUCacheMode {
+    &quot;defaultcache&quot;,
+    &quot;writecombined&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUStorageMode {
+    &quot;shared&quot;,
+    &quot;managed&quot;,
+    &quot;private&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUResourceOptions {
+    &quot;cpucachemodedefaultcache&quot;,
+    &quot;cpucachemodewritecombined&quot;,
+    &quot;storagemodeshared&quot;,
+    &quot;storagemodemanaged&quot;,
+    &quot;storagemodeprivate&quot;,
+    &quot;optioncpucachemodedefaultcache&quot;,
+    &quot;optioncpucachemodewritecombined&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUTextureUsage {
+    &quot;unknown&quot;,
+    &quot;shaderread&quot;,
+    &quot;shaderwrite&quot;,
+    &quot;rendertarget&quot;,
+    &quot;pixelformatview&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUBlendOperation {
+    &quot;add&quot;,
+    &quot;subtract&quot;,
+    &quot;reversesubtract&quot;,
+    &quot;min&quot;,
+    &quot;max&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUBlendFactor {
+    &quot;zero&quot;,
+    &quot;one&quot;,
+    &quot;sourcecolor&quot;,
+    &quot;oneminussourcecolor&quot;,
+    &quot;sourcealpha&quot;,
+    &quot;oneminussourcealpha&quot;,
+    &quot;destinationcolor&quot;,
+    &quot;oneminusdestinationcolor&quot;,
+    &quot;destinationalpha&quot;,
+    &quot;oneminusdestinationalpha&quot;,
+    &quot;sourcealphasaturated&quot;,
+    &quot;blendcolor&quot;,
+    &quot;oneminusblendcolor&quot;,
+    &quot;blendalpha&quot;,
+    &quot;oneminusblendalpha&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUColorWriteMask {
+    &quot;none&quot;,
+    &quot;red&quot;,
+    &quot;green&quot;,
+    &quot;blue&quot;,
+    &quot;alpha&quot;,
+    &quot;all&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUMultisampleDepthResolveFilter {
+    &quot;sample0&quot;,
+    &quot;min&quot;,
+    &quot;max&quot;
+};
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] enum WebGPUFeatureSet {
+    &quot;level1&quot;,
+    &quot;level2&quot;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUFunctioncppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUFunction.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUFunction.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUFunction.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,63 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUFunction.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;GPUFunction.h&quot;
+#include &quot;GPULibrary.h&quot;
+#include &quot;WebGPULibrary.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPUFunction&gt; WebGPUFunction::create(WebGPURenderingContext* context, WebGPULibrary* library, const String&amp; name)
+{
+    return adoptRef(*new WebGPUFunction(context, library, name));
+}
+
+WebGPUFunction::WebGPUFunction(WebGPURenderingContext* context, WebGPULibrary* library, const String&amp; name)
+    : WebGPUObject(context)
+{
+    m_function = library-&gt;library()-&gt;functionWithName(name);
+}
+
+WebGPUFunction::~WebGPUFunction()
+{
+}
+
+String WebGPUFunction::name() const
+{
+    if (!m_function)
+        return emptyString();
+
+    return m_function-&gt;name();
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUFunctionhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUFunction.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUFunction.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUFunction.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,54 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+namespace WebCore {
+
+class GPUFunction;
+class WebGPULibrary;
+
+class WebGPUFunction : public WebGPUObject {
+public:
+    virtual ~WebGPUFunction();
+    static Ref&lt;WebGPUFunction&gt; create(WebGPURenderingContext*, WebGPULibrary*, const String&amp; name);
+
+    String name() const;
+
+    GPUFunction* function() const { return m_function.get(); }
+
+private:
+    WebGPUFunction(WebGPURenderingContext*, WebGPULibrary*, const String&amp; name);
+
+    RefPtr&lt;GPUFunction&gt; m_function;
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUFunctionidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUFunction.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUFunction.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUFunction.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUFunction {
+
+    readonly attribute DOMString name;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPULibrarycppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPULibrary.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPULibrary.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPULibrary.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,90 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPULibrary.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;GPULibrary.h&quot;
+#include &quot;WebGPUFunction.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPULibrary&gt; WebGPULibrary::create(WebGPURenderingContext* context, const String&amp; sourceCode)
+{
+    return adoptRef(*new WebGPULibrary(context, sourceCode));
+}
+
+WebGPULibrary::WebGPULibrary(WebGPURenderingContext* context, const String&amp; sourceCode)
+    : WebGPUObject(context)
+    , m_sourceCode(sourceCode)
+{
+    m_library = context-&gt;device()-&gt;createLibrary(sourceCode);
+}
+
+WebGPULibrary::~WebGPULibrary()
+{
+}
+
+String WebGPULibrary::label() const
+{
+    if (!m_library)
+        return emptyString();
+
+    return m_library-&gt;label();
+}
+
+void WebGPULibrary::setLabel(const String&amp; label)
+{
+    if (!m_library)
+        return;
+
+    m_library-&gt;setLabel(label);
+}
+
+Vector&lt;String&gt; WebGPULibrary::functionNames()
+{
+    if (!m_library)
+        return Vector&lt;String&gt;();
+
+    return m_library-&gt;functionNames();
+}
+
+RefPtr&lt;WebGPUFunction&gt; WebGPULibrary::functionWithName(const String&amp; name)
+{
+    if (!m_library)
+        return nullptr;
+
+    RefPtr&lt;WebGPUFunction&gt; function = WebGPUFunction::create(this-&gt;context(), this, name);
+    if (!function-&gt;function())
+        return nullptr;
+    return function;
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPULibraryhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPULibrary.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPULibrary.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPULibrary.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,63 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+class GPULibrary;
+class WebGPUFunction;
+
+class WebGPULibrary : public WebGPUObject {
+public:
+    virtual ~WebGPULibrary();
+    static Ref&lt;WebGPULibrary&gt; create(WebGPURenderingContext*, const String&amp; sourceCode);
+
+    String sourceCode() const { return m_sourceCode; }
+    String label() const;
+    void setLabel(const String&amp;);
+
+    Vector&lt;String&gt; functionNames();
+
+    RefPtr&lt;WebGPUFunction&gt; functionWithName(const String&amp;);
+
+    GPULibrary* library() { return m_library.get(); }
+
+private:
+    WebGPULibrary(WebGPURenderingContext*, const String&amp; sourceCode);
+
+    String m_sourceCode;
+    RefPtr&lt;GPULibrary&gt; m_library;
+};
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPULibraryidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPULibrary.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPULibrary.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPULibrary.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPULibrary {
+
+    readonly attribute DOMString sourceCode;
+    attribute DOMString label;
+    readonly attribute sequence&lt;DOMString&gt; functionNames;
+
+    WebGPUFunction? functionWithName(DOMString name);
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUObjectcppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUObject.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUObject.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUObject.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,51 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUObject.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+WebGPUObject::WebGPUObject(WebGPURenderingContext* context)
+    : m_context(context)
+{
+}
+
+WebGPUObject::~WebGPUObject()
+{
+}
+
+void WebGPUObject::deleteObject(GPUDevice*)
+{
+    m_deleted = true;
+}
+
+}
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUObjecthfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUObject.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUObject.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUObject.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,59 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;GPUDevice.h&quot;
+
+#include &lt;wtf/RefCounted.h&gt;
+
+namespace WebCore {
+
+class WebGPURenderingContext;
+
+class WebGPUObject : public RefCounted&lt;WebGPUObject&gt; {
+public:
+    virtual ~WebGPUObject();
+
+    void deleteObject(GPUDevice*);
+    bool isDeleted() const { return m_deleted; }
+
+    WebGPURenderingContext* context() { return m_context.get(); }
+
+protected:
+    WebGPUObject(WebGPURenderingContext* = nullptr);
+
+    bool hasContext() const { return m_context; }
+
+private:
+    RefPtr&lt;WebGPURenderingContext&gt; m_context;
+    bool m_deleted { false };
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderCommandEncodercpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,109 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderCommandEncoder.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPUCommandBuffer.h&quot;
+#include &quot;GPURenderCommandEncoder.h&quot;
+#include &quot;GPURenderPassDescriptor.h&quot;
+*/
+#include &quot;WebGPUBuffer.h&quot;
+#include &quot;WebGPUCommandBuffer.h&quot;
+#include &quot;WebGPUDepthStencilState.h&quot;
+#include &quot;WebGPURenderPassDescriptor.h&quot;
+#include &quot;WebGPURenderPipelineState.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPURenderCommandEncoder&gt; WebGPURenderCommandEncoder::create(WebGPURenderingContext* context, WebGPUCommandBuffer* buffer, WebGPURenderPassDescriptor* descriptor)
+{
+    return adoptRef(*new WebGPURenderCommandEncoder(context, buffer, descriptor));
+}
+
+WebGPURenderCommandEncoder::WebGPURenderCommandEncoder(WebGPURenderingContext* context, WebGPUCommandBuffer* buffer, WebGPURenderPassDescriptor* descriptor)
+    : WebGPUObject(context)
+{
+    m_renderCommandEncoder = buffer-&gt;commandBuffer()-&gt;createRenderCommandEncoder(descriptor-&gt;renderPassDescriptor());
+}
+
+WebGPURenderCommandEncoder::~WebGPURenderCommandEncoder()
+{
+}
+
+void WebGPURenderCommandEncoder::setRenderPipelineState(WebGPURenderPipelineState&amp; pipelineState)
+{
+    if (!m_renderCommandEncoder)
+        return;
+
+    m_renderCommandEncoder-&gt;setRenderPipelineState(pipelineState.renderPipelineState());
+}
+
+void WebGPURenderCommandEncoder::setDepthStencilState(WebGPUDepthStencilState&amp; depthStencilState)
+{
+    if (!m_renderCommandEncoder)
+        return;
+
+    m_renderCommandEncoder-&gt;setDepthStencilState(depthStencilState.depthStencilState());
+}
+
+void WebGPURenderCommandEncoder::setVertexBuffer(WebGPUBuffer&amp; buffer, unsigned offset, unsigned index)
+{
+    if (!m_renderCommandEncoder)
+        return;
+
+    m_renderCommandEncoder-&gt;setVertexBuffer(buffer.buffer(), offset, index);
+}
+
+void WebGPURenderCommandEncoder::setFragmentBuffer(WebGPUBuffer&amp; buffer, unsigned offset, unsigned index)
+{
+    if (!m_renderCommandEncoder)
+        return;
+
+    m_renderCommandEncoder-&gt;setFragmentBuffer(buffer.buffer(), offset, index);
+}
+
+void WebGPURenderCommandEncoder::drawPrimitives(unsigned type, unsigned start, unsigned count)
+{
+    if (!m_renderCommandEncoder)
+        return;
+
+    m_renderCommandEncoder-&gt;drawPrimitives(type, start, count);
+}
+
+void WebGPURenderCommandEncoder::endEncoding()
+{
+    if (!m_renderCommandEncoder)
+        return;
+    return m_renderCommandEncoder-&gt;endEncoding();
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderCommandEncoderh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.h (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,79 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderCommandEncoder;
+class GPUBuffer;
+class GPURenderPipelineState;
+class GPUDepthStencilState;
+class GPURenderCommandEncoder : public RefCounted&lt;GPURenderCommandEncoder&gt; {
+public:
+    void setRenderPipelineState(GPURenderPipelineState*) { }
+    void setDepthStencilState(GPUDepthStencilState*) { }
+    void setVertexBuffer(GPUBuffer*, unsigned, unsigned) { }
+    void setFragmentBuffer(GPUBuffer*, unsigned, unsigned) { }
+    void drawPrimitives(unsigned, unsigned, unsigned) { }
+    void endEncoding() { }
+};
+// FIXME: WebGPU - End stub.
+class WebGPUCommandBuffer;
+class WebGPUDepthStencilState;
+class WebGPURenderPassDescriptor;
+class WebGPUFunction;
+class WebGPURenderPipelineState;
+class WebGPUBuffer;
+
+class WebGPURenderCommandEncoder : public WebGPUObject {
+public:
+    virtual ~WebGPURenderCommandEncoder();
+    static Ref&lt;WebGPURenderCommandEncoder&gt; create(WebGPURenderingContext*, WebGPUCommandBuffer*, WebGPURenderPassDescriptor*);
+
+    void setRenderPipelineState(WebGPURenderPipelineState&amp;);
+    void setDepthStencilState(WebGPUDepthStencilState&amp;);
+    void setVertexBuffer(WebGPUBuffer&amp;, unsigned offset, unsigned index);
+    void setFragmentBuffer(WebGPUBuffer&amp;, unsigned offset, unsigned index);
+    void drawPrimitives(unsigned type, unsigned start, unsigned count);
+    void endEncoding();
+
+    GPURenderCommandEncoder* renderCommandEncoder() { return m_renderCommandEncoder.get(); }
+
+private:
+    WebGPURenderCommandEncoder(WebGPURenderingContext*, WebGPUCommandBuffer*, WebGPURenderPassDescriptor*);
+    RefPtr&lt;GPURenderCommandEncoder&gt; m_renderCommandEncoder;
+};
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.h
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderCommandEncoderidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderCommandEncoder.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPURenderCommandEncoder {
+
+    void setRenderPipelineState(WebGPURenderPipelineState pipelineState);
+    void setDepthStencilState(WebGPUDepthStencilState depthStencilState);
+    void setVertexBuffer(WebGPUBuffer buffer, unsigned long offset, unsigned long index);
+    void setFragmentBuffer(WebGPUBuffer buffer, unsigned long offset, unsigned long index);
+    void drawPrimitives(unsigned long type, unsigned long start, unsigned long count);
+
+    void endEncoding();
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassAttachmentDescriptorcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,100 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderPassAttachmentDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPURenderPassAttachmentDescriptor.h&quot;
+ */
+#include &quot;GPUTexture.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+#include &quot;WebGPUTexture.h&quot;
+
+namespace WebCore {
+
+WebGPURenderPassAttachmentDescriptor::WebGPURenderPassAttachmentDescriptor(WebGPURenderingContext* context, GPURenderPassAttachmentDescriptor* descriptor)
+    : WebGPUObject(context)
+    , m_renderPassAttachmentDescriptor(descriptor)
+{
+}
+
+WebGPURenderPassAttachmentDescriptor::~WebGPURenderPassAttachmentDescriptor()
+{
+}
+
+unsigned long WebGPURenderPassAttachmentDescriptor::loadAction() const
+{
+    if (!m_renderPassAttachmentDescriptor)
+        return 0; // FIXME: probably a real value for unknown
+
+    return m_renderPassAttachmentDescriptor-&gt;loadAction();
+}
+
+void WebGPURenderPassAttachmentDescriptor::setLoadAction(unsigned long newLoadAction)
+{
+    if (!m_renderPassAttachmentDescriptor)
+        return;
+
+    m_renderPassAttachmentDescriptor-&gt;setLoadAction(newLoadAction);
+}
+
+unsigned long WebGPURenderPassAttachmentDescriptor::storeAction() const
+{
+    if (!m_renderPassAttachmentDescriptor)
+        return 0; // FIXME: probably a real value for unknown
+
+    return m_renderPassAttachmentDescriptor-&gt;storeAction();
+}
+
+void WebGPURenderPassAttachmentDescriptor::setStoreAction(unsigned long newStoreAction)
+{
+    if (!m_renderPassAttachmentDescriptor)
+        return;
+
+    m_renderPassAttachmentDescriptor-&gt;setStoreAction(newStoreAction);
+}
+
+RefPtr&lt;WebGPUTexture&gt; WebGPURenderPassAttachmentDescriptor::texture() const
+{
+    return m_texture;
+}
+
+void WebGPURenderPassAttachmentDescriptor::setTexture(RefPtr&lt;WebGPUTexture&gt; newTexture)
+{
+    if (!newTexture)
+        return;
+    
+    m_texture = newTexture;
+    
+    if (m_renderPassAttachmentDescriptor)
+        m_renderPassAttachmentDescriptor-&gt;setTexture(newTexture-&gt;texture());
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassAttachmentDescriptorhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,79 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPassAttachmentDescriptor;
+class GPURenderPassAttachmentDescriptor : public RefCounted&lt;GPURenderPassAttachmentDescriptor&gt; {
+public:
+    unsigned long loadAction() const { return 0; }
+    void setLoadAction(unsigned long) { }
+    unsigned long storeAction() const { return 0; }
+    void setStoreAction(unsigned long) { }
+    void setTexture(GPUTexture*) { }
+};
+// FIXME: WebGPU - End stub.
+class WebGPUTexture;
+
+class WebGPURenderPassAttachmentDescriptor : public WebGPUObject {
+public:
+    virtual ~WebGPURenderPassAttachmentDescriptor();
+
+    unsigned long loadAction() const;
+    void setLoadAction(unsigned long);
+
+    unsigned long storeAction() const;
+    void setStoreAction(unsigned long);
+
+    RefPtr&lt;WebGPUTexture&gt; texture() const;
+    void setTexture(RefPtr&lt;WebGPUTexture&gt;);
+
+    GPURenderPassAttachmentDescriptor* renderPassAttachmentDescriptor() const { return m_renderPassAttachmentDescriptor.get(); }
+
+    virtual bool isColorAttachmentDescriptor() const { return false; }
+
+protected:
+
+    WebGPURenderPassAttachmentDescriptor(WebGPURenderingContext*, GPURenderPassAttachmentDescriptor*);
+
+
+private:
+
+    RefPtr&lt;GPURenderPassAttachmentDescriptor&gt; m_renderPassAttachmentDescriptor;
+    RefPtr&lt;WebGPUTexture&gt; m_texture;
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassAttachmentDescriptoridlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassAttachmentDescriptor.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU,
+    CustomToJSObject
+]
+interface WebGPURenderPassAttachmentDescriptor {
+
+    attribute WebGPUTexture? texture;
+
+    attribute unsigned long loadAction; // should be WebGPULoadAction
+    attribute unsigned long storeAction; // should be WebGPUStoreAction
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassColorAttachmentDescriptorcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,80 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderPassColorAttachmentDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPURenderPassColorAttachmentDescriptor.h&quot;
+ */
+#include &quot;GPUTexture.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+#include &quot;WebGPUTexture.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPURenderPassColorAttachmentDescriptor&gt; WebGPURenderPassColorAttachmentDescriptor::create(WebGPURenderingContext* context, GPURenderPassColorAttachmentDescriptor* descriptor)
+{
+    return adoptRef(*new WebGPURenderPassColorAttachmentDescriptor(context, descriptor));
+}
+
+WebGPURenderPassColorAttachmentDescriptor::WebGPURenderPassColorAttachmentDescriptor(WebGPURenderingContext* context, GPURenderPassColorAttachmentDescriptor* descriptor)
+    : WebGPURenderPassAttachmentDescriptor(context, descriptor)
+{
+}
+
+WebGPURenderPassColorAttachmentDescriptor::~WebGPURenderPassColorAttachmentDescriptor()
+{
+}
+
+GPURenderPassColorAttachmentDescriptor* WebGPURenderPassColorAttachmentDescriptor::renderPassColorAttachmentDescriptor() const
+{
+    return static_cast&lt;GPURenderPassColorAttachmentDescriptor*&gt;(renderPassAttachmentDescriptor());
+}
+
+Vector&lt;float&gt; WebGPURenderPassColorAttachmentDescriptor::clearColor() const
+{
+    GPURenderPassColorAttachmentDescriptor* descriptor = renderPassColorAttachmentDescriptor();
+    if (!descriptor) {
+        Vector&lt;float&gt; black = { 0.0, 0.0, 0.0, 1.0 };
+        return black;
+    }
+    return descriptor-&gt;clearColor();
+}
+
+void WebGPURenderPassColorAttachmentDescriptor::setClearColor(const Vector&lt;float&gt;&amp; newClearColor)
+{
+    GPURenderPassColorAttachmentDescriptor* descriptor = renderPassColorAttachmentDescriptor();
+    if (!descriptor)
+        return;
+
+    descriptor-&gt;setClearColor(newClearColor);
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassColorAttachmentDescriptorhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,65 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+#include &quot;WebGPURenderPassAttachmentDescriptor.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPassColorAttachmentDescriptor;
+class GPURenderPassColorAttachmentDescriptor : public GPURenderPassAttachmentDescriptor {
+public:
+    Vector&lt;float&gt; clearColor() const { return Vector&lt;float&gt;(); }
+    void setClearColor(const Vector&lt;float&gt;&amp;) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPassColorAttachmentDescriptor : public WebGPURenderPassAttachmentDescriptor {
+public:
+    virtual ~WebGPURenderPassColorAttachmentDescriptor();
+    static Ref&lt;WebGPURenderPassColorAttachmentDescriptor&gt; create(WebGPURenderingContext*, GPURenderPassColorAttachmentDescriptor*);
+
+    Vector&lt;float&gt; clearColor() const;
+    void setClearColor(const Vector&lt;float&gt;&amp;);
+
+    GPURenderPassColorAttachmentDescriptor* renderPassColorAttachmentDescriptor() const;
+
+    bool isColorAttachmentDescriptor() const override { return true; }
+
+private:
+    WebGPURenderPassColorAttachmentDescriptor(WebGPURenderingContext*, GPURenderPassColorAttachmentDescriptor*);
+
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassColorAttachmentDescriptoridlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassColorAttachmentDescriptor.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPURenderPassColorAttachmentDescriptor : WebGPURenderPassAttachmentDescriptor {
+
+    attribute sequence&lt;float&gt; clearColor;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassDepthAttachmentDescriptorcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,79 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderPassDepthAttachmentDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPURenderPassDepthAttachmentDescriptor.h&quot;
+ */
+#include &quot;GPUTexture.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+#include &quot;WebGPUTexture.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPURenderPassDepthAttachmentDescriptor&gt; WebGPURenderPassDepthAttachmentDescriptor::create(WebGPURenderingContext* context, GPURenderPassDepthAttachmentDescriptor* descriptor)
+{
+    return adoptRef(*new WebGPURenderPassDepthAttachmentDescriptor(context, descriptor));
+}
+
+WebGPURenderPassDepthAttachmentDescriptor::WebGPURenderPassDepthAttachmentDescriptor(WebGPURenderingContext* context, GPURenderPassDepthAttachmentDescriptor* descriptor)
+    : WebGPURenderPassAttachmentDescriptor(context, descriptor)
+{
+}
+
+WebGPURenderPassDepthAttachmentDescriptor::~WebGPURenderPassDepthAttachmentDescriptor()
+{
+}
+
+double WebGPURenderPassDepthAttachmentDescriptor::clearDepth() const
+{
+    GPURenderPassDepthAttachmentDescriptor* descriptor = renderPassDepthAttachmentDescriptor();
+    if (!descriptor)
+        return 0;
+
+    return descriptor-&gt;clearDepth();
+}
+
+void WebGPURenderPassDepthAttachmentDescriptor::setClearDepth(double newClearDepth)
+{
+    GPURenderPassDepthAttachmentDescriptor* descriptor = renderPassDepthAttachmentDescriptor();
+    if (!descriptor)
+        return;
+    
+    descriptor-&gt;setClearDepth(newClearDepth);
+}
+
+GPURenderPassDepthAttachmentDescriptor* WebGPURenderPassDepthAttachmentDescriptor::renderPassDepthAttachmentDescriptor() const
+{
+    return static_cast&lt;GPURenderPassDepthAttachmentDescriptor*&gt;(renderPassAttachmentDescriptor());
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassDepthAttachmentDescriptorhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+#include &quot;WebGPURenderPassAttachmentDescriptor.h&quot;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPassDepthAttachmentDescriptor;
+class GPURenderPassDepthAttachmentDescriptor : public GPURenderPassAttachmentDescriptor {
+public:
+    double clearDepth() const { return 0; }
+    void setClearDepth(double) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPassDepthAttachmentDescriptor : public WebGPURenderPassAttachmentDescriptor {
+public:
+    virtual ~WebGPURenderPassDepthAttachmentDescriptor();
+    static Ref&lt;WebGPURenderPassDepthAttachmentDescriptor&gt; create(WebGPURenderingContext*, GPURenderPassDepthAttachmentDescriptor*);
+
+    double clearDepth() const;
+    void setClearDepth(double);
+
+    GPURenderPassDepthAttachmentDescriptor* renderPassDepthAttachmentDescriptor() const;
+
+private:
+    WebGPURenderPassDepthAttachmentDescriptor(WebGPURenderingContext*, GPURenderPassDepthAttachmentDescriptor*);
+
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassDepthAttachmentDescriptoridlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassDepthAttachmentDescriptor.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPURenderPassDepthAttachmentDescriptor : WebGPURenderPassAttachmentDescriptor {
+
+    attribute unrestricted double clearDepth;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassDescriptorcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,85 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderPassDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPURenderPassColorAttachmentDescriptor.h&quot;
+#include &quot;GPURenderPassDepthAttachmentDescriptor.h&quot;
+#include &quot;GPURenderPassDescriptor.h&quot;
+*/
+#include &quot;WebGPURenderPassColorAttachmentDescriptor.h&quot;
+#include &quot;WebGPURenderPassDepthAttachmentDescriptor.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPURenderPassDescriptor&gt; WebGPURenderPassDescriptor::create()
+{
+    return adoptRef(*new WebGPURenderPassDescriptor());
+}
+
+WebGPURenderPassDescriptor::WebGPURenderPassDescriptor()
+    : WebGPUObject()
+{
+    m_renderPassDescriptor = GPURenderPassDescriptor::create();
+}
+
+WebGPURenderPassDescriptor::~WebGPURenderPassDescriptor()
+{
+}
+
+RefPtr&lt;WebGPURenderPassDepthAttachmentDescriptor&gt; WebGPURenderPassDescriptor::depthAttachment()
+{
+    if (!m_renderPassDescriptor)
+        return nullptr;
+
+    if (!m_depthAttachmentDescriptor) {
+        RefPtr&lt;GPURenderPassDepthAttachmentDescriptor&gt; platformDepthAttachment = m_renderPassDescriptor-&gt;depthAttachment();
+        m_depthAttachmentDescriptor = WebGPURenderPassDepthAttachmentDescriptor::create(this-&gt;context(), platformDepthAttachment.get());
+    }
+    return m_depthAttachmentDescriptor;
+}
+
+Vector&lt;RefPtr&lt;WebGPURenderPassColorAttachmentDescriptor&gt;&gt; WebGPURenderPassDescriptor::colorAttachments()
+{
+    if (!m_renderPassDescriptor)
+        return Vector&lt;RefPtr&lt;WebGPURenderPassColorAttachmentDescriptor&gt;&gt;();
+
+    if (!m_colorAttachmentDescriptors.size()) {
+        // FIXME: WebGPU - GPURenderPassColorAttachmentDescriptor not implemented yet.
+        //        Vector&lt;RefPtr&lt;GPURenderPassColorAttachmentDescriptor&gt;&gt; platformColorAttachments = m_renderPassDescriptor-&gt;colorAttachments();
+        //        for (auto&amp; attachment : platformColorAttachments)
+        //            m_colorAttachmentDescriptors.append(WebGPURenderPassColorAttachmentDescriptor::create(this-&gt;context(), attachment.get()));
+    }
+    return m_colorAttachmentDescriptors;
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassDescriptorh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.h (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,75 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;WebGPURenderPassColorAttachmentDescriptor.h&quot;
+#include &quot;WebGPURenderPassDepthAttachmentDescriptor.h&quot;
+*/
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPassDescriptor;
+class GPURenderPassDepthAttachmentDescriptor;
+class GPURenderPassDescriptor : public RefCounted&lt;GPURenderPassDescriptor&gt; {
+public:
+    static RefPtr&lt;GPURenderPassDescriptor&gt; create() { return nullptr; }
+    GPURenderPassDepthAttachmentDescriptor* depthAttachment() { return nullptr; }
+    // Vector&lt;RefPtr&lt;GPURenderPassColorAttachmentDescriptor&gt;&gt; colorAttachments() { return Vector&lt;RefPtr&lt;GPURenderPassColorAttachmentDescriptor&gt;&gt;(); }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPassColorAttachmentDescriptor;
+class WebGPURenderPassDepthAttachmentDescriptor;
+
+class WebGPURenderPassDescriptor : public WebGPUObject {
+public:
+    virtual ~WebGPURenderPassDescriptor();
+    static Ref&lt;WebGPURenderPassDescriptor&gt; create();
+
+    RefPtr&lt;WebGPURenderPassDepthAttachmentDescriptor&gt; depthAttachment();
+    Vector&lt;RefPtr&lt;WebGPURenderPassColorAttachmentDescriptor&gt;&gt; colorAttachments();
+
+    GPURenderPassDescriptor* renderPassDescriptor() { return m_renderPassDescriptor.get(); }
+
+private:
+    WebGPURenderPassDescriptor();
+
+    Vector&lt;RefPtr&lt;WebGPURenderPassColorAttachmentDescriptor&gt;&gt; m_colorAttachmentDescriptors;
+    RefPtr&lt;WebGPURenderPassDepthAttachmentDescriptor&gt; m_depthAttachmentDescriptor;
+
+    RefPtr&lt;GPURenderPassDescriptor&gt; m_renderPassDescriptor;
+};
+    
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.h
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderPassDescriptoridlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPassDescriptor.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Constructor,
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPURenderPassDescriptor {
+
+    readonly attribute sequence&lt;WebGPURenderPassColorAttachmentDescriptor&gt; colorAttachments;
+    readonly attribute WebGPURenderPassDepthAttachmentDescriptor depthAttachment;
+    //readonly attribute WebGPURenderPassStencilAttachmentDescriptor stencilAttachment;
+
+    // renderTargetArrayLength
+    // visibilityResultBuffer
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineColorAttachmentDescriptorcppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,71 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderPipelineColorAttachmentDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPURenderPipelineColorAttachmentDescriptor.h&quot;
+*/
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPURenderPipelineColorAttachmentDescriptor&gt; WebGPURenderPipelineColorAttachmentDescriptor::create(WebGPURenderingContext* context, GPURenderPipelineColorAttachmentDescriptor* descriptor)
+{
+    return adoptRef(*new WebGPURenderPipelineColorAttachmentDescriptor(context, descriptor));
+}
+
+WebGPURenderPipelineColorAttachmentDescriptor::WebGPURenderPipelineColorAttachmentDescriptor(WebGPURenderingContext* context, GPURenderPipelineColorAttachmentDescriptor* descriptor)
+    : WebGPUObject(context)
+    , m_renderPipelineColorAttachmentDescriptor(descriptor)
+{
+}
+
+WebGPURenderPipelineColorAttachmentDescriptor::~WebGPURenderPipelineColorAttachmentDescriptor()
+{
+}
+
+unsigned long WebGPURenderPipelineColorAttachmentDescriptor::pixelFormat() const
+{
+    if (!m_renderPipelineColorAttachmentDescriptor)
+        return 0; // FIXME: probably a real value for unknown
+
+    return m_renderPipelineColorAttachmentDescriptor-&gt;pixelFormat();
+}
+
+void WebGPURenderPipelineColorAttachmentDescriptor::setPixelFormat(unsigned long newPixelFormat)
+{
+    if (!m_renderPipelineColorAttachmentDescriptor)
+        return;
+
+    m_renderPipelineColorAttachmentDescriptor-&gt;setPixelFormat(newPixelFormat);
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineColorAttachmentDescriptorhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,62 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPipelineColorAttachmentDescriptor;
+class GPURenderPipelineColorAttachmentDescriptor : public RefCounted&lt;GPURenderPipelineColorAttachmentDescriptor&gt; {
+public:
+    unsigned long pixelFormat() const { return 0; }
+    void setPixelFormat(unsigned long) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPipelineColorAttachmentDescriptor : public WebGPUObject {
+public:
+    virtual ~WebGPURenderPipelineColorAttachmentDescriptor();
+    static Ref&lt;WebGPURenderPipelineColorAttachmentDescriptor&gt; create(WebGPURenderingContext*, GPURenderPipelineColorAttachmentDescriptor*);
+
+    unsigned long pixelFormat() const;
+    void setPixelFormat(unsigned long);
+
+    GPURenderPipelineColorAttachmentDescriptor* renderPipelineColorAttachmentDescriptor() { return m_renderPipelineColorAttachmentDescriptor.get(); }
+
+private:
+    WebGPURenderPipelineColorAttachmentDescriptor(WebGPURenderingContext*, GPURenderPipelineColorAttachmentDescriptor*);
+
+    RefPtr&lt;GPURenderPipelineColorAttachmentDescriptor&gt; m_renderPipelineColorAttachmentDescriptor;
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineColorAttachmentDescriptoridlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineColorAttachmentDescriptor.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPURenderPipelineColorAttachmentDescriptor {
+
+    attribute unsigned long pixelFormat; // should be MTLPixelFormat
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineDescriptorcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,143 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderPipelineDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;GPUFunction.h&quot;
+/* FIXME: WebGPU - Not implemented yet.
+#include &quot;GPURenderPipelineColorAttachmentDescriptor.h&quot;
+#include &quot;GPURenderPipelineDescriptor.h&quot;
+*/
+#include &quot;WebGPUFunction.h&quot;
+#include &quot;WebGPURenderPipelineColorAttachmentDescriptor.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPURenderPipelineDescriptor&gt; WebGPURenderPipelineDescriptor::create()
+{
+    return adoptRef(*new WebGPURenderPipelineDescriptor());
+}
+
+WebGPURenderPipelineDescriptor::WebGPURenderPipelineDescriptor()
+    : WebGPUObject()
+{
+    m_renderPipelineDescriptor = GPURenderPipelineDescriptor::create();
+}
+
+WebGPURenderPipelineDescriptor::~WebGPURenderPipelineDescriptor()
+{
+}
+
+String WebGPURenderPipelineDescriptor::label() const
+{
+    if (!m_renderPipelineDescriptor)
+        return emptyString();
+
+    return m_renderPipelineDescriptor-&gt;label();
+}
+
+void WebGPURenderPipelineDescriptor::setLabel(const String&amp; label)
+{
+    if (!m_renderPipelineDescriptor)
+        return;
+
+    m_renderPipelineDescriptor-&gt;setLabel(label);
+}
+
+RefPtr&lt;WebGPUFunction&gt; WebGPURenderPipelineDescriptor::vertexFunction() const
+{
+    return m_vertexFunction;
+}
+
+void WebGPURenderPipelineDescriptor::setVertexFunction(RefPtr&lt;WebGPUFunction&gt; newVertexFunction)
+{
+    if (!newVertexFunction)
+        return;
+
+    m_vertexFunction = newVertexFunction;
+
+    if (m_renderPipelineDescriptor)
+        m_renderPipelineDescriptor-&gt;setVertexFunction(newVertexFunction-&gt;function());
+}
+
+RefPtr&lt;WebGPUFunction&gt; WebGPURenderPipelineDescriptor::fragmentFunction() const
+{
+    return m_fragmentFunction;
+}
+
+void WebGPURenderPipelineDescriptor::setFragmentFunction(RefPtr&lt;WebGPUFunction&gt; newFragmentFunction)
+{
+    if (!newFragmentFunction)
+        return;
+
+    m_fragmentFunction = newFragmentFunction;
+
+    if (m_renderPipelineDescriptor)
+        m_renderPipelineDescriptor-&gt;setFragmentFunction(newFragmentFunction-&gt;function());
+}
+
+Vector&lt;RefPtr&lt;WebGPURenderPipelineColorAttachmentDescriptor&gt;&gt; WebGPURenderPipelineDescriptor::colorAttachments()
+{
+    if (!m_renderPipelineDescriptor)
+        return Vector&lt;RefPtr&lt;WebGPURenderPipelineColorAttachmentDescriptor&gt;&gt;();
+
+    if (!m_colorAttachmentDescriptors.size()) {
+        Vector&lt;RefPtr&lt;GPURenderPipelineColorAttachmentDescriptor&gt;&gt; platformColorAttachments = m_renderPipelineDescriptor-&gt;colorAttachments();
+        for (auto&amp; attachment : platformColorAttachments)
+            m_colorAttachmentDescriptors.append(WebGPURenderPipelineColorAttachmentDescriptor::create(this-&gt;context(), attachment.get()));
+    }
+    return m_colorAttachmentDescriptors;
+}
+
+unsigned long WebGPURenderPipelineDescriptor::depthAttachmentPixelFormat() const
+{
+    if (!m_renderPipelineDescriptor)
+        return 0; // FIXME: probably a real value for unknown
+
+    return m_renderPipelineDescriptor-&gt;depthAttachmentPixelFormat();
+
+}
+
+void WebGPURenderPipelineDescriptor::setDepthAttachmentPixelFormat(unsigned long newPixelFormat)
+{
+    if (!m_renderPipelineDescriptor)
+        return;
+
+    m_renderPipelineDescriptor-&gt;setDepthAttachmentPixelFormat(newPixelFormat);
+}
+
+void WebGPURenderPipelineDescriptor::reset()
+{
+    m_vertexFunction = nullptr;
+    m_fragmentFunction = nullptr;
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineDescriptorh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.h (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,92 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+#include &quot;WebGPURenderPipelineColorAttachmentDescriptor.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+class GPUFunction;
+
+// FIXME: WebGPU - stub implementation.
+class GPURenderPipelineDescriptor : public RefCounted&lt;GPURenderPipelineDescriptor&gt; {
+public:
+    static RefPtr&lt;GPURenderPipelineDescriptor&gt; create() { return nullptr; }
+    Vector&lt;RefPtr&lt;GPURenderPipelineColorAttachmentDescriptor&gt;&gt; colorAttachments() { return Vector&lt;RefPtr&lt;GPURenderPipelineColorAttachmentDescriptor&gt;&gt;(); }
+    String label() const { return emptyString(); }
+    void setLabel(const String&amp;) { }
+    void setVertexFunction(GPUFunction*) { }
+    void setFragmentFunction(GPUFunction*) { }
+    unsigned long depthAttachmentPixelFormat() const { return 0; }
+    void setDepthAttachmentPixelFormat(unsigned long) { }
+};
+// FIXME: WebGPU - end stub.
+
+class WebGPUFunction;
+class WebGPURenderPipelineColorAttachmentDescriptor;
+
+class WebGPURenderPipelineDescriptor : public WebGPUObject {
+public:
+    virtual ~WebGPURenderPipelineDescriptor();
+    static Ref&lt;WebGPURenderPipelineDescriptor&gt; create();
+
+    String label() const;
+    void setLabel(const String&amp;);
+
+    RefPtr&lt;WebGPUFunction&gt; vertexFunction() const;
+    void setVertexFunction(RefPtr&lt;WebGPUFunction&gt;);
+
+    RefPtr&lt;WebGPUFunction&gt; fragmentFunction() const;
+    void setFragmentFunction(RefPtr&lt;WebGPUFunction&gt;);
+
+    Vector&lt;RefPtr&lt;WebGPURenderPipelineColorAttachmentDescriptor&gt;&gt; colorAttachments();
+
+    unsigned long depthAttachmentPixelFormat() const;
+    void setDepthAttachmentPixelFormat(unsigned long);
+
+    void reset();
+
+    GPURenderPipelineDescriptor* renderPipelineDescriptor() { return m_renderPipelineDescriptor.get(); }
+
+private:
+    WebGPURenderPipelineDescriptor();
+
+    RefPtr&lt;WebGPUFunction&gt; m_vertexFunction;
+    RefPtr&lt;WebGPUFunction&gt; m_fragmentFunction;
+
+    Vector&lt;RefPtr&lt;WebGPURenderPipelineColorAttachmentDescriptor&gt;&gt; m_colorAttachmentDescriptors;
+
+    RefPtr&lt;GPURenderPipelineDescriptor&gt; m_renderPipelineDescriptor;
+};
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.h
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineDescriptoridlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineDescriptor.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,43 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Constructor,
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPURenderPipelineDescriptor {
+
+    attribute DOMString label;
+
+    attribute WebGPUFunction? vertexFunction;
+    attribute WebGPUFunction? fragmentFunction;
+
+    readonly attribute sequence&lt;WebGPURenderPipelineColorAttachmentDescriptor&gt; colorAttachments;
+
+    attribute unsigned long depthAttachmentPixelFormat;
+
+    void reset();
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineStatecppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderPipelineState.h&quot;
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.FIXME: WebGPU - Not implemented yet.
+#include &quot;GPURenderPipelineState.h&quot;
+ */
+#include &quot;WebGPURenderPipelineDescriptor.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPURenderPipelineState&gt; WebGPURenderPipelineState::create(WebGPURenderingContext* context, WebGPURenderPipelineDescriptor* descriptor)
+{
+    return adoptRef(*new WebGPURenderPipelineState(context, descriptor));
+}
+
+WebGPURenderPipelineState::WebGPURenderPipelineState(WebGPURenderingContext* context, WebGPURenderPipelineDescriptor* descriptor)
+    : WebGPUObject(context)
+{
+    if (!context || !descriptor)
+        return;
+    m_renderPipelineState = GPURenderPipelineState::create(context-&gt;device().get(), descriptor-&gt;renderPipelineDescriptor());
+}
+
+WebGPURenderPipelineState::~WebGPURenderPipelineState()
+{
+}
+
+String WebGPURenderPipelineState::label() const
+{
+    if (!m_renderPipelineState)
+        return emptyString();
+
+    return m_renderPipelineState-&gt;label();
+}
+
+void WebGPURenderPipelineState::setLabel(const String&amp; label)
+{
+    if (!m_renderPipelineState)
+        return;
+
+    m_renderPipelineState-&gt;setLabel(label);
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineStatehfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,67 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPipelineState;
+class GPURenderPipelineDescriptor;
+class GPURenderPipelineState : public RefCounted&lt;GPURenderPipelineState&gt; {
+public:
+    static RefPtr&lt;GPURenderPipelineState&gt; create(GPUDevice*, GPURenderPipelineDescriptor*) { return nullptr; }
+    String label() const { return emptyString(); }
+    void setLabel(const String&amp;) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPipelineDescriptor;
+
+class WebGPURenderPipelineState : public WebGPUObject {
+public:
+    virtual ~WebGPURenderPipelineState();
+    static Ref&lt;WebGPURenderPipelineState&gt; create(WebGPURenderingContext*, WebGPURenderPipelineDescriptor*);
+
+    String label() const;
+    void setLabel(const String&amp;);
+
+    GPURenderPipelineState* renderPipelineState() { return m_renderPipelineState.get(); }
+
+private:
+    WebGPURenderPipelineState(WebGPURenderingContext*, WebGPURenderPipelineDescriptor*);
+
+    RefPtr&lt;GPURenderPipelineState&gt; m_renderPipelineState;
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderPipelineStateidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderPipelineState.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPURenderPipelineState {
+
+    attribute DOMString label;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPURenderingContextcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderingContext.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderingContext.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderingContext.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,207 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;Document.h&quot;
+#include &quot;FrameView.h&quot;
+#include &quot;GPUDevice.h&quot;
+#include &quot;WebGPUBuffer.h&quot;
+#include &quot;WebGPUCommandQueue.h&quot;
+#include &quot;WebGPUDepthStencilDescriptor.h&quot;
+#include &quot;WebGPUDepthStencilState.h&quot;
+#include &quot;WebGPUDrawable.h&quot;
+#include &quot;WebGPULibrary.h&quot;
+#include &quot;WebGPURenderPassDescriptor.h&quot;
+#include &quot;WebGPURenderPipelineDescriptor.h&quot;
+#include &quot;WebGPURenderPipelineState.h&quot;
+#include &quot;WebGPUTexture.h&quot;
+#include &quot;WebGPUTextureDescriptor.h&quot;
+
+#include &lt;runtime/ArrayBuffer.h&gt;
+#include &lt;runtime/JSCInlines.h&gt;
+#include &lt;runtime/TypedArrayInlines.h&gt;
+#include &lt;runtime/Uint32Array.h&gt;
+#include &lt;wtf/StdLibExtras.h&gt;
+#include &lt;wtf/text/CString.h&gt;
+#include &lt;wtf/text/StringBuilder.h&gt;
+
+namespace {
+
+int clamp(int value, int min, int max)
+{
+    if (value &lt; min)
+        value = min;
+    if (value &gt; max)
+        value = max;
+    return value;
+}
+
+}
+
+namespace WebCore {
+
+static const int kMaxTextureSize = 4096;
+
+
+std::unique_ptr&lt;WebGPURenderingContext&gt; WebGPURenderingContext::create(HTMLCanvasElement&amp; canvas)
+{
+    UNUSED_PARAM(canvas);
+/* FIXME: WebGPU - To be implemented.
+    Document&amp; document = canvas.document();
+    Frame* frame = document.frame();
+    if (!frame)
+        return nullptr;
+
+    GPUDevice::Attributes attributes;
+
+    attributes.antialias = false;
+
+    // FIXME: WebGPU - handle retina.
+    // if (page)
+    //     attributes.devicePixelRatio = page-&gt;deviceScaleFactor();
+
+    HostWindow* hostWindow = document.view()-&gt;root()-&gt;hostWindow();
+    RefPtr&lt;GPUDevice&gt; device(GPUDevice::create(attributes, hostWindow));
+
+    if (!device) {
+        // FIXME: WebGPU - dispatch an event here for the failure.
+        return nullptr;
+    }
+
+    std::unique_ptr&lt;WebGPURenderingContext&gt; renderingContext = nullptr;
+    renderingContext = std::unique_ptr&lt;WebGPURenderingContext&gt;(new WebGPURenderingContext(canvas, device));
+    renderingContext-&gt;suspendIfNeeded();
+
+    return renderingContext;
+*/
+    return nullptr;
+}
+
+WebGPURenderingContext::WebGPURenderingContext(HTMLCanvasElement&amp; canvas, PassRefPtr&lt;GPUDevice&gt; device)
+    : CanvasRenderingContext(canvas)
+    , ActiveDOMObject(&amp;canvas.document())
+    , m_device(device)
+{
+    initializeNewContext();
+}
+
+void WebGPURenderingContext::initializeNewContext()
+{
+    // FIXME: WebGPU - Maybe we should reset a bunch of stuff here.
+
+    IntSize canvasSize = clampedCanvasSize();
+    m_device-&gt;reshape(canvasSize.width(), canvasSize.height());
+}
+
+IntSize WebGPURenderingContext::clampedCanvasSize() const
+{
+    return IntSize(clamp(canvas().width(), 1, kMaxTextureSize),
+        clamp(canvas().height(), 1, kMaxTextureSize));
+}
+
+bool WebGPURenderingContext::hasPendingActivity() const
+{
+    return false;
+}
+
+void WebGPURenderingContext::stop()
+{
+}
+
+const char* WebGPURenderingContext::activeDOMObjectName() const
+{
+    return &quot;WebGPURenderingContext&quot;;
+}
+
+bool WebGPURenderingContext::canSuspendForDocumentSuspension() const
+{
+    return false;
+}
+
+PlatformLayer* WebGPURenderingContext::platformLayer() const
+{
+    return m_device-&gt;platformLayer();
+}
+
+void WebGPURenderingContext::markLayerComposited()
+{
+    m_device-&gt;markLayerComposited();
+}
+
+void WebGPURenderingContext::reshape(int width, int height)
+{
+    // FIXME: WebGPU - Do we need to reset stuff here?
+    m_device-&gt;reshape(width, height);
+}
+
+RefPtr&lt;WebGPULibrary&gt; WebGPURenderingContext::createLibrary(const String sourceCode)
+{
+    RefPtr&lt;WebGPULibrary&gt; library = WebGPULibrary::create(this, sourceCode);
+    return library;
+}
+
+RefPtr&lt;WebGPURenderPipelineState&gt; WebGPURenderingContext::createRenderPipelineState(WebGPURenderPipelineDescriptor&amp; descriptor)
+{
+    RefPtr&lt;WebGPURenderPipelineState&gt; state = WebGPURenderPipelineState::create(this, &amp;descriptor);
+    return state;
+}
+
+RefPtr&lt;WebGPUDepthStencilState&gt; WebGPURenderingContext::createDepthStencilState(WebGPUDepthStencilDescriptor&amp; descriptor)
+{
+    RefPtr&lt;WebGPUDepthStencilState&gt; state = WebGPUDepthStencilState::create(this, &amp;descriptor);
+    return state;
+}
+
+RefPtr&lt;WebGPUCommandQueue&gt; WebGPURenderingContext::createCommandQueue()
+{
+    RefPtr&lt;WebGPUCommandQueue&gt; queue = WebGPUCommandQueue::create(this);
+    return queue;
+}
+
+RefPtr&lt;WebGPUDrawable&gt; WebGPURenderingContext::nextDrawable()
+{
+    RefPtr&lt;WebGPUDrawable&gt; drawable = WebGPUDrawable::create(this);
+    return drawable;
+}
+
+RefPtr&lt;WebGPUBuffer&gt; WebGPURenderingContext::createBuffer(ArrayBufferView&amp; data)
+{
+    RefPtr&lt;WebGPUBuffer&gt; buffer = WebGPUBuffer::create(this, &amp;data);
+    return buffer;
+}
+
+RefPtr&lt;WebGPUTexture&gt; WebGPURenderingContext::createTexture(WebGPUTextureDescriptor&amp; descriptor)
+{
+    RefPtr&lt;WebGPUTexture&gt; texture = WebGPUTexture::create(this, &amp;descriptor);
+    return texture;
+}
+
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderingContext.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderingContexth"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderingContext.h (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderingContext.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderingContext.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,103 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;ActiveDOMObject.h&quot;
+#include &quot;CanvasRenderingContext.h&quot;
+#include &quot;GPUDevice.h&quot;
+#include &lt;runtime/ArrayBuffer.h&gt;
+
+namespace WebCore {
+
+class WebGPUCommandQueue;
+class WebGPULibrary;
+class WebGPURenderPipelineDescriptor;
+class WebGPURenderPipelineState;
+class WebGPUDepthStencilDescriptor;
+class WebGPUDepthStencilState;
+class WebGPURenderPassDescriptor;
+class WebGPUDrawable;
+class WebGPUBuffer;
+class WebGPUTexture;
+class WebGPUTextureDescriptor;
+
+class WebGPURenderingContext : public CanvasRenderingContext, public ActiveDOMObject {
+public:
+    static std::unique_ptr&lt;WebGPURenderingContext&gt; create(HTMLCanvasElement&amp;);
+//    virtual ~WebGPURenderingContext();
+
+    bool isGPU() const override { return true; }
+
+    bool isAccelerated() const override { return true; }
+
+    void reshape(int width, int height);
+
+    void markLayerComposited();
+
+    PlatformLayer* platformLayer() const override;
+
+    RefPtr&lt;GPUDevice&gt; device() { return m_device; }
+
+    // WebGPU entry points
+
+    RefPtr&lt;WebGPULibrary&gt; createLibrary(const String);
+
+    RefPtr&lt;WebGPURenderPipelineState&gt; createRenderPipelineState(WebGPURenderPipelineDescriptor&amp;);
+
+    RefPtr&lt;WebGPUDepthStencilState&gt; createDepthStencilState(WebGPUDepthStencilDescriptor&amp;);
+
+    RefPtr&lt;WebGPUCommandQueue&gt; createCommandQueue();
+
+    RefPtr&lt;WebGPUDrawable&gt; nextDrawable();
+
+    RefPtr&lt;WebGPUBuffer&gt; createBuffer(ArrayBufferView&amp; data);
+
+    RefPtr&lt;WebGPUTexture&gt; createTexture(WebGPUTextureDescriptor&amp;);
+
+protected:
+    // ActiveDOMObject
+    bool hasPendingActivity() const override;
+    void stop() override;
+    const char* activeDOMObjectName() const override;
+    bool canSuspendForDocumentSuspension() const override;
+
+    IntSize clampedCanvasSize() const;
+    void initializeNewContext();
+
+private:
+//    WebGPURenderingContext(HTMLCanvasElement*);//, GraphicsContext3D::Attributes);
+    WebGPURenderingContext(HTMLCanvasElement&amp;, PassRefPtr&lt;GPUDevice&gt;);
+
+    RefPtr&lt;GPUDevice&gt; m_device;
+};
+
+} // namespace WebCore
+
+SPECIALIZE_TYPE_TRAITS_CANVASRENDERINGCONTEXT(WebCore::WebGPURenderingContext, isGPU())
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPURenderingContext.h
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPURenderingContextidl"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPURenderingContext.idl (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPURenderingContext.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPURenderingContext.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,111 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU,
+    JSCustomMarkFunction,
+    DoNotCheckConstants
+] interface WebGPURenderingContext {
+
+    // Pixel formats
+
+    const unsigned int PixelFormatBGRA8Unorm = 80;
+    const unsigned int PixelFormatDepth32Float = 252;
+    const unsigned int PixelFormatStencil8 = 253;
+    const unsigned int PixelFormatInvalid = 0;
+
+    // Load actions
+
+    const unsigned int LoadActionDontCare = 0;
+    const unsigned int LoadActionLoad = 1;
+    const unsigned int LoadActionClear = 2;
+
+    // Store actions
+
+    const unsigned int StoreActionDontCare = 0;
+    const unsigned int StoreActionStore = 1;
+    const unsigned int StoreActionMultisampleResolve = 2;
+
+    // Primitive types
+
+    const unsigned int PrimitiveTypePoint = 0;
+    const unsigned int PrimitiveTypeLine = 1;
+    const unsigned int PrimitiveTypeLineStrip = 2;
+    const unsigned int PrimitiveTypeTriangle = 3;
+    const unsigned int PrimitiveTypeTriangleStrip = 4;
+
+    // Comparison functions
+
+    const unsigned int CompareFunctionNever = 0;
+    const unsigned int CompareFunctionLess = 1;
+    const unsigned int CompareFunctionEqual = 2;
+    const unsigned int CompareFunctionLessEqual = 3;
+    const unsigned int CompareFunctionGreater = 4;
+    const unsigned int CompareFunctionNotEqual = 5;
+    const unsigned int CompareFunctionGreaterEqual = 6;
+    const unsigned int CompareFunctionAlways = 7;
+
+    // Texture Types
+
+    const unsigned int TextureType1D = 0;
+    const unsigned int TextureType1DArray = 1;
+    const unsigned int TextureType2D = 2;
+    const unsigned int TextureType2DArray = 3;
+    const unsigned int TextureType2DMultisample = 4;
+    const unsigned int TextureTypeCube = 5;
+    const unsigned int TextureTypeCubeArray = 6;
+    const unsigned int TextureType3D = 7;
+
+    // Storage modes
+
+    const unsigned int StorageModeShared  = 0;
+    const unsigned int StorageModeManaged = 1;
+    const unsigned int StorageModePrivate = 2;
+
+    // Usage
+
+    const unsigned int TextureUsageUnknown = 0x0000;
+    const unsigned int TextureUsageShaderRead = 0x0001;
+    const unsigned int TextureUsageShaderWrite = 0x0002;
+    const unsigned int TextureUsageRenderTarget = 0x0004;
+    const unsigned int TextureUsagePixelFormatView = 0x0010;
+
+    // Entry points
+
+    WebGPULibrary createLibrary(DOMString sourceCode);
+
+    WebGPURenderPipelineState? createRenderPipelineState(WebGPURenderPipelineDescriptor descriptor);
+    WebGPUDepthStencilState? createDepthStencilState(WebGPUDepthStencilDescriptor descriptor);
+
+    WebGPUCommandQueue? createCommandQueue();
+
+    WebGPUDrawable? nextDrawable();
+
+    WebGPUBuffer? createBuffer(ArrayBufferView data);
+
+    WebGPUTexture? createTexture(WebGPUTextureDescriptor descriptor);
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUTexturecppfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUTexture.cpp (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUTexture.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUTexture.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,81 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUTexture.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;GPUTexture.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+#include &quot;WebGPUTextureDescriptor.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPUTexture&gt; WebGPUTexture::createFromDrawableTexture(WebGPURenderingContext* context, PassRefPtr&lt;GPUTexture&gt; drawableTexture)
+{
+    return adoptRef(*new WebGPUTexture(context, drawableTexture));
+}
+
+Ref&lt;WebGPUTexture&gt; WebGPUTexture::create(WebGPURenderingContext* context, WebGPUTextureDescriptor* descriptor)
+{
+    return adoptRef(*new WebGPUTexture(context, descriptor));
+}
+
+WebGPUTexture::WebGPUTexture(WebGPURenderingContext* context, PassRefPtr&lt;GPUTexture&gt; drawableTexture)
+    : WebGPUObject(context)
+    , m_texture(drawableTexture)
+{
+}
+
+WebGPUTexture::WebGPUTexture(WebGPURenderingContext* context, WebGPUTextureDescriptor* descriptor)
+    : WebGPUObject(context)
+{
+    m_texture = context-&gt;device()-&gt;createTexture(descriptor-&gt;textureDescriptor());
+}
+
+WebGPUTexture::~WebGPUTexture()
+{
+}
+
+unsigned long WebGPUTexture::width() const
+{
+    if (!m_texture)
+        return 0;
+    
+    return m_texture-&gt;width();
+}
+
+unsigned long WebGPUTexture::height() const
+{
+    if (!m_texture)
+        return 0;
+
+    return m_texture-&gt;height();
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUTexturehfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUTexture.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUTexture.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUTexture.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,57 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUObject.h&quot;
+
+namespace WebCore {
+
+class GPUTexture;
+class WebGPUTextureDescriptor;
+
+class WebGPUTexture : public WebGPUObject {
+public:
+    virtual ~WebGPUTexture();
+    static Ref&lt;WebGPUTexture&gt; createFromDrawableTexture(WebGPURenderingContext*, PassRefPtr&lt;GPUTexture&gt;);
+    static Ref&lt;WebGPUTexture&gt; create(WebGPURenderingContext*, WebGPUTextureDescriptor*);
+
+    unsigned long width() const;
+    unsigned long height() const;
+
+    GPUTexture* texture() const { return m_texture.get(); }
+
+private:
+    WebGPUTexture(WebGPURenderingContext*, PassRefPtr&lt;GPUTexture&gt;);
+    WebGPUTexture(WebGPURenderingContext*, WebGPUTextureDescriptor*);
+
+    RefPtr&lt;GPUTexture&gt; m_texture;
+};
+    
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUTextureidlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUTexture.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUTexture.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUTexture.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUTexture {
+
+    readonly attribute unsigned long width;
+    readonly attribute unsigned long height;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUTextureDescriptorcpp"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.cpp (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.cpp                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.cpp        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,149 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebGPUTextureDescriptor.h&quot;
+
+#if ENABLE(WEBGPU)
+
+#include &quot;GPUTextureDescriptor.h&quot;
+#include &quot;WebGPURenderingContext.h&quot;
+
+namespace WebCore {
+
+Ref&lt;WebGPUTextureDescriptor&gt; WebGPUTextureDescriptor::create(unsigned long pixelFormat, unsigned long width, unsigned long height, bool mipmapped)
+{
+    return adoptRef(*new WebGPUTextureDescriptor(pixelFormat, width, height, mipmapped));
+}
+
+WebGPUTextureDescriptor::WebGPUTextureDescriptor(unsigned long pixelFormat, unsigned long width, unsigned long height, bool mipmapped)
+    : WebGPUObject()
+{
+    m_textureDescriptor = GPUTextureDescriptor::create(pixelFormat, width, height, mipmapped);
+}
+
+WebGPUTextureDescriptor::~WebGPUTextureDescriptor()
+{
+}
+
+unsigned long WebGPUTextureDescriptor::width() const
+{
+    if (!m_textureDescriptor)
+        return 0;
+
+    return m_textureDescriptor-&gt;width();
+}
+
+void WebGPUTextureDescriptor::setWidth(unsigned long width)
+{
+    if (!m_textureDescriptor)
+        return;
+
+    m_textureDescriptor-&gt;setWidth(width);
+}
+
+unsigned long WebGPUTextureDescriptor::height() const
+{
+    if (!m_textureDescriptor)
+        return 0;
+
+    return m_textureDescriptor-&gt;height();
+}
+
+void WebGPUTextureDescriptor::setHeight(unsigned long height)
+{
+    if (!m_textureDescriptor)
+        return;
+    
+    m_textureDescriptor-&gt;setHeight(height);
+}
+
+unsigned long WebGPUTextureDescriptor::sampleCount() const
+{
+    if (!m_textureDescriptor)
+        return 0;
+
+    return m_textureDescriptor-&gt;sampleCount();
+}
+
+void WebGPUTextureDescriptor::setSampleCount(unsigned long sampleCount)
+{
+    if (!m_textureDescriptor)
+        return;
+    
+    m_textureDescriptor-&gt;setSampleCount(sampleCount);
+}
+
+unsigned long WebGPUTextureDescriptor::textureType() const
+{
+    if (!m_textureDescriptor)
+        return 0;
+
+    return m_textureDescriptor-&gt;textureType();
+}
+
+void WebGPUTextureDescriptor::setTextureType(unsigned long textureType)
+{
+    if (!m_textureDescriptor)
+        return;
+    
+    m_textureDescriptor-&gt;setTextureType(textureType);
+}
+
+unsigned long WebGPUTextureDescriptor::storageMode() const
+{
+    if (!m_textureDescriptor)
+        return 0;
+
+    return m_textureDescriptor-&gt;storageMode();
+}
+
+void WebGPUTextureDescriptor::setStorageMode(unsigned long storageMode)
+{
+    if (!m_textureDescriptor)
+        return;
+    
+    m_textureDescriptor-&gt;setStorageMode(storageMode);
+}
+
+unsigned long WebGPUTextureDescriptor::usage() const
+{
+    if (!m_textureDescriptor)
+        return 0;
+
+    return m_textureDescriptor-&gt;usage();
+}
+
+void WebGPUTextureDescriptor::setUsage(unsigned long usage)
+{
+    if (!m_textureDescriptor)
+        return;
+
+    m_textureDescriptor-&gt;setUsage(usage);
+}
+    
+} // namespace WebCore
+
+#endif
</ins><span class="cx">Property changes on: trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.cpp
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<ins>+native
</ins><span class="cx">\ No newline at end of property
</span><a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<ins>+Date Author Id Revision HeadURL
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkSourceWebCorehtmlcanvasWebGPUTextureDescriptorhfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.h (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,72 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if ENABLE(WEBGPU)
+
+#include &quot;WebGPUEnums.h&quot;
+#include &quot;WebGPUObject.h&quot;
+
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+class GPUTextureDescriptor;
+
+class WebGPUTextureDescriptor : public WebGPUObject {
+public:
+    virtual ~WebGPUTextureDescriptor();
+    static Ref&lt;WebGPUTextureDescriptor&gt; create(unsigned long pixelFormat, unsigned long width, unsigned long height, bool mipmapped);
+
+    unsigned long width() const;
+    void setWidth(unsigned long);
+
+    unsigned long height() const;
+    void setHeight(unsigned long);
+
+    unsigned long sampleCount() const;
+    void setSampleCount(unsigned long);
+
+    unsigned long textureType() const;
+    void setTextureType(unsigned long);
+
+    unsigned long storageMode() const;
+    void setStorageMode(unsigned long);
+
+    unsigned long usage() const;
+    void setUsage(unsigned long);
+
+    GPUTextureDescriptor* textureDescriptor() { return m_textureDescriptor.get(); }
+
+private:
+    WebGPUTextureDescriptor(unsigned long pixelFormat, unsigned long width, unsigned long height, bool mipmapped);
+
+    RefPtr&lt;GPUTextureDescriptor&gt; m_textureDescriptor;
+};
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasWebGPUTextureDescriptoridlfromrev213761trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.idl (from rev 213761, trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h) (0 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/html/canvas/WebGPUTextureDescriptor.idl        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+/*
+ * Copyright (C) 2017 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. ``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
+ * 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.
+ */
+
+[
+    Constructor(unsigned long pixelFormat, unsigned long width, unsigned long height, boolean mipmapped),
+    Conditional=WEBGPU,
+    EnabledAtRuntime=WebGPU
+] interface WebGPUTextureDescriptor {
+
+    attribute unsigned long textureType;
+
+    attribute unsigned long width;
+    attribute unsigned long height;
+    attribute unsigned long sampleCount;
+
+    attribute unsigned long storageMode;
+
+    attribute unsigned long usage;
+
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgpuGPUDeviceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h (213761 => 213762)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h        2017-03-11 19:59:30 UTC (rev 213761)
+++ trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h        2017-03-11 23:09:26 UTC (rev 213762)
</span><span class="lines">@@ -47,6 +47,10 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class GPUBuffer;
</span><ins>+// FIXME: WebGPU - Stub implementation - not implemented yet.
+class GPUCommandQueue;
+class GPUDrawable;
+// FIXME: WebGPU - End stub.
</ins><span class="cx"> class GPULibrary;
</span><span class="cx"> class GPUTexture;
</span><span class="cx"> class GPUTextureDescriptor;
</span><span class="lines">@@ -69,6 +73,12 @@
</span><span class="cx">     WEBCORE_EXPORT RefPtr&lt;GPUBuffer&gt; createBufferFromData(ArrayBufferView* data);
</span><span class="cx">     WEBCORE_EXPORT RefPtr&lt;GPUTexture&gt; createTexture(GPUTextureDescriptor*);
</span><span class="cx"> 
</span><ins>+    // FIXME: WebGPU - Stub implementation - not implemented yet.
+    GPUCommandQueue* createCommandQueue() { return nullptr; }
+    GPUDrawable* getFramebuffer() { return nullptr; }
+    void markLayerComposited() { }
+    // FIXME: WebGPU - End stub.
+
</ins><span class="cx"> private:
</span><span class="cx">     GPUDevice();
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>