<!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 <jonlee@apple.com> 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 <jonlee@apple.com>
+
+ 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 <fpizlo@apple.com>
</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 <jonlee@apple.com>
+
+ 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 <beidson@apple.com>
</span><span class="cx">
</span><span class="cx"> Cleanup "addCookie" 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 <sam.weinig@gmail.com>
</span><span class="cx"> # Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au>
</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 = "<group>"; };
</span><span class="cx">                 319AE062142D6B24006563A1 /* StyleFilterData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleFilterData.h; sourceTree = "<group>"; };
</span><span class="cx">                 319FBD5D15D2F444009640A6 /* CachedImageClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedImageClient.h; sourceTree = "<group>"; };
</span><ins>+                31A088C41E737B2C003B6609 /* JSWebGPURenderingContextCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGPURenderingContextCustom.cpp; sourceTree = "<group>"; };
+                31A088C51E737B2C003B6609 /* JSWebGPURenderPassAttachmentDescriptorCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGPURenderPassAttachmentDescriptorCustom.cpp; sourceTree = "<group>"; };
+                31A088C61E737B4D003B6609 /* WebGPUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUBuffer.cpp; sourceTree = "<group>"; };
+                31A088C71E737B4D003B6609 /* WebGPUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUBuffer.h; sourceTree = "<group>"; };
+                31A088C81E737B4D003B6609 /* WebGPUBuffer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUBuffer.idl; sourceTree = "<group>"; };
+                31A088C91E737B4D003B6609 /* WebGPUCommandBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUCommandBuffer.cpp; sourceTree = "<group>"; };
+                31A088CA1E737B4D003B6609 /* WebGPUCommandBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUCommandBuffer.h; sourceTree = "<group>"; };
+                31A088CB1E737B4D003B6609 /* WebGPUCommandBuffer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUCommandBuffer.idl; sourceTree = "<group>"; };
+                31A088CC1E737B4D003B6609 /* WebGPUCommandQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUCommandQueue.cpp; sourceTree = "<group>"; };
+                31A088CD1E737B4D003B6609 /* WebGPUCommandQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUCommandQueue.h; sourceTree = "<group>"; };
+                31A088CE1E737B4D003B6609 /* WebGPUCommandQueue.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUCommandQueue.idl; sourceTree = "<group>"; };
+                31A088CF1E737B4D003B6609 /* WebGPUDepthStencilDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDepthStencilDescriptor.cpp; sourceTree = "<group>"; };
+                31A088D01E737B4D003B6609 /* WebGPUDepthStencilDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDepthStencilDescriptor.h; sourceTree = "<group>"; };
+                31A088D11E737B4D003B6609 /* WebGPUDepthStencilDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDepthStencilDescriptor.idl; sourceTree = "<group>"; };
+                31A088D21E737B4D003B6609 /* WebGPUDepthStencilState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDepthStencilState.cpp; sourceTree = "<group>"; };
+                31A088D31E737B4D003B6609 /* WebGPUDepthStencilState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDepthStencilState.h; sourceTree = "<group>"; };
+                31A088D41E737B4D003B6609 /* WebGPUDepthStencilState.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDepthStencilState.idl; sourceTree = "<group>"; };
+                31A088D51E737B4D003B6609 /* WebGPUDrawable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUDrawable.cpp; sourceTree = "<group>"; };
+                31A088D61E737B4D003B6609 /* WebGPUDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUDrawable.h; sourceTree = "<group>"; };
+                31A088D71E737B4D003B6609 /* WebGPUDrawable.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUDrawable.idl; sourceTree = "<group>"; };
+                31A088D81E737B4D003B6609 /* WebGPUEnums.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUEnums.cpp; sourceTree = "<group>"; };
+                31A088D91E737B4D003B6609 /* WebGPUEnums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUEnums.h; sourceTree = "<group>"; };
+                31A088DA1E737B4D003B6609 /* WebGPUEnums.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUEnums.idl; sourceTree = "<group>"; };
+                31A088DB1E737B4D003B6609 /* WebGPUFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUFunction.cpp; sourceTree = "<group>"; };
+                31A088DC1E737B4D003B6609 /* WebGPUFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUFunction.h; sourceTree = "<group>"; };
+                31A088DD1E737B4D003B6609 /* WebGPUFunction.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUFunction.idl; sourceTree = "<group>"; };
+                31A088DE1E737B4D003B6609 /* WebGPULibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPULibrary.cpp; sourceTree = "<group>"; };
+                31A088DF1E737B4D003B6609 /* WebGPULibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPULibrary.h; sourceTree = "<group>"; };
+                31A088E01E737B4D003B6609 /* WebGPULibrary.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPULibrary.idl; sourceTree = "<group>"; };
+                31A088E11E737B4D003B6609 /* WebGPUObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUObject.cpp; sourceTree = "<group>"; };
+                31A088E21E737B4D003B6609 /* WebGPUObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUObject.h; sourceTree = "<group>"; };
+                31A088E31E737B4D003B6609 /* WebGPURenderCommandEncoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderCommandEncoder.cpp; sourceTree = "<group>"; };
+                31A088E41E737B4D003B6609 /* WebGPURenderCommandEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderCommandEncoder.h; sourceTree = "<group>"; };
+                31A088E51E737B4D003B6609 /* WebGPURenderCommandEncoder.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderCommandEncoder.idl; sourceTree = "<group>"; };
+                31A088E61E737B4D003B6609 /* WebGPURenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderingContext.cpp; sourceTree = "<group>"; };
+                31A088E71E737B4D003B6609 /* WebGPURenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderingContext.h; sourceTree = "<group>"; };
+                31A088E81E737B4D003B6609 /* WebGPURenderingContext.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderingContext.idl; sourceTree = "<group>"; };
+                31A088E91E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassAttachmentDescriptor.cpp; sourceTree = "<group>"; };
+                31A088EA1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassAttachmentDescriptor.h; sourceTree = "<group>"; };
+                31A088EB1E737B4D003B6609 /* WebGPURenderPassAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassAttachmentDescriptor.idl; sourceTree = "<group>"; };
+                31A088EC1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassColorAttachmentDescriptor.cpp; sourceTree = "<group>"; };
+                31A088ED1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassColorAttachmentDescriptor.h; sourceTree = "<group>"; };
+                31A088EE1E737B4D003B6609 /* WebGPURenderPassColorAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassColorAttachmentDescriptor.idl; sourceTree = "<group>"; };
+                31A088EF1E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassDepthAttachmentDescriptor.cpp; sourceTree = "<group>"; };
+                31A088F01E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassDepthAttachmentDescriptor.h; sourceTree = "<group>"; };
+                31A088F11E737B4D003B6609 /* WebGPURenderPassDepthAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassDepthAttachmentDescriptor.idl; sourceTree = "<group>"; };
+                31A088F21E737B4D003B6609 /* WebGPURenderPassDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPassDescriptor.cpp; sourceTree = "<group>"; };
+                31A088F31E737B4D003B6609 /* WebGPURenderPassDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPassDescriptor.h; sourceTree = "<group>"; };
+                31A088F41E737B4D003B6609 /* WebGPURenderPassDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPassDescriptor.idl; sourceTree = "<group>"; };
+                31A088F51E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineColorAttachmentDescriptor.cpp; sourceTree = "<group>"; };
+                31A088F61E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineColorAttachmentDescriptor.h; sourceTree = "<group>"; };
+                31A088F71E737B4D003B6609 /* WebGPURenderPipelineColorAttachmentDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineColorAttachmentDescriptor.idl; sourceTree = "<group>"; };
+                31A088F81E737B4D003B6609 /* WebGPURenderPipelineDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineDescriptor.cpp; sourceTree = "<group>"; };
+                31A088F91E737B4D003B6609 /* WebGPURenderPipelineDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineDescriptor.h; sourceTree = "<group>"; };
+                31A088FA1E737B4D003B6609 /* WebGPURenderPipelineDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineDescriptor.idl; sourceTree = "<group>"; };
+                31A088FB1E737B4D003B6609 /* WebGPURenderPipelineState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPURenderPipelineState.cpp; sourceTree = "<group>"; };
+                31A088FC1E737B4D003B6609 /* WebGPURenderPipelineState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPURenderPipelineState.h; sourceTree = "<group>"; };
+                31A088FD1E737B4D003B6609 /* WebGPURenderPipelineState.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPURenderPipelineState.idl; sourceTree = "<group>"; };
+                31A088FE1E737B4D003B6609 /* WebGPUTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUTexture.cpp; sourceTree = "<group>"; };
+                31A088FF1E737B4D003B6609 /* WebGPUTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUTexture.h; sourceTree = "<group>"; };
+                31A089001E737B4D003B6609 /* WebGPUTexture.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUTexture.idl; sourceTree = "<group>"; };
+                31A089011E737B4D003B6609 /* WebGPUTextureDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGPUTextureDescriptor.cpp; sourceTree = "<group>"; };
+                31A089021E737B4D003B6609 /* WebGPUTextureDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGPUTextureDescriptor.h; sourceTree = "<group>"; };
+                31A089031E737B4D003B6609 /* WebGPUTextureDescriptor.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebGPUTextureDescriptor.idl; sourceTree = "<group>"; };
+                31A0891B1E738D59003B6609 /* JSWebGPUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUBuffer.cpp; path = JSWebGPUBuffer.cpp; sourceTree = "<group>"; };
+                31A0891D1E738D59003B6609 /* JSWebGPUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUBuffer.h; path = JSWebGPUBuffer.h; sourceTree = "<group>"; };
+                31A0891E1E738D59003B6609 /* JSWebGPUCommandBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUCommandBuffer.cpp; path = JSWebGPUCommandBuffer.cpp; sourceTree = "<group>"; };
+                31A089201E738D59003B6609 /* JSWebGPUCommandBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUCommandBuffer.h; path = JSWebGPUCommandBuffer.h; sourceTree = "<group>"; };
+                31A089211E738D59003B6609 /* JSWebGPUCommandQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUCommandQueue.cpp; path = JSWebGPUCommandQueue.cpp; sourceTree = "<group>"; };
+                31A089231E738D59003B6609 /* JSWebGPUCommandQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUCommandQueue.h; path = JSWebGPUCommandQueue.h; sourceTree = "<group>"; };
+                31A089241E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDepthStencilDescriptor.cpp; path = JSWebGPUDepthStencilDescriptor.cpp; sourceTree = "<group>"; };
+                31A089261E738D59003B6609 /* JSWebGPUDepthStencilDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDepthStencilDescriptor.h; path = JSWebGPUDepthStencilDescriptor.h; sourceTree = "<group>"; };
+                31A089271E738D59003B6609 /* JSWebGPUDepthStencilState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDepthStencilState.cpp; path = JSWebGPUDepthStencilState.cpp; sourceTree = "<group>"; };
+                31A089291E738D59003B6609 /* JSWebGPUDepthStencilState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDepthStencilState.h; path = JSWebGPUDepthStencilState.h; sourceTree = "<group>"; };
+                31A0892A1E738D59003B6609 /* JSWebGPUDrawable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUDrawable.cpp; path = JSWebGPUDrawable.cpp; sourceTree = "<group>"; };
+                31A0892C1E738D59003B6609 /* JSWebGPUDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUDrawable.h; path = JSWebGPUDrawable.h; sourceTree = "<group>"; };
+                31A0892D1E738D59003B6609 /* JSWebGPUFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUFunction.cpp; path = JSWebGPUFunction.cpp; sourceTree = "<group>"; };
+                31A0892F1E738D59003B6609 /* JSWebGPUFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUFunction.h; path = JSWebGPUFunction.h; sourceTree = "<group>"; };
+                31A089301E738D59003B6609 /* JSWebGPULibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPULibrary.cpp; path = JSWebGPULibrary.cpp; sourceTree = "<group>"; };
+                31A089321E738D59003B6609 /* JSWebGPULibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPULibrary.h; path = JSWebGPULibrary.h; sourceTree = "<group>"; };
+                31A089331E738D59003B6609 /* JSWebGPURenderCommandEncoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderCommandEncoder.cpp; path = JSWebGPURenderCommandEncoder.cpp; sourceTree = "<group>"; };
+                31A089351E738D59003B6609 /* JSWebGPURenderCommandEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderCommandEncoder.h; path = JSWebGPURenderCommandEncoder.h; sourceTree = "<group>"; };
+                31A089361E738D59003B6609 /* JSWebGPURenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderingContext.cpp; path = JSWebGPURenderingContext.cpp; sourceTree = "<group>"; };
+                31A089381E738D59003B6609 /* JSWebGPURenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderingContext.h; path = JSWebGPURenderingContext.h; sourceTree = "<group>"; };
+                31A089391E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassAttachmentDescriptor.cpp; path = JSWebGPURenderPassAttachmentDescriptor.cpp; sourceTree = "<group>"; };
+                31A0893B1E738D59003B6609 /* JSWebGPURenderPassAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassAttachmentDescriptor.h; path = JSWebGPURenderPassAttachmentDescriptor.h; sourceTree = "<group>"; };
+                31A0893C1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassColorAttachmentDescriptor.cpp; path = JSWebGPURenderPassColorAttachmentDescriptor.cpp; sourceTree = "<group>"; };
+                31A0893E1E738D59003B6609 /* JSWebGPURenderPassColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassColorAttachmentDescriptor.h; path = JSWebGPURenderPassColorAttachmentDescriptor.h; sourceTree = "<group>"; };
+                31A0893F1E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassDepthAttachmentDescriptor.cpp; path = JSWebGPURenderPassDepthAttachmentDescriptor.cpp; sourceTree = "<group>"; };
+                31A089411E738D59003B6609 /* JSWebGPURenderPassDepthAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassDepthAttachmentDescriptor.h; path = JSWebGPURenderPassDepthAttachmentDescriptor.h; sourceTree = "<group>"; };
+                31A089421E738D59003B6609 /* JSWebGPURenderPassDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPassDescriptor.cpp; path = JSWebGPURenderPassDescriptor.cpp; sourceTree = "<group>"; };
+                31A089441E738D59003B6609 /* JSWebGPURenderPassDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPassDescriptor.h; path = JSWebGPURenderPassDescriptor.h; sourceTree = "<group>"; };
+                31A089451E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineColorAttachmentDescriptor.cpp; path = JSWebGPURenderPipelineColorAttachmentDescriptor.cpp; sourceTree = "<group>"; };
+                31A089471E738D59003B6609 /* JSWebGPURenderPipelineColorAttachmentDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineColorAttachmentDescriptor.h; path = JSWebGPURenderPipelineColorAttachmentDescriptor.h; sourceTree = "<group>"; };
+                31A089481E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineDescriptor.cpp; path = JSWebGPURenderPipelineDescriptor.cpp; sourceTree = "<group>"; };
+                31A0894A1E738D59003B6609 /* JSWebGPURenderPipelineDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineDescriptor.h; path = JSWebGPURenderPipelineDescriptor.h; sourceTree = "<group>"; };
+                31A0894B1E738D59003B6609 /* JSWebGPURenderPipelineState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPURenderPipelineState.cpp; path = JSWebGPURenderPipelineState.cpp; sourceTree = "<group>"; };
+                31A0894D1E738D59003B6609 /* JSWebGPURenderPipelineState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPURenderPipelineState.h; path = JSWebGPURenderPipelineState.h; sourceTree = "<group>"; };
+                31A0894E1E738D59003B6609 /* JSWebGPUTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUTexture.cpp; path = JSWebGPUTexture.cpp; sourceTree = "<group>"; };
+                31A089501E738D59003B6609 /* JSWebGPUTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUTexture.h; path = JSWebGPUTexture.h; sourceTree = "<group>"; };
+                31A089511E738D59003B6609 /* JSWebGPUTextureDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWebGPUTextureDescriptor.cpp; path = JSWebGPUTextureDescriptor.cpp; sourceTree = "<group>"; };
+                31A089531E738D59003B6609 /* JSWebGPUTextureDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWebGPUTextureDescriptor.h; path = JSWebGPUTextureDescriptor.h; sourceTree = "<group>"; };
</ins><span class="cx">                 31A795C11888B72400382F90 /* ANGLEInstancedArrays.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ANGLEInstancedArrays.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 31A795C21888B72400382F90 /* ANGLEInstancedArrays.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ANGLEInstancedArrays.h; sourceTree = "<group>"; };
</span><span class="cx">                 31A795C31888B72400382F90 /* ANGLEInstancedArrays.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ANGLEInstancedArrays.idl; sourceTree = "<group>"; };
</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 = "<group>";
</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 "JSWebGLRenderingContextBase.h"
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+#if ENABLE(WEBGPU)
+#include "JSWebGPURenderingContext.h"
+#endif
+
</ins><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx"> #include "JSTouch.h"
</span><span class="cx"> #include "JSTouchList.h"
</span><span class="lines">@@ -150,6 +154,10 @@
</span><span class="cx"> if (is<WebGLRenderingContextBase>(*context))
</span><span class="cx"> return toJS(&state, globalObject(), downcast<WebGLRenderingContextBase>(*context));
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(WEBGPU)
+ if (is<WebGPURenderingContext>(*context))
+ return toJS(&state, globalObject(), downcast<WebGPURenderingContext>(*context));
+#endif
</ins><span class="cx">
</span><span class="cx"> return toJS(&state, globalObject(), downcast<CanvasRenderingContext2D>(*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 "JSWebGLRenderingContextBase.h"
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+#if ENABLE(WEBGPU)
+#include "JSWebGPURenderingContext.h"
+#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<IDLNullable<IDLInterface<WebGPURenderingContext>>>(state, *globalObject(), static_cast<WebGPURenderingContext*>(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 "config.h"
+#include "JSWebGPURenderPassAttachmentDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+#include "JSDOMBinding.h"
+#include "JSWebGPURenderPassColorAttachmentDescriptor.h"
+#include "WebGPURenderPassColorAttachmentDescriptor.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, Ref<WebGPURenderPassAttachmentDescriptor>&& object)
+{
+ if (object->isColorAttachmentDescriptor())
+ return createWrapper<WebGPURenderPassColorAttachmentDescriptor>(globalObject, WTFMove(object));
+ return createWrapper<WebGPURenderPassAttachmentDescriptor>(globalObject, WTFMove(object));
+}
+
+JSValue toJS(ExecState* state, JSDOMGlobalObject* globalObject, WebGPURenderPassAttachmentDescriptor& 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 "config.h"
+#include "JSWebGPURenderingContext.h"
+
+#if ENABLE(WEBGPU)
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSWebGPURenderingContext::visitAdditionalChildren(SlotVisitor& visitor)
+{
+ visitor.addOpaqueRoot(&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 <alp@atoker.com>
</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 "WebGLRenderingContextBase.h"
</span><span class="cx"> #endif
</span><span class="cx">
</span><ins>+#if ENABLE(WEBGPU)
+#include "WebGPURenderingContext.h"
+#endif
+
</ins><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> #include "MediaSampleAVFObjC.h"
</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& type)
+{
+ return type == "webgpu";
+}
+
+CanvasRenderingContext* HTMLCanvasElement::getContextWebGPU(const String& type)
+{
+ ASSERT_UNUSED(type, HTMLCanvasElement::isWebGPUType(type));
+
+ if (m_context && !m_context->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& 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() && oldSize != size())
+ static_cast<WebGPURenderingContext*>(m_context.get())->reshape(width(), height());
+#endif
+
</ins><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx"> if (is3D() && oldSize != size())
</span><span class="cx"> static_cast<WebGLRenderingContextBase*>(m_context.get())->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<WebGPURenderingContext*>(m_context.get())->markLayerComposited();
+#endif
+
+#if ENABLE(WEBGL)
</ins><span class="cx"> if (is3D())
</span><span class="cx"> static_cast<WebGLRenderingContextBase*>(m_context.get())->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 && m_context->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 <alp@atoker.com>
</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&);
</span><span class="cx"> CanvasRenderingContext* getContextWebGL(const String&, WebGLContextAttributes&& = { });
</span><span class="cx"> #endif
</span><ins>+#if ENABLE(WEBGPU)
+ static bool isWebGPUType(const String&);
+ CanvasRenderingContext* getContextWebGPU(const String&);
+#endif
</ins><span class="cx">
</span><span class="cx"> static String toEncodingMimeType(const String& mimeType);
</span><span class="cx"> WEBCORE_EXPORT ExceptionOr<String> toDataURL(const String& mimeType, std::optional<double> 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<CanvasObserver*> m_observers;
</span><span class="cx"> std::unique_ptr<CanvasRenderingContext> 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 "config.h"
+#include "WebGPUBuffer.h"
+
+#if ENABLE(WEBGPU)
+
+#include "GPUBuffer.h"
+#include "WebGPURenderingContext.h"
+#include <runtime/ArrayBuffer.h>
+
+namespace WebCore {
+
+Ref<WebGPUBuffer> WebGPUBuffer::create(WebGPURenderingContext* context, ArrayBufferView* data)
+{
+ return adoptRef(*new WebGPUBuffer(context, data));
+}
+
+WebGPUBuffer::WebGPUBuffer(WebGPURenderingContext* context, ArrayBufferView* data)
+ : WebGPUObject(context)
+{
+ m_buffer = context->device()->createBufferFromData(data);
+}
+
+WebGPUBuffer::~WebGPUBuffer()
+{
+}
+
+unsigned long WebGPUBuffer::length() const
+{
+ if (!m_buffer)
+ return 0;
+
+ return m_buffer->length();
+}
+
+RefPtr<ArrayBuffer> WebGPUBuffer::contents() const
+{
+ if (!m_buffer)
+ return nullptr;
+
+ return m_buffer->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 "WebGPUObject.h"
+
+namespace WebCore {
+
+class GPUBuffer;
+
+class WebGPUBuffer : public WebGPUObject {
+public:
+ virtual ~WebGPUBuffer();
+ static Ref<WebGPUBuffer> create(WebGPURenderingContext*, ArrayBufferView*);
+
+ unsigned long length() const;
+ RefPtr<ArrayBuffer> contents() const;
+
+ GPUBuffer* buffer() { return m_buffer.get(); }
+
+private:
+ WebGPUBuffer(WebGPURenderingContext*, ArrayBufferView*);
+ RefPtr<GPUBuffer> 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 "config.h"
+#include "WebGPUCommandBuffer.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPUCommandBuffer.h"
+#include "GPUCommandQueue.h"
+*/
+#include "Logging.h"
+#include "WebGPUCommandQueue.h"
+#include "WebGPUDrawable.h"
+#include "WebGPURenderCommandEncoder.h"
+#include "WebGPURenderPassDescriptor.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPUCommandBuffer> WebGPUCommandBuffer::create(WebGPURenderingContext* context, WebGPUCommandQueue* queue)
+{
+ return adoptRef(*new WebGPUCommandBuffer(context, queue));
+}
+
+WebGPUCommandBuffer::WebGPUCommandBuffer(WebGPURenderingContext* context, WebGPUCommandQueue* queue)
+ : WebGPUObject(context)
+{
+ LOG(WebGPU, "WebGPUCommandBuffer::WebGPUCommandBuffer()");
+ m_commandBuffer = queue->commandQueue()->createCommandBuffer();
+}
+
+WebGPUCommandBuffer::~WebGPUCommandBuffer()
+{
+ LOG(WebGPU, "WebGPUCommandBuffer::~WebGPUCommandBuffer()");
+}
+
+void WebGPUCommandBuffer::commit()
+{
+ LOG(WebGPU, "WebGPUCommandBuffer::commit()");
+ if (!m_commandBuffer)
+ return;
+
+ return m_commandBuffer->commit();
+}
+
+void WebGPUCommandBuffer::presentDrawable(WebGPUDrawable& drawable)
+{
+ LOG(WebGPU, "WebGPUCommandBuffer::presentDrawable()");
+ if (!m_commandBuffer)
+ return;
+
+ return m_commandBuffer->presentDrawable(drawable.drawable());
+}
+
+RefPtr<WebGPURenderCommandEncoder> WebGPUCommandBuffer::createRenderCommandEncoderWithDescriptor(WebGPURenderPassDescriptor& descriptor)
+{
+ RefPtr<WebGPURenderCommandEncoder> commandEncoder = WebGPURenderCommandEncoder::create(this->context(), this, &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 "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUCommandBuffer;
+class GPUDrawable;
+class GPURenderCommandEncoder;
+class GPURenderPassDescriptor;
+class GPUCommandBuffer : public RefCounted<GPUCommandBuffer> {
+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<WebGPUCommandBuffer> create(WebGPURenderingContext*, WebGPUCommandQueue*);
+
+ void commit();
+ void presentDrawable(WebGPUDrawable&);
+
+ RefPtr<WebGPURenderCommandEncoder> createRenderCommandEncoderWithDescriptor(WebGPURenderPassDescriptor&);
+
+ GPUCommandBuffer* commandBuffer() { return m_commandBuffer.get(); }
+
+private:
+ WebGPUCommandBuffer(WebGPURenderingContext*, WebGPUCommandQueue*);
+ RefPtr<GPUCommandBuffer> 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 "config.h"
+#include "WebGPUCommandQueue.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPUCommandQueue.h"
+*/
+#include "WebGPUCommandBuffer.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPUCommandQueue> WebGPUCommandQueue::create(WebGPURenderingContext* context)
+{
+ return adoptRef(*new WebGPUCommandQueue(context));
+}
+
+WebGPUCommandQueue::WebGPUCommandQueue(WebGPURenderingContext* context)
+ : WebGPUObject(context)
+{
+ m_commandQueue = context->device()->createCommandQueue();
+}
+
+WebGPUCommandQueue::~WebGPUCommandQueue()
+{
+}
+
+String WebGPUCommandQueue::label() const
+{
+ if (!m_commandQueue)
+ return emptyString();
+
+ return m_commandQueue->label();
+}
+
+void WebGPUCommandQueue::setLabel(const String& label)
+{
+ if (!m_commandQueue)
+ return;
+
+ m_commandQueue->setLabel(label);
+}
+
+RefPtr<WebGPUCommandBuffer> WebGPUCommandQueue::createCommandBuffer()
+{
+ RefPtr<WebGPUCommandBuffer> buffer = WebGPUCommandBuffer::create(this->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 "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+class GPUCommandBuffer;
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUCommandQueue;
+class GPUCommandQueue : public RefCounted<GPUCommandQueue> {
+public:
+ GPUCommandBuffer* createCommandBuffer() { return nullptr; }
+ String label() const { return emptyString(); }
+ void setLabel(const String&) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPUCommandBuffer;
+
+class WebGPUCommandQueue : public WebGPUObject {
+public:
+ virtual ~WebGPUCommandQueue();
+ static Ref<WebGPUCommandQueue> create(WebGPURenderingContext*);
+
+ String label() const;
+ void setLabel(const String&);
+
+ RefPtr<WebGPUCommandBuffer> createCommandBuffer();
+
+ GPUCommandQueue* commandQueue() { return m_commandQueue.get(); }
+
+private:
+ WebGPUCommandQueue(WebGPURenderingContext*);
+
+ RefPtr<GPUCommandQueue> 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 "config.h"
+#include "WebGPUDepthStencilDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPUDepthStencilDescriptor.h"
+*/
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPUDepthStencilDescriptor> 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->label();
+}
+
+void WebGPUDepthStencilDescriptor::setLabel(const String& label)
+{
+ if (!m_depthStencilDescriptor)
+ return;
+
+ m_depthStencilDescriptor->setLabel(label);
+}
+
+bool WebGPUDepthStencilDescriptor::depthWriteEnabled() const
+{
+ if (!m_depthStencilDescriptor)
+ return false;
+
+ return m_depthStencilDescriptor->depthWriteEnabled();
+}
+
+void WebGPUDepthStencilDescriptor::setDepthWriteEnabled(bool newDepthWriteEnabled)
+{
+ if (!m_depthStencilDescriptor)
+ return;
+
+ m_depthStencilDescriptor->setDepthWriteEnabled(newDepthWriteEnabled);
+}
+
+auto WebGPUDepthStencilDescriptor::depthCompareFunction() const -> WebGPUCompareFunction
+{
+ return m_depthCompareFunction;
+}
+
+void WebGPUDepthStencilDescriptor::setDepthCompareFunction(CompareFunction newDepthCompareFunction)
+{
+ m_depthCompareFunction = newDepthCompareFunction;
+ m_depthStencilDescriptor->setDepthCompareFunction(toGPUCompareFunction(m_depthCompareFunction));
+
+// FIXME: WebGPU - not implemented yet.
+// if (Optional<WebGPUCompareFunction> compareFunction = toWebGPUCompareFunction(newDepthCompareFunction)) {
+// m_depthCompareFunction = compareFunction.value();
+// m_depthStencilDescriptor->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 "WebGPUEnums.h"
+#include "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUDepthStencilDescriptor;
+class GPUDepthStencilDescriptor : public RefCounted<GPUDepthStencilDescriptor> {
+public:
+ static RefPtr<GPUDepthStencilDescriptor> create() { return nullptr; }
+ String label() const { return emptyString(); }
+ void setLabel(const String&) { }
+ bool depthWriteEnabled() const { return false; }
+ void setDepthWriteEnabled(bool) { }
+ void setDepthCompareFunction(GPUCompareFunction) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPUDepthStencilDescriptor : public WebGPUObject {
+public:
+ virtual ~WebGPUDepthStencilDescriptor();
+ static Ref<WebGPUDepthStencilDescriptor> create();
+
+ String label() const;
+ void setLabel(const String&);
+
+ 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<GPUDepthStencilDescriptor> 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 {
+ "never",
+ "less",
+ "equal",
+ "lessequal",
+ "greater",
+ "notequal",
+ "greaterequal",
+ "always"
+};
+
+[
+ 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 "config.h"
+#include "WebGPUDepthStencilState.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPUDepthStencilState.h"
+ */
+#include "WebGPUDepthStencilDescriptor.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPUDepthStencilState> 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->device().get(), descriptor->depthStencilDescriptor());
+}
+
+WebGPUDepthStencilState::~WebGPUDepthStencilState()
+{
+}
+
+String WebGPUDepthStencilState::label() const
+{
+ if (!m_depthStencilState)
+ return emptyString();
+
+ return m_depthStencilState->label();
+}
+
+void WebGPUDepthStencilState::setLabel(const String& label)
+{
+ if (!m_depthStencilState)
+ return;
+
+ m_depthStencilState->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 "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUDepthStencilState;
+class GPUDevice;
+class GPUDepthStencilDescriptor;
+class GPUDepthStencilState : public RefCounted<GPUDepthStencilState> {
+public:
+ static RefPtr<GPUDepthStencilState> create(GPUDevice*, GPUDepthStencilDescriptor*) { return nullptr; }
+ String label() const { return emptyString(); }
+ void setLabel(const String&) { }
+};
+// FIXME: WebGPU - End stub.
+class WebGPUDepthStencilDescriptor;
+
+class WebGPUDepthStencilState : public WebGPUObject {
+public:
+ virtual ~WebGPUDepthStencilState();
+ static Ref<WebGPUDepthStencilState> create(WebGPURenderingContext*, WebGPUDepthStencilDescriptor*);
+
+ String label() const;
+ void setLabel(const String&);
+
+ GPUDepthStencilState* depthStencilState() { return m_depthStencilState.get(); }
+
+private:
+ WebGPUDepthStencilState(WebGPURenderingContext*, WebGPUDepthStencilDescriptor*);
+
+ RefPtr<GPUDepthStencilState> 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 "config.h"
+#include "WebGPUDrawable.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPUDrawable.h"
+ */
+#include "GPUTexture.h"
+#include "WebGPURenderingContext.h"
+#include "WebGPUTexture.h"
+
+namespace WebCore {
+
+Ref<WebGPUDrawable> WebGPUDrawable::create(WebGPURenderingContext* context)
+{
+ return adoptRef(*new WebGPUDrawable(context));
+}
+
+WebGPUDrawable::WebGPUDrawable(WebGPURenderingContext* context)
+ : WebGPUObject(context)
+{
+ m_drawable = context->device()->getFramebuffer();
+ if (!m_drawable)
+ return;
+
+ RefPtr<GPUTexture> drawableTexture = GPUTexture::createFromExistingTexture(m_drawable->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 "WebGPUObject.h"
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPUDrawable;
+class GPUDrawable : public RefCounted<GPUDrawable> {
+public:
+ GPUTexture* texture() { return nullptr; }
+};
+// FIXME: WebGPU - End stub.
+class WebGPUTexture;
+
+class WebGPUDrawable : public WebGPUObject {
+public:
+ virtual ~WebGPUDrawable();
+ static Ref<WebGPUDrawable> create(WebGPURenderingContext*);
+
+ WebGPUTexture* texture();
+
+ GPUDrawable* drawable() { return m_drawable.get(); }
+
+private:
+ WebGPUDrawable(WebGPURenderingContext*);
+ RefPtr<GPUDrawable> m_drawable;
+ RefPtr<WebGPUTexture> 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 "config.h"
+#include "WebGPUEnums.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPUEnums.h"
+ */
+
+namespace WebCore {
+
+std::optional<WebGPUCompareFunction> toWebGPUCompareFunction(const String& name)
+{
+ if (equalLettersIgnoringASCIICase(name, "never"))
+ return WebGPUCompareFunction::Never;
+ if (equalLettersIgnoringASCIICase(name, "less"))
+ return WebGPUCompareFunction::Less;
+ if (equalLettersIgnoringASCIICase(name, "equal"))
+ return WebGPUCompareFunction::Equal;
+ if (equalLettersIgnoringASCIICase(name, "lessequal"))
+ return WebGPUCompareFunction::Lessequal;
+ if (equalLettersIgnoringASCIICase(name, "greater"))
+ return WebGPUCompareFunction::Greater;
+ if (equalLettersIgnoringASCIICase(name, "notequal"))
+ return WebGPUCompareFunction::Notequal;
+ if (equalLettersIgnoringASCIICase(name, "greaterequal"))
+ return WebGPUCompareFunction::Greaterequal;
+ if (equalLettersIgnoringASCIICase(name, "always"))
+ return WebGPUCompareFunction::Always;
+
+ ASSERT_NOT_REACHED();
+ return std::nullopt;
+}
+
+String web3DCompareFunctionName(const WebGPUCompareFunction value)
+{
+ if (value == WebGPUCompareFunction::Never)
+ return ASCIILiteral("never");
+ if (value == WebGPUCompareFunction::Less)
+ return ASCIILiteral("less");
+ if (value == WebGPUCompareFunction::Equal)
+ return ASCIILiteral("equal");
+ if (value == WebGPUCompareFunction::Lessequal)
+ return ASCIILiteral("lessequal");
+ if (value == WebGPUCompareFunction::Greater)
+ return ASCIILiteral("greater");
+ if (value == WebGPUCompareFunction::Notequal)
+ return ASCIILiteral("notequal");
+ if (value == WebGPUCompareFunction::Greaterequal)
+ return ASCIILiteral("greaterequal");
+ if (value == WebGPUCompareFunction::Always)
+ return ASCIILiteral("always");
+
+ 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 <wtf/Optional.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+enum class WebGPUCompareFunction {
+ Never,
+ Less,
+ Equal,
+ Lessequal,
+ Greater,
+ Notequal,
+ Greaterequal,
+ Always
+};
+
+std::optional<WebGPUCompareFunction> toWebGPUCompareFunction(const String&);
+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 {
+ "BGRA8Unorm"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPULoadAction {
+ "dontcare",
+ "load",
+ "clear"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUStoreAction {
+ "dontcare",
+ "store",
+ "multisampleresolve"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUPrimitiveType {
+ "point",
+ "line",
+ "linestrip",
+ "triangle",
+ "trianglestrip"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUFunctionType {
+ "fragment",
+ "vertex"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUStencilOperation {
+ "keep",
+ "zero",
+ "replace",
+ "incrementclamp",
+ "decrementclamp",
+ "invert",
+ "incrementwrap",
+ "decrementwrap"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUStatus {
+ "notenqueued",
+ "enqueued",
+ "committed",
+ "scheduled",
+ "completed",
+ "error"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUSamplerAddressMode {
+ "clamptoedge",
+ "mirrorclamptoedge",
+ "repeat",
+ "mirrorrepeat",
+ "clamptozero"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUSamplerMinMagFilter {
+ "nearest",
+ "linear"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUSamplerMipFilter {
+ "notmipmapped",
+ "nearest",
+ "linear"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUCullMode {
+ "none",
+ "front",
+ "back"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUIndexType {
+ "uint16",
+ "uint32"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUVisibilityResultMode {
+ "disabled",
+ "boolean",
+ "counting"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUWinding {
+ "clockwise",
+ "counterclockwise"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUDepthClipMode {
+ "clip",
+ "clamp"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUTriangleFillMode {
+ "fill",
+ "lines"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUCPUCacheMode {
+ "defaultcache",
+ "writecombined"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUStorageMode {
+ "shared",
+ "managed",
+ "private"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUResourceOptions {
+ "cpucachemodedefaultcache",
+ "cpucachemodewritecombined",
+ "storagemodeshared",
+ "storagemodemanaged",
+ "storagemodeprivate",
+ "optioncpucachemodedefaultcache",
+ "optioncpucachemodewritecombined"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUTextureUsage {
+ "unknown",
+ "shaderread",
+ "shaderwrite",
+ "rendertarget",
+ "pixelformatview"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUBlendOperation {
+ "add",
+ "subtract",
+ "reversesubtract",
+ "min",
+ "max"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUBlendFactor {
+ "zero",
+ "one",
+ "sourcecolor",
+ "oneminussourcecolor",
+ "sourcealpha",
+ "oneminussourcealpha",
+ "destinationcolor",
+ "oneminusdestinationcolor",
+ "destinationalpha",
+ "oneminusdestinationalpha",
+ "sourcealphasaturated",
+ "blendcolor",
+ "oneminusblendcolor",
+ "blendalpha",
+ "oneminusblendalpha"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUColorWriteMask {
+ "none",
+ "red",
+ "green",
+ "blue",
+ "alpha",
+ "all"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUMultisampleDepthResolveFilter {
+ "sample0",
+ "min",
+ "max"
+};
+
+[
+ Conditional=WEBGPU,
+ EnabledAtRuntime=WebGPU
+] enum WebGPUFeatureSet {
+ "level1",
+ "level2"
+};
</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 "config.h"
+#include "WebGPUFunction.h"
+
+#if ENABLE(WEBGPU)
+
+#include "GPUFunction.h"
+#include "GPULibrary.h"
+#include "WebGPULibrary.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPUFunction> WebGPUFunction::create(WebGPURenderingContext* context, WebGPULibrary* library, const String& name)
+{
+ return adoptRef(*new WebGPUFunction(context, library, name));
+}
+
+WebGPUFunction::WebGPUFunction(WebGPURenderingContext* context, WebGPULibrary* library, const String& name)
+ : WebGPUObject(context)
+{
+ m_function = library->library()->functionWithName(name);
+}
+
+WebGPUFunction::~WebGPUFunction()
+{
+}
+
+String WebGPUFunction::name() const
+{
+ if (!m_function)
+ return emptyString();
+
+ return m_function->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 "WebGPUObject.h"
+
+namespace WebCore {
+
+class GPUFunction;
+class WebGPULibrary;
+
+class WebGPUFunction : public WebGPUObject {
+public:
+ virtual ~WebGPUFunction();
+ static Ref<WebGPUFunction> create(WebGPURenderingContext*, WebGPULibrary*, const String& name);
+
+ String name() const;
+
+ GPUFunction* function() const { return m_function.get(); }
+
+private:
+ WebGPUFunction(WebGPURenderingContext*, WebGPULibrary*, const String& name);
+
+ RefPtr<GPUFunction> 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 "config.h"
+#include "WebGPULibrary.h"
+
+#if ENABLE(WEBGPU)
+
+#include "GPULibrary.h"
+#include "WebGPUFunction.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPULibrary> WebGPULibrary::create(WebGPURenderingContext* context, const String& sourceCode)
+{
+ return adoptRef(*new WebGPULibrary(context, sourceCode));
+}
+
+WebGPULibrary::WebGPULibrary(WebGPURenderingContext* context, const String& sourceCode)
+ : WebGPUObject(context)
+ , m_sourceCode(sourceCode)
+{
+ m_library = context->device()->createLibrary(sourceCode);
+}
+
+WebGPULibrary::~WebGPULibrary()
+{
+}
+
+String WebGPULibrary::label() const
+{
+ if (!m_library)
+ return emptyString();
+
+ return m_library->label();
+}
+
+void WebGPULibrary::setLabel(const String& label)
+{
+ if (!m_library)
+ return;
+
+ m_library->setLabel(label);
+}
+
+Vector<String> WebGPULibrary::functionNames()
+{
+ if (!m_library)
+ return Vector<String>();
+
+ return m_library->functionNames();
+}
+
+RefPtr<WebGPUFunction> WebGPULibrary::functionWithName(const String& name)
+{
+ if (!m_library)
+ return nullptr;
+
+ RefPtr<WebGPUFunction> function = WebGPUFunction::create(this->context(), this, name);
+ if (!function->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 "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+class GPULibrary;
+class WebGPUFunction;
+
+class WebGPULibrary : public WebGPUObject {
+public:
+ virtual ~WebGPULibrary();
+ static Ref<WebGPULibrary> create(WebGPURenderingContext*, const String& sourceCode);
+
+ String sourceCode() const { return m_sourceCode; }
+ String label() const;
+ void setLabel(const String&);
+
+ Vector<String> functionNames();
+
+ RefPtr<WebGPUFunction> functionWithName(const String&);
+
+ GPULibrary* library() { return m_library.get(); }
+
+private:
+ WebGPULibrary(WebGPURenderingContext*, const String& sourceCode);
+
+ String m_sourceCode;
+ RefPtr<GPULibrary> 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<DOMString> 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 "config.h"
+#include "WebGPUObject.h"
+
+#if ENABLE(WEBGPU)
+
+#include "WebGPURenderingContext.h"
+
+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 "GPUDevice.h"
+
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class WebGPURenderingContext;
+
+class WebGPUObject : public RefCounted<WebGPUObject> {
+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<WebGPURenderingContext> 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 "config.h"
+#include "WebGPURenderCommandEncoder.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPUCommandBuffer.h"
+#include "GPURenderCommandEncoder.h"
+#include "GPURenderPassDescriptor.h"
+*/
+#include "WebGPUBuffer.h"
+#include "WebGPUCommandBuffer.h"
+#include "WebGPUDepthStencilState.h"
+#include "WebGPURenderPassDescriptor.h"
+#include "WebGPURenderPipelineState.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPURenderCommandEncoder> 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->commandBuffer()->createRenderCommandEncoder(descriptor->renderPassDescriptor());
+}
+
+WebGPURenderCommandEncoder::~WebGPURenderCommandEncoder()
+{
+}
+
+void WebGPURenderCommandEncoder::setRenderPipelineState(WebGPURenderPipelineState& pipelineState)
+{
+ if (!m_renderCommandEncoder)
+ return;
+
+ m_renderCommandEncoder->setRenderPipelineState(pipelineState.renderPipelineState());
+}
+
+void WebGPURenderCommandEncoder::setDepthStencilState(WebGPUDepthStencilState& depthStencilState)
+{
+ if (!m_renderCommandEncoder)
+ return;
+
+ m_renderCommandEncoder->setDepthStencilState(depthStencilState.depthStencilState());
+}
+
+void WebGPURenderCommandEncoder::setVertexBuffer(WebGPUBuffer& buffer, unsigned offset, unsigned index)
+{
+ if (!m_renderCommandEncoder)
+ return;
+
+ m_renderCommandEncoder->setVertexBuffer(buffer.buffer(), offset, index);
+}
+
+void WebGPURenderCommandEncoder::setFragmentBuffer(WebGPUBuffer& buffer, unsigned offset, unsigned index)
+{
+ if (!m_renderCommandEncoder)
+ return;
+
+ m_renderCommandEncoder->setFragmentBuffer(buffer.buffer(), offset, index);
+}
+
+void WebGPURenderCommandEncoder::drawPrimitives(unsigned type, unsigned start, unsigned count)
+{
+ if (!m_renderCommandEncoder)
+ return;
+
+ m_renderCommandEncoder->drawPrimitives(type, start, count);
+}
+
+void WebGPURenderCommandEncoder::endEncoding()
+{
+ if (!m_renderCommandEncoder)
+ return;
+ return m_renderCommandEncoder->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 "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderCommandEncoder;
+class GPUBuffer;
+class GPURenderPipelineState;
+class GPUDepthStencilState;
+class GPURenderCommandEncoder : public RefCounted<GPURenderCommandEncoder> {
+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<WebGPURenderCommandEncoder> create(WebGPURenderingContext*, WebGPUCommandBuffer*, WebGPURenderPassDescriptor*);
+
+ void setRenderPipelineState(WebGPURenderPipelineState&);
+ void setDepthStencilState(WebGPUDepthStencilState&);
+ void setVertexBuffer(WebGPUBuffer&, unsigned offset, unsigned index);
+ void setFragmentBuffer(WebGPUBuffer&, 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<GPURenderCommandEncoder> 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 "config.h"
+#include "WebGPURenderPassAttachmentDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPURenderPassAttachmentDescriptor.h"
+ */
+#include "GPUTexture.h"
+#include "WebGPURenderingContext.h"
+#include "WebGPUTexture.h"
+
+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->loadAction();
+}
+
+void WebGPURenderPassAttachmentDescriptor::setLoadAction(unsigned long newLoadAction)
+{
+ if (!m_renderPassAttachmentDescriptor)
+ return;
+
+ m_renderPassAttachmentDescriptor->setLoadAction(newLoadAction);
+}
+
+unsigned long WebGPURenderPassAttachmentDescriptor::storeAction() const
+{
+ if (!m_renderPassAttachmentDescriptor)
+ return 0; // FIXME: probably a real value for unknown
+
+ return m_renderPassAttachmentDescriptor->storeAction();
+}
+
+void WebGPURenderPassAttachmentDescriptor::setStoreAction(unsigned long newStoreAction)
+{
+ if (!m_renderPassAttachmentDescriptor)
+ return;
+
+ m_renderPassAttachmentDescriptor->setStoreAction(newStoreAction);
+}
+
+RefPtr<WebGPUTexture> WebGPURenderPassAttachmentDescriptor::texture() const
+{
+ return m_texture;
+}
+
+void WebGPURenderPassAttachmentDescriptor::setTexture(RefPtr<WebGPUTexture> newTexture)
+{
+ if (!newTexture)
+ return;
+
+ m_texture = newTexture;
+
+ if (m_renderPassAttachmentDescriptor)
+ m_renderPassAttachmentDescriptor->setTexture(newTexture->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 "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPassAttachmentDescriptor;
+class GPURenderPassAttachmentDescriptor : public RefCounted<GPURenderPassAttachmentDescriptor> {
+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<WebGPUTexture> texture() const;
+ void setTexture(RefPtr<WebGPUTexture>);
+
+ GPURenderPassAttachmentDescriptor* renderPassAttachmentDescriptor() const { return m_renderPassAttachmentDescriptor.get(); }
+
+ virtual bool isColorAttachmentDescriptor() const { return false; }
+
+protected:
+
+ WebGPURenderPassAttachmentDescriptor(WebGPURenderingContext*, GPURenderPassAttachmentDescriptor*);
+
+
+private:
+
+ RefPtr<GPURenderPassAttachmentDescriptor> m_renderPassAttachmentDescriptor;
+ RefPtr<WebGPUTexture> 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 "config.h"
+#include "WebGPURenderPassColorAttachmentDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPURenderPassColorAttachmentDescriptor.h"
+ */
+#include "GPUTexture.h"
+#include "WebGPURenderingContext.h"
+#include "WebGPUTexture.h"
+
+namespace WebCore {
+
+Ref<WebGPURenderPassColorAttachmentDescriptor> 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<GPURenderPassColorAttachmentDescriptor*>(renderPassAttachmentDescriptor());
+}
+
+Vector<float> WebGPURenderPassColorAttachmentDescriptor::clearColor() const
+{
+ GPURenderPassColorAttachmentDescriptor* descriptor = renderPassColorAttachmentDescriptor();
+ if (!descriptor) {
+ Vector<float> black = { 0.0, 0.0, 0.0, 1.0 };
+ return black;
+ }
+ return descriptor->clearColor();
+}
+
+void WebGPURenderPassColorAttachmentDescriptor::setClearColor(const Vector<float>& newClearColor)
+{
+ GPURenderPassColorAttachmentDescriptor* descriptor = renderPassColorAttachmentDescriptor();
+ if (!descriptor)
+ return;
+
+ descriptor->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 "WebGPUObject.h"
+#include "WebGPURenderPassAttachmentDescriptor.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPassColorAttachmentDescriptor;
+class GPURenderPassColorAttachmentDescriptor : public GPURenderPassAttachmentDescriptor {
+public:
+ Vector<float> clearColor() const { return Vector<float>(); }
+ void setClearColor(const Vector<float>&) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPassColorAttachmentDescriptor : public WebGPURenderPassAttachmentDescriptor {
+public:
+ virtual ~WebGPURenderPassColorAttachmentDescriptor();
+ static Ref<WebGPURenderPassColorAttachmentDescriptor> create(WebGPURenderingContext*, GPURenderPassColorAttachmentDescriptor*);
+
+ Vector<float> clearColor() const;
+ void setClearColor(const Vector<float>&);
+
+ 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<float> 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 "config.h"
+#include "WebGPURenderPassDepthAttachmentDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPURenderPassDepthAttachmentDescriptor.h"
+ */
+#include "GPUTexture.h"
+#include "WebGPURenderingContext.h"
+#include "WebGPUTexture.h"
+
+namespace WebCore {
+
+Ref<WebGPURenderPassDepthAttachmentDescriptor> 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->clearDepth();
+}
+
+void WebGPURenderPassDepthAttachmentDescriptor::setClearDepth(double newClearDepth)
+{
+ GPURenderPassDepthAttachmentDescriptor* descriptor = renderPassDepthAttachmentDescriptor();
+ if (!descriptor)
+ return;
+
+ descriptor->setClearDepth(newClearDepth);
+}
+
+GPURenderPassDepthAttachmentDescriptor* WebGPURenderPassDepthAttachmentDescriptor::renderPassDepthAttachmentDescriptor() const
+{
+ return static_cast<GPURenderPassDepthAttachmentDescriptor*>(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 "WebGPUObject.h"
+#include "WebGPURenderPassAttachmentDescriptor.h"
+
+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<WebGPURenderPassDepthAttachmentDescriptor> 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 "config.h"
+#include "WebGPURenderPassDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPURenderPassColorAttachmentDescriptor.h"
+#include "GPURenderPassDepthAttachmentDescriptor.h"
+#include "GPURenderPassDescriptor.h"
+*/
+#include "WebGPURenderPassColorAttachmentDescriptor.h"
+#include "WebGPURenderPassDepthAttachmentDescriptor.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPURenderPassDescriptor> WebGPURenderPassDescriptor::create()
+{
+ return adoptRef(*new WebGPURenderPassDescriptor());
+}
+
+WebGPURenderPassDescriptor::WebGPURenderPassDescriptor()
+ : WebGPUObject()
+{
+ m_renderPassDescriptor = GPURenderPassDescriptor::create();
+}
+
+WebGPURenderPassDescriptor::~WebGPURenderPassDescriptor()
+{
+}
+
+RefPtr<WebGPURenderPassDepthAttachmentDescriptor> WebGPURenderPassDescriptor::depthAttachment()
+{
+ if (!m_renderPassDescriptor)
+ return nullptr;
+
+ if (!m_depthAttachmentDescriptor) {
+ RefPtr<GPURenderPassDepthAttachmentDescriptor> platformDepthAttachment = m_renderPassDescriptor->depthAttachment();
+ m_depthAttachmentDescriptor = WebGPURenderPassDepthAttachmentDescriptor::create(this->context(), platformDepthAttachment.get());
+ }
+ return m_depthAttachmentDescriptor;
+}
+
+Vector<RefPtr<WebGPURenderPassColorAttachmentDescriptor>> WebGPURenderPassDescriptor::colorAttachments()
+{
+ if (!m_renderPassDescriptor)
+ return Vector<RefPtr<WebGPURenderPassColorAttachmentDescriptor>>();
+
+ if (!m_colorAttachmentDescriptors.size()) {
+ // FIXME: WebGPU - GPURenderPassColorAttachmentDescriptor not implemented yet.
+ // Vector<RefPtr<GPURenderPassColorAttachmentDescriptor>> platformColorAttachments = m_renderPassDescriptor->colorAttachments();
+ // for (auto& attachment : platformColorAttachments)
+ // m_colorAttachmentDescriptors.append(WebGPURenderPassColorAttachmentDescriptor::create(this->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 "WebGPUObject.h"
+/* FIXME: WebGPU - Not implemented yet.
+#include "WebGPURenderPassColorAttachmentDescriptor.h"
+#include "WebGPURenderPassDepthAttachmentDescriptor.h"
+*/
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPassDescriptor;
+class GPURenderPassDepthAttachmentDescriptor;
+class GPURenderPassDescriptor : public RefCounted<GPURenderPassDescriptor> {
+public:
+ static RefPtr<GPURenderPassDescriptor> create() { return nullptr; }
+ GPURenderPassDepthAttachmentDescriptor* depthAttachment() { return nullptr; }
+ // Vector<RefPtr<GPURenderPassColorAttachmentDescriptor>> colorAttachments() { return Vector<RefPtr<GPURenderPassColorAttachmentDescriptor>>(); }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPassColorAttachmentDescriptor;
+class WebGPURenderPassDepthAttachmentDescriptor;
+
+class WebGPURenderPassDescriptor : public WebGPUObject {
+public:
+ virtual ~WebGPURenderPassDescriptor();
+ static Ref<WebGPURenderPassDescriptor> create();
+
+ RefPtr<WebGPURenderPassDepthAttachmentDescriptor> depthAttachment();
+ Vector<RefPtr<WebGPURenderPassColorAttachmentDescriptor>> colorAttachments();
+
+ GPURenderPassDescriptor* renderPassDescriptor() { return m_renderPassDescriptor.get(); }
+
+private:
+ WebGPURenderPassDescriptor();
+
+ Vector<RefPtr<WebGPURenderPassColorAttachmentDescriptor>> m_colorAttachmentDescriptors;
+ RefPtr<WebGPURenderPassDepthAttachmentDescriptor> m_depthAttachmentDescriptor;
+
+ RefPtr<GPURenderPassDescriptor> 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<WebGPURenderPassColorAttachmentDescriptor> 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 "config.h"
+#include "WebGPURenderPipelineColorAttachmentDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPURenderPipelineColorAttachmentDescriptor.h"
+*/
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPURenderPipelineColorAttachmentDescriptor> 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->pixelFormat();
+}
+
+void WebGPURenderPipelineColorAttachmentDescriptor::setPixelFormat(unsigned long newPixelFormat)
+{
+ if (!m_renderPipelineColorAttachmentDescriptor)
+ return;
+
+ m_renderPipelineColorAttachmentDescriptor->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 "WebGPUObject.h"
+
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPipelineColorAttachmentDescriptor;
+class GPURenderPipelineColorAttachmentDescriptor : public RefCounted<GPURenderPipelineColorAttachmentDescriptor> {
+public:
+ unsigned long pixelFormat() const { return 0; }
+ void setPixelFormat(unsigned long) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPipelineColorAttachmentDescriptor : public WebGPUObject {
+public:
+ virtual ~WebGPURenderPipelineColorAttachmentDescriptor();
+ static Ref<WebGPURenderPipelineColorAttachmentDescriptor> create(WebGPURenderingContext*, GPURenderPipelineColorAttachmentDescriptor*);
+
+ unsigned long pixelFormat() const;
+ void setPixelFormat(unsigned long);
+
+ GPURenderPipelineColorAttachmentDescriptor* renderPipelineColorAttachmentDescriptor() { return m_renderPipelineColorAttachmentDescriptor.get(); }
+
+private:
+ WebGPURenderPipelineColorAttachmentDescriptor(WebGPURenderingContext*, GPURenderPipelineColorAttachmentDescriptor*);
+
+ RefPtr<GPURenderPipelineColorAttachmentDescriptor> 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 "config.h"
+#include "WebGPURenderPipelineDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+#include "GPUFunction.h"
+/* FIXME: WebGPU - Not implemented yet.
+#include "GPURenderPipelineColorAttachmentDescriptor.h"
+#include "GPURenderPipelineDescriptor.h"
+*/
+#include "WebGPUFunction.h"
+#include "WebGPURenderPipelineColorAttachmentDescriptor.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPURenderPipelineDescriptor> 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->label();
+}
+
+void WebGPURenderPipelineDescriptor::setLabel(const String& label)
+{
+ if (!m_renderPipelineDescriptor)
+ return;
+
+ m_renderPipelineDescriptor->setLabel(label);
+}
+
+RefPtr<WebGPUFunction> WebGPURenderPipelineDescriptor::vertexFunction() const
+{
+ return m_vertexFunction;
+}
+
+void WebGPURenderPipelineDescriptor::setVertexFunction(RefPtr<WebGPUFunction> newVertexFunction)
+{
+ if (!newVertexFunction)
+ return;
+
+ m_vertexFunction = newVertexFunction;
+
+ if (m_renderPipelineDescriptor)
+ m_renderPipelineDescriptor->setVertexFunction(newVertexFunction->function());
+}
+
+RefPtr<WebGPUFunction> WebGPURenderPipelineDescriptor::fragmentFunction() const
+{
+ return m_fragmentFunction;
+}
+
+void WebGPURenderPipelineDescriptor::setFragmentFunction(RefPtr<WebGPUFunction> newFragmentFunction)
+{
+ if (!newFragmentFunction)
+ return;
+
+ m_fragmentFunction = newFragmentFunction;
+
+ if (m_renderPipelineDescriptor)
+ m_renderPipelineDescriptor->setFragmentFunction(newFragmentFunction->function());
+}
+
+Vector<RefPtr<WebGPURenderPipelineColorAttachmentDescriptor>> WebGPURenderPipelineDescriptor::colorAttachments()
+{
+ if (!m_renderPipelineDescriptor)
+ return Vector<RefPtr<WebGPURenderPipelineColorAttachmentDescriptor>>();
+
+ if (!m_colorAttachmentDescriptors.size()) {
+ Vector<RefPtr<GPURenderPipelineColorAttachmentDescriptor>> platformColorAttachments = m_renderPipelineDescriptor->colorAttachments();
+ for (auto& attachment : platformColorAttachments)
+ m_colorAttachmentDescriptors.append(WebGPURenderPipelineColorAttachmentDescriptor::create(this->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->depthAttachmentPixelFormat();
+
+}
+
+void WebGPURenderPipelineDescriptor::setDepthAttachmentPixelFormat(unsigned long newPixelFormat)
+{
+ if (!m_renderPipelineDescriptor)
+ return;
+
+ m_renderPipelineDescriptor->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 "WebGPUObject.h"
+#include "WebGPURenderPipelineColorAttachmentDescriptor.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+class GPUFunction;
+
+// FIXME: WebGPU - stub implementation.
+class GPURenderPipelineDescriptor : public RefCounted<GPURenderPipelineDescriptor> {
+public:
+ static RefPtr<GPURenderPipelineDescriptor> create() { return nullptr; }
+ Vector<RefPtr<GPURenderPipelineColorAttachmentDescriptor>> colorAttachments() { return Vector<RefPtr<GPURenderPipelineColorAttachmentDescriptor>>(); }
+ String label() const { return emptyString(); }
+ void setLabel(const String&) { }
+ 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<WebGPURenderPipelineDescriptor> create();
+
+ String label() const;
+ void setLabel(const String&);
+
+ RefPtr<WebGPUFunction> vertexFunction() const;
+ void setVertexFunction(RefPtr<WebGPUFunction>);
+
+ RefPtr<WebGPUFunction> fragmentFunction() const;
+ void setFragmentFunction(RefPtr<WebGPUFunction>);
+
+ Vector<RefPtr<WebGPURenderPipelineColorAttachmentDescriptor>> colorAttachments();
+
+ unsigned long depthAttachmentPixelFormat() const;
+ void setDepthAttachmentPixelFormat(unsigned long);
+
+ void reset();
+
+ GPURenderPipelineDescriptor* renderPipelineDescriptor() { return m_renderPipelineDescriptor.get(); }
+
+private:
+ WebGPURenderPipelineDescriptor();
+
+ RefPtr<WebGPUFunction> m_vertexFunction;
+ RefPtr<WebGPUFunction> m_fragmentFunction;
+
+ Vector<RefPtr<WebGPURenderPipelineColorAttachmentDescriptor>> m_colorAttachmentDescriptors;
+
+ RefPtr<GPURenderPipelineDescriptor> 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<WebGPURenderPipelineColorAttachmentDescriptor> 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 "config.h"
+#include "WebGPURenderPipelineState.h"
+
+#if ENABLE(WEBGPU)
+
+/* FIXME: WebGPU - Not implemented yet.FIXME: WebGPU - Not implemented yet.
+#include "GPURenderPipelineState.h"
+ */
+#include "WebGPURenderPipelineDescriptor.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPURenderPipelineState> 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->device().get(), descriptor->renderPipelineDescriptor());
+}
+
+WebGPURenderPipelineState::~WebGPURenderPipelineState()
+{
+}
+
+String WebGPURenderPipelineState::label() const
+{
+ if (!m_renderPipelineState)
+ return emptyString();
+
+ return m_renderPipelineState->label();
+}
+
+void WebGPURenderPipelineState::setLabel(const String& label)
+{
+ if (!m_renderPipelineState)
+ return;
+
+ m_renderPipelineState->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 "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+// FIXME: WebGPU - Stub implementation - not implemented yet.
+// class GPURenderPipelineState;
+class GPURenderPipelineDescriptor;
+class GPURenderPipelineState : public RefCounted<GPURenderPipelineState> {
+public:
+ static RefPtr<GPURenderPipelineState> create(GPUDevice*, GPURenderPipelineDescriptor*) { return nullptr; }
+ String label() const { return emptyString(); }
+ void setLabel(const String&) { }
+};
+// FIXME: WebGPU - End stub.
+
+class WebGPURenderPipelineDescriptor;
+
+class WebGPURenderPipelineState : public WebGPUObject {
+public:
+ virtual ~WebGPURenderPipelineState();
+ static Ref<WebGPURenderPipelineState> create(WebGPURenderingContext*, WebGPURenderPipelineDescriptor*);
+
+ String label() const;
+ void setLabel(const String&);
+
+ GPURenderPipelineState* renderPipelineState() { return m_renderPipelineState.get(); }
+
+private:
+ WebGPURenderPipelineState(WebGPURenderingContext*, WebGPURenderPipelineDescriptor*);
+
+ RefPtr<GPURenderPipelineState> 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 "config.h"
+#include "WebGPURenderingContext.h"
+
+#if ENABLE(WEBGPU)
+
+#include "Document.h"
+#include "FrameView.h"
+#include "GPUDevice.h"
+#include "WebGPUBuffer.h"
+#include "WebGPUCommandQueue.h"
+#include "WebGPUDepthStencilDescriptor.h"
+#include "WebGPUDepthStencilState.h"
+#include "WebGPUDrawable.h"
+#include "WebGPULibrary.h"
+#include "WebGPURenderPassDescriptor.h"
+#include "WebGPURenderPipelineDescriptor.h"
+#include "WebGPURenderPipelineState.h"
+#include "WebGPUTexture.h"
+#include "WebGPUTextureDescriptor.h"
+
+#include <runtime/ArrayBuffer.h>
+#include <runtime/JSCInlines.h>
+#include <runtime/TypedArrayInlines.h>
+#include <runtime/Uint32Array.h>
+#include <wtf/StdLibExtras.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
+
+namespace {
+
+int clamp(int value, int min, int max)
+{
+ if (value < min)
+ value = min;
+ if (value > max)
+ value = max;
+ return value;
+}
+
+}
+
+namespace WebCore {
+
+static const int kMaxTextureSize = 4096;
+
+
+std::unique_ptr<WebGPURenderingContext> WebGPURenderingContext::create(HTMLCanvasElement& canvas)
+{
+ UNUSED_PARAM(canvas);
+/* FIXME: WebGPU - To be implemented.
+ Document& 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->deviceScaleFactor();
+
+ HostWindow* hostWindow = document.view()->root()->hostWindow();
+ RefPtr<GPUDevice> device(GPUDevice::create(attributes, hostWindow));
+
+ if (!device) {
+ // FIXME: WebGPU - dispatch an event here for the failure.
+ return nullptr;
+ }
+
+ std::unique_ptr<WebGPURenderingContext> renderingContext = nullptr;
+ renderingContext = std::unique_ptr<WebGPURenderingContext>(new WebGPURenderingContext(canvas, device));
+ renderingContext->suspendIfNeeded();
+
+ return renderingContext;
+*/
+ return nullptr;
+}
+
+WebGPURenderingContext::WebGPURenderingContext(HTMLCanvasElement& canvas, PassRefPtr<GPUDevice> device)
+ : CanvasRenderingContext(canvas)
+ , ActiveDOMObject(&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->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 "WebGPURenderingContext";
+}
+
+bool WebGPURenderingContext::canSuspendForDocumentSuspension() const
+{
+ return false;
+}
+
+PlatformLayer* WebGPURenderingContext::platformLayer() const
+{
+ return m_device->platformLayer();
+}
+
+void WebGPURenderingContext::markLayerComposited()
+{
+ m_device->markLayerComposited();
+}
+
+void WebGPURenderingContext::reshape(int width, int height)
+{
+ // FIXME: WebGPU - Do we need to reset stuff here?
+ m_device->reshape(width, height);
+}
+
+RefPtr<WebGPULibrary> WebGPURenderingContext::createLibrary(const String sourceCode)
+{
+ RefPtr<WebGPULibrary> library = WebGPULibrary::create(this, sourceCode);
+ return library;
+}
+
+RefPtr<WebGPURenderPipelineState> WebGPURenderingContext::createRenderPipelineState(WebGPURenderPipelineDescriptor& descriptor)
+{
+ RefPtr<WebGPURenderPipelineState> state = WebGPURenderPipelineState::create(this, &descriptor);
+ return state;
+}
+
+RefPtr<WebGPUDepthStencilState> WebGPURenderingContext::createDepthStencilState(WebGPUDepthStencilDescriptor& descriptor)
+{
+ RefPtr<WebGPUDepthStencilState> state = WebGPUDepthStencilState::create(this, &descriptor);
+ return state;
+}
+
+RefPtr<WebGPUCommandQueue> WebGPURenderingContext::createCommandQueue()
+{
+ RefPtr<WebGPUCommandQueue> queue = WebGPUCommandQueue::create(this);
+ return queue;
+}
+
+RefPtr<WebGPUDrawable> WebGPURenderingContext::nextDrawable()
+{
+ RefPtr<WebGPUDrawable> drawable = WebGPUDrawable::create(this);
+ return drawable;
+}
+
+RefPtr<WebGPUBuffer> WebGPURenderingContext::createBuffer(ArrayBufferView& data)
+{
+ RefPtr<WebGPUBuffer> buffer = WebGPUBuffer::create(this, &data);
+ return buffer;
+}
+
+RefPtr<WebGPUTexture> WebGPURenderingContext::createTexture(WebGPUTextureDescriptor& descriptor)
+{
+ RefPtr<WebGPUTexture> texture = WebGPUTexture::create(this, &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 "ActiveDOMObject.h"
+#include "CanvasRenderingContext.h"
+#include "GPUDevice.h"
+#include <runtime/ArrayBuffer.h>
+
+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<WebGPURenderingContext> create(HTMLCanvasElement&);
+// 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<GPUDevice> device() { return m_device; }
+
+ // WebGPU entry points
+
+ RefPtr<WebGPULibrary> createLibrary(const String);
+
+ RefPtr<WebGPURenderPipelineState> createRenderPipelineState(WebGPURenderPipelineDescriptor&);
+
+ RefPtr<WebGPUDepthStencilState> createDepthStencilState(WebGPUDepthStencilDescriptor&);
+
+ RefPtr<WebGPUCommandQueue> createCommandQueue();
+
+ RefPtr<WebGPUDrawable> nextDrawable();
+
+ RefPtr<WebGPUBuffer> createBuffer(ArrayBufferView& data);
+
+ RefPtr<WebGPUTexture> createTexture(WebGPUTextureDescriptor&);
+
+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&, PassRefPtr<GPUDevice>);
+
+ RefPtr<GPUDevice> 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 "config.h"
+#include "WebGPUTexture.h"
+
+#if ENABLE(WEBGPU)
+
+#include "GPUTexture.h"
+#include "WebGPURenderingContext.h"
+#include "WebGPUTextureDescriptor.h"
+
+namespace WebCore {
+
+Ref<WebGPUTexture> WebGPUTexture::createFromDrawableTexture(WebGPURenderingContext* context, PassRefPtr<GPUTexture> drawableTexture)
+{
+ return adoptRef(*new WebGPUTexture(context, drawableTexture));
+}
+
+Ref<WebGPUTexture> WebGPUTexture::create(WebGPURenderingContext* context, WebGPUTextureDescriptor* descriptor)
+{
+ return adoptRef(*new WebGPUTexture(context, descriptor));
+}
+
+WebGPUTexture::WebGPUTexture(WebGPURenderingContext* context, PassRefPtr<GPUTexture> drawableTexture)
+ : WebGPUObject(context)
+ , m_texture(drawableTexture)
+{
+}
+
+WebGPUTexture::WebGPUTexture(WebGPURenderingContext* context, WebGPUTextureDescriptor* descriptor)
+ : WebGPUObject(context)
+{
+ m_texture = context->device()->createTexture(descriptor->textureDescriptor());
+}
+
+WebGPUTexture::~WebGPUTexture()
+{
+}
+
+unsigned long WebGPUTexture::width() const
+{
+ if (!m_texture)
+ return 0;
+
+ return m_texture->width();
+}
+
+unsigned long WebGPUTexture::height() const
+{
+ if (!m_texture)
+ return 0;
+
+ return m_texture->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 "WebGPUObject.h"
+
+namespace WebCore {
+
+class GPUTexture;
+class WebGPUTextureDescriptor;
+
+class WebGPUTexture : public WebGPUObject {
+public:
+ virtual ~WebGPUTexture();
+ static Ref<WebGPUTexture> createFromDrawableTexture(WebGPURenderingContext*, PassRefPtr<GPUTexture>);
+ static Ref<WebGPUTexture> create(WebGPURenderingContext*, WebGPUTextureDescriptor*);
+
+ unsigned long width() const;
+ unsigned long height() const;
+
+ GPUTexture* texture() const { return m_texture.get(); }
+
+private:
+ WebGPUTexture(WebGPURenderingContext*, PassRefPtr<GPUTexture>);
+ WebGPUTexture(WebGPURenderingContext*, WebGPUTextureDescriptor*);
+
+ RefPtr<GPUTexture> 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 "config.h"
+#include "WebGPUTextureDescriptor.h"
+
+#if ENABLE(WEBGPU)
+
+#include "GPUTextureDescriptor.h"
+#include "WebGPURenderingContext.h"
+
+namespace WebCore {
+
+Ref<WebGPUTextureDescriptor> 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->width();
+}
+
+void WebGPUTextureDescriptor::setWidth(unsigned long width)
+{
+ if (!m_textureDescriptor)
+ return;
+
+ m_textureDescriptor->setWidth(width);
+}
+
+unsigned long WebGPUTextureDescriptor::height() const
+{
+ if (!m_textureDescriptor)
+ return 0;
+
+ return m_textureDescriptor->height();
+}
+
+void WebGPUTextureDescriptor::setHeight(unsigned long height)
+{
+ if (!m_textureDescriptor)
+ return;
+
+ m_textureDescriptor->setHeight(height);
+}
+
+unsigned long WebGPUTextureDescriptor::sampleCount() const
+{
+ if (!m_textureDescriptor)
+ return 0;
+
+ return m_textureDescriptor->sampleCount();
+}
+
+void WebGPUTextureDescriptor::setSampleCount(unsigned long sampleCount)
+{
+ if (!m_textureDescriptor)
+ return;
+
+ m_textureDescriptor->setSampleCount(sampleCount);
+}
+
+unsigned long WebGPUTextureDescriptor::textureType() const
+{
+ if (!m_textureDescriptor)
+ return 0;
+
+ return m_textureDescriptor->textureType();
+}
+
+void WebGPUTextureDescriptor::setTextureType(unsigned long textureType)
+{
+ if (!m_textureDescriptor)
+ return;
+
+ m_textureDescriptor->setTextureType(textureType);
+}
+
+unsigned long WebGPUTextureDescriptor::storageMode() const
+{
+ if (!m_textureDescriptor)
+ return 0;
+
+ return m_textureDescriptor->storageMode();
+}
+
+void WebGPUTextureDescriptor::setStorageMode(unsigned long storageMode)
+{
+ if (!m_textureDescriptor)
+ return;
+
+ m_textureDescriptor->setStorageMode(storageMode);
+}
+
+unsigned long WebGPUTextureDescriptor::usage() const
+{
+ if (!m_textureDescriptor)
+ return 0;
+
+ return m_textureDescriptor->usage();
+}
+
+void WebGPUTextureDescriptor::setUsage(unsigned long usage)
+{
+ if (!m_textureDescriptor)
+ return;
+
+ m_textureDescriptor->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 "WebGPUEnums.h"
+#include "WebGPUObject.h"
+
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+class GPUTextureDescriptor;
+
+class WebGPUTextureDescriptor : public WebGPUObject {
+public:
+ virtual ~WebGPUTextureDescriptor();
+ static Ref<WebGPUTextureDescriptor> 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<GPUTextureDescriptor> 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<GPUBuffer> createBufferFromData(ArrayBufferView* data);
</span><span class="cx"> WEBCORE_EXPORT RefPtr<GPUTexture> 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>