<!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>[285381] trunk/Source/WebCore</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/285381">285381</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2021-11-06 15:38:19 -0700 (Sat, 06 Nov 2021)</dd>
</dl>

<h3>Log Message</h3>
<pre>[WebGPU] Bindings Part 6: Bring back compilation bindings code
https://bugs.webkit.org/show_bug.cgi?id=232657

Reviewed by Dean Jackson.

This is the sixth chunk of bindings code, brought back from <a href="http://trac.webkit.org/projects/webkit/changeset/280467">r280467</a>.
This chunk includes the objects related to shader compilation.
The objects have no methods inside them yet - those will come later.

No new tests because there is no behavior change yet.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Modules/WebGPU/GPUBlendComponent.h: Added.
* Modules/WebGPU/GPUBlendComponent.idl: Added.
* Modules/WebGPU/GPUBlendFactor.h: Added.
* Modules/WebGPU/GPUBlendFactor.idl: Added.
* Modules/WebGPU/GPUBlendOperation.h: Added.
* Modules/WebGPU/GPUBlendOperation.idl: Added.
* Modules/WebGPU/GPUBlendState.h: Added.
* Modules/WebGPU/GPUBlendState.idl: Added.
* Modules/WebGPU/GPUColorTargetState.h: Added.
* Modules/WebGPU/GPUColorTargetState.idl: Added.
* Modules/WebGPU/GPUColorWrite.h: Added.
* Modules/WebGPU/GPUColorWrite.idl: Added.
* Modules/WebGPU/GPUCompilationInfo.cpp: Added.
(WebCore::GPUCompilationInfo::messages const):
* Modules/WebGPU/GPUCompilationInfo.h: Added.
(WebCore::GPUCompilationInfo::create):
* Modules/WebGPU/GPUCompilationInfo.idl: Added.
* Modules/WebGPU/GPUCompilationMessage.cpp: Added.
(WebCore::GPUCompilationMessage::message const):
(WebCore::GPUCompilationMessage::type const):
(WebCore::GPUCompilationMessage::lineNum const):
(WebCore::GPUCompilationMessage::linePos const):
(WebCore::GPUCompilationMessage::offset const):
(WebCore::GPUCompilationMessage::length const):
* Modules/WebGPU/GPUCompilationMessage.h: Added.
(WebCore::GPUCompilationMessage::create):
(WebCore::GPUCompilationMessage::GPUCompilationMessage):
* Modules/WebGPU/GPUCompilationMessage.idl: Added.
* Modules/WebGPU/GPUCompilationMessageType.h: Added.
* Modules/WebGPU/GPUCompilationMessageType.idl: Added.
* Modules/WebGPU/GPUComputePipeline.cpp: Added.
(WebCore::GPUComputePipeline::label const):
(WebCore::GPUComputePipeline::setLabel):
(WebCore::GPUComputePipeline::getBindGroupLayout):
* Modules/WebGPU/GPUComputePipeline.h: Added.
(WebCore::GPUComputePipeline::create):
* Modules/WebGPU/GPUComputePipeline.idl: Added.
* Modules/WebGPU/GPUComputePipelineDescriptor.h: Added.
* Modules/WebGPU/GPUComputePipelineDescriptor.idl: Added.
* Modules/WebGPU/GPUCullMode.h: Added.
* Modules/WebGPU/GPUCullMode.idl: Added.
* Modules/WebGPU/GPUDepthStencilState.h: Added.
* Modules/WebGPU/GPUDepthStencilState.idl: Added.
* Modules/WebGPU/GPUFragmentState.h: Added.
* Modules/WebGPU/GPUFragmentState.idl: Added.
* Modules/WebGPU/GPUFrontFace.h: Added.
* Modules/WebGPU/GPUFrontFace.idl: Added.
* Modules/WebGPU/GPUIndexFormat.h: Added.
* Modules/WebGPU/GPUIndexFormat.idl: Added.
* Modules/WebGPU/GPUMultisampleState.h: Added.
* Modules/WebGPU/GPUMultisampleState.idl: Added.
* Modules/WebGPU/GPUPipelineBase.idl: Added.
* Modules/WebGPU/GPUPipelineDescriptorBase.h: Added.
* Modules/WebGPU/GPUPipelineDescriptorBase.idl: Added.
* Modules/WebGPU/GPUPrimitiveState.h: Added.
* Modules/WebGPU/GPUPrimitiveState.idl: Added.
* Modules/WebGPU/GPUPrimitiveTopology.h: Added.
* Modules/WebGPU/GPUPrimitiveTopology.idl: Added.
* Modules/WebGPU/GPUProgrammableStage.h: Added.
* Modules/WebGPU/GPUProgrammableStage.idl: Added.
* Modules/WebGPU/GPURenderPipeline.cpp: Added.
(WebCore::GPURenderPipeline::getBindGroupLayout):
* Modules/WebGPU/GPURenderPipeline.h: Added.
(WebCore::GPURenderPipeline::create):
(WebCore::GPURenderPipeline::label const):
(WebCore::GPURenderPipeline::setLabel):
* Modules/WebGPU/GPURenderPipeline.idl: Added.
* Modules/WebGPU/GPURenderPipelineDescriptor.h: Added.
* Modules/WebGPU/GPURenderPipelineDescriptor.idl: Added.
* Modules/WebGPU/GPUShaderModule.cpp: Added.
(WebCore::GPUShaderModule::compilationInfo):
* Modules/WebGPU/GPUShaderModule.h: Added.
(WebCore::GPUShaderModule::create):
(WebCore::GPUShaderModule::label const):
(WebCore::GPUShaderModule::setLabel):
* Modules/WebGPU/GPUShaderModule.idl: Added.
* Modules/WebGPU/GPUShaderModuleDescriptor.h: Added.
* Modules/WebGPU/GPUShaderModuleDescriptor.idl: Added.
* Modules/WebGPU/GPUStencilFaceState.h: Added.
* Modules/WebGPU/GPUStencilFaceState.idl: Added.
* Modules/WebGPU/GPUStencilOperation.h: Added.
* Modules/WebGPU/GPUStencilOperation.idl: Added.
* Modules/WebGPU/GPUVertexAttribute.h: Added.
* Modules/WebGPU/GPUVertexAttribute.idl: Added.
* Modules/WebGPU/GPUVertexBufferLayout.h: Added.
* Modules/WebGPU/GPUVertexBufferLayout.idl: Added.
* Modules/WebGPU/GPUVertexFormat.h: Added.
* Modules/WebGPU/GPUVertexFormat.idl: Added.
* Modules/WebGPU/GPUVertexState.h: Added.
* Modules/WebGPU/GPUVertexState.idl: Added.
* Modules/WebGPU/GPUVertexStepMode.h: Added.
* Modules/WebGPU/GPUVertexStepMode.idl: Added.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesinputxcfilelist">trunk/Source/WebCore/DerivedSources-input.xcfilelist</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesoutputxcfilelist">trunk/Source/WebCore/DerivedSources-output.xcfilelist</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUDevicecpp">trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUDeviceh">trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUDeviceidl">trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl</a></li>
<li><a href="#trunkSourceWebCoreSourcestxt">trunk/Source/WebCore/Sources.txt</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsWebCoreBuiltinNamesh">trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUBlendComponenth">trunk/Source/WebCore/Modules/WebGPU/GPUBlendComponent.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUBlendComponentidl">trunk/Source/WebCore/Modules/WebGPU/GPUBlendComponent.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUBlendFactorh">trunk/Source/WebCore/Modules/WebGPU/GPUBlendFactor.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUBlendFactoridl">trunk/Source/WebCore/Modules/WebGPU/GPUBlendFactor.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUBlendOperationh">trunk/Source/WebCore/Modules/WebGPU/GPUBlendOperation.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUBlendOperationidl">trunk/Source/WebCore/Modules/WebGPU/GPUBlendOperation.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUBlendStateh">trunk/Source/WebCore/Modules/WebGPU/GPUBlendState.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUBlendStateidl">trunk/Source/WebCore/Modules/WebGPU/GPUBlendState.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUColorTargetStateh">trunk/Source/WebCore/Modules/WebGPU/GPUColorTargetState.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUColorTargetStateidl">trunk/Source/WebCore/Modules/WebGPU/GPUColorTargetState.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUColorWriteh">trunk/Source/WebCore/Modules/WebGPU/GPUColorWrite.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUColorWriteidl">trunk/Source/WebCore/Modules/WebGPU/GPUColorWrite.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCompilationInfocpp">trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCompilationInfoh">trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCompilationInfoidl">trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCompilationMessagecpp">trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCompilationMessageh">trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCompilationMessageidl">trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCompilationMessageTypeh">trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCompilationMessageTypeidl">trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUComputePipelinecpp">trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUComputePipelineh">trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUComputePipelineidl">trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUComputePipelineDescriptorh">trunk/Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUComputePipelineDescriptoridl">trunk/Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCullModeh">trunk/Source/WebCore/Modules/WebGPU/GPUCullMode.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUCullModeidl">trunk/Source/WebCore/Modules/WebGPU/GPUCullMode.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUDepthStencilStateh">trunk/Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUDepthStencilStateidl">trunk/Source/WebCore/Modules/WebGPU/GPUDepthStencilState.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUFragmentStateh">trunk/Source/WebCore/Modules/WebGPU/GPUFragmentState.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUFragmentStateidl">trunk/Source/WebCore/Modules/WebGPU/GPUFragmentState.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUFrontFaceh">trunk/Source/WebCore/Modules/WebGPU/GPUFrontFace.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUFrontFaceidl">trunk/Source/WebCore/Modules/WebGPU/GPUFrontFace.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUIndexFormath">trunk/Source/WebCore/Modules/WebGPU/GPUIndexFormat.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUIndexFormatidl">trunk/Source/WebCore/Modules/WebGPU/GPUIndexFormat.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUMultisampleStateh">trunk/Source/WebCore/Modules/WebGPU/GPUMultisampleState.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUMultisampleStateidl">trunk/Source/WebCore/Modules/WebGPU/GPUMultisampleState.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUPipelineBaseidl">trunk/Source/WebCore/Modules/WebGPU/GPUPipelineBase.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUPipelineDescriptorBaseh">trunk/Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUPipelineDescriptorBaseidl">trunk/Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUPrimitiveStateh">trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveState.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUPrimitiveStateidl">trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveState.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUPrimitiveTopologyh">trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveTopology.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUPrimitiveTopologyidl">trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveTopology.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUProgrammableStageh">trunk/Source/WebCore/Modules/WebGPU/GPUProgrammableStage.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUProgrammableStageidl">trunk/Source/WebCore/Modules/WebGPU/GPUProgrammableStage.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPURenderPipelinecpp">trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPURenderPipelineh">trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPURenderPipelineidl">trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPURenderPipelineDescriptorh">trunk/Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPURenderPipelineDescriptoridl">trunk/Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUShaderModulecpp">trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUShaderModuleh">trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUShaderModuleidl">trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUShaderModuleDescriptorh">trunk/Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUShaderModuleDescriptoridl">trunk/Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUStencilFaceStateh">trunk/Source/WebCore/Modules/WebGPU/GPUStencilFaceState.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUStencilFaceStateidl">trunk/Source/WebCore/Modules/WebGPU/GPUStencilFaceState.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUStencilOperationh">trunk/Source/WebCore/Modules/WebGPU/GPUStencilOperation.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUStencilOperationidl">trunk/Source/WebCore/Modules/WebGPU/GPUStencilOperation.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexAttributeh">trunk/Source/WebCore/Modules/WebGPU/GPUVertexAttribute.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexAttributeidl">trunk/Source/WebCore/Modules/WebGPU/GPUVertexAttribute.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexBufferLayouth">trunk/Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexBufferLayoutidl">trunk/Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexFormath">trunk/Source/WebCore/Modules/WebGPU/GPUVertexFormat.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexFormatidl">trunk/Source/WebCore/Modules/WebGPU/GPUVertexFormat.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexStateh">trunk/Source/WebCore/Modules/WebGPU/GPUVertexState.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexStateidl">trunk/Source/WebCore/Modules/WebGPU/GPUVertexState.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexStepModeh">trunk/Source/WebCore/Modules/WebGPU/GPUVertexStepMode.h</a></li>
<li><a href="#trunkSourceWebCoreModulesWebGPUGPUVertexStepModeidl">trunk/Source/WebCore/Modules/WebGPU/GPUVertexStepMode.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt      2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/CMakeLists.txt 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -1477,6 +1477,10 @@
</span><span class="cx">     Modules/WebGPU/GPUBindGroupLayout.idl
</span><span class="cx">     Modules/WebGPU/GPUBindGroupLayoutDescriptor.idl
</span><span class="cx">     Modules/WebGPU/GPUBindGroupLayoutEntry.idl
</span><ins>+    Modules/WebGPU/GPUBlendComponent.idl
+    Modules/WebGPU/GPUBlendFactor.idl
+    Modules/WebGPU/GPUBlendOperation.idl
+    Modules/WebGPU/GPUBlendState.idl
</ins><span class="cx">     Modules/WebGPU/GPUBuffer.idl
</span><span class="cx">     Modules/WebGPU/GPUBufferBinding.idl
</span><span class="cx">     Modules/WebGPU/GPUBufferBindingLayout.idl
</span><span class="lines">@@ -1483,7 +1487,16 @@
</span><span class="cx">     Modules/WebGPU/GPUBufferBindingType.idl
</span><span class="cx">     Modules/WebGPU/GPUBufferDescriptor.idl
</span><span class="cx">     Modules/WebGPU/GPUBufferUsage.idl
</span><ins>+    Modules/WebGPU/GPUColorTargetState.idl
+    Modules/WebGPU/GPUColorWrite.idl
</ins><span class="cx">     Modules/WebGPU/GPUCompareFunction.idl
</span><ins>+    Modules/WebGPU/GPUCompilationInfo.idl
+    Modules/WebGPU/GPUCompilationMessage.idl
+    Modules/WebGPU/GPUCompilationMessageType.idl
+    Modules/WebGPU/GPUComputePipeline.idl
+    Modules/WebGPU/GPUComputePipelineDescriptor.idl
+    Modules/WebGPU/GPUCullMode.idl
+    Modules/WebGPU/GPUDepthStencilState.idl
</ins><span class="cx">     Modules/WebGPU/GPUDevice.idl
</span><span class="cx">     Modules/WebGPU/GPUDeviceDescriptor.idl
</span><span class="cx">     Modules/WebGPU/GPUExtent3DDict.idl
</span><span class="lines">@@ -1492,19 +1505,34 @@
</span><span class="cx">     Modules/WebGPU/GPUExternalTextureDescriptor.idl
</span><span class="cx">     Modules/WebGPU/GPUFeatureName.idl
</span><span class="cx">     Modules/WebGPU/GPUFilterMode.idl
</span><ins>+    Modules/WebGPU/GPUFragmentState.idl
+    Modules/WebGPU/GPUFrontFace.idl
+    Modules/WebGPU/GPUIndexFormat.idl
</ins><span class="cx">     Modules/WebGPU/GPUMapMode.idl
</span><ins>+    Modules/WebGPU/GPUMultisampleState.idl
</ins><span class="cx">     Modules/WebGPU/GPUObjectBase.idl
</span><span class="cx">     Modules/WebGPU/GPUObjectDescriptorBase.idl
</span><ins>+    Modules/WebGPU/GPUPipelineBase.idl
+    Modules/WebGPU/GPUPipelineDescriptorBase.idl
</ins><span class="cx">     Modules/WebGPU/GPUPipelineLayout.idl
</span><span class="cx">     Modules/WebGPU/GPUPipelineLayoutDescriptor.idl
</span><span class="cx">     Modules/WebGPU/GPUPowerPreference.idl
</span><span class="cx">     Modules/WebGPU/GPUPredefinedColorSpace.idl
</span><ins>+    Modules/WebGPU/GPUPrimitiveState.idl
+    Modules/WebGPU/GPUPrimitiveTopology.idl
+    Modules/WebGPU/GPUProgrammableStage.idl
+    Modules/WebGPU/GPURenderPipeline.idl
+    Modules/WebGPU/GPURenderPipelineDescriptor.idl
</ins><span class="cx">     Modules/WebGPU/GPURequestAdapterOptions.idl
</span><span class="cx">     Modules/WebGPU/GPUSampler.idl
</span><span class="cx">     Modules/WebGPU/GPUSamplerBindingLayout.idl
</span><span class="cx">     Modules/WebGPU/GPUSamplerBindingType.idl
</span><span class="cx">     Modules/WebGPU/GPUSamplerDescriptor.idl
</span><ins>+    Modules/WebGPU/GPUShaderModule.idl
+    Modules/WebGPU/GPUShaderModuleDescriptor.idl
</ins><span class="cx">     Modules/WebGPU/GPUShaderStage.idl
</span><ins>+    Modules/WebGPU/GPUStencilFaceState.idl
+    Modules/WebGPU/GPUStencilOperation.idl
</ins><span class="cx">     Modules/WebGPU/GPUStorageTextureAccess.idl
</span><span class="cx">     Modules/WebGPU/GPUStorageTextureBindingLayout.idl
</span><span class="cx">     Modules/WebGPU/GPUSupportedFeatures.idl
</span><span class="lines">@@ -1520,6 +1548,11 @@
</span><span class="cx">     Modules/WebGPU/GPUTextureView.idl
</span><span class="cx">     Modules/WebGPU/GPUTextureViewDescriptor.idl
</span><span class="cx">     Modules/WebGPU/GPUTextureViewDimension.idl
</span><ins>+    Modules/WebGPU/GPUVertexAttribute.idl
+    Modules/WebGPU/GPUVertexBufferLayout.idl
+    Modules/WebGPU/GPUVertexFormat.idl
+    Modules/WebGPU/GPUVertexState.idl
+    Modules/WebGPU/GPUVertexStepMode.idl
</ins><span class="cx">     Modules/WebGPU/NavigatorGPU.idl
</span><span class="cx"> )
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog   2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/ChangeLog      2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -1,3 +1,116 @@
</span><ins>+2021-11-05  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WebGPU] Bindings Part 6: Bring back compilation bindings code
+        https://bugs.webkit.org/show_bug.cgi?id=232657
+
+        Reviewed by Dean Jackson.
+
+        This is the sixth chunk of bindings code, brought back from r280467.
+        This chunk includes the objects related to shader compilation.
+        The objects have no methods inside them yet - those will come later.
+
+        No new tests because there is no behavior change yet.
+
+        * CMakeLists.txt:
+        * DerivedSources-input.xcfilelist:
+        * DerivedSources-output.xcfilelist:
+        * DerivedSources.make:
+        * Modules/WebGPU/GPUBlendComponent.h: Added.
+        * Modules/WebGPU/GPUBlendComponent.idl: Added.
+        * Modules/WebGPU/GPUBlendFactor.h: Added.
+        * Modules/WebGPU/GPUBlendFactor.idl: Added.
+        * Modules/WebGPU/GPUBlendOperation.h: Added.
+        * Modules/WebGPU/GPUBlendOperation.idl: Added.
+        * Modules/WebGPU/GPUBlendState.h: Added.
+        * Modules/WebGPU/GPUBlendState.idl: Added.
+        * Modules/WebGPU/GPUColorTargetState.h: Added.
+        * Modules/WebGPU/GPUColorTargetState.idl: Added.
+        * Modules/WebGPU/GPUColorWrite.h: Added.
+        * Modules/WebGPU/GPUColorWrite.idl: Added.
+        * Modules/WebGPU/GPUCompilationInfo.cpp: Added.
+        (WebCore::GPUCompilationInfo::messages const):
+        * Modules/WebGPU/GPUCompilationInfo.h: Added.
+        (WebCore::GPUCompilationInfo::create):
+        * Modules/WebGPU/GPUCompilationInfo.idl: Added.
+        * Modules/WebGPU/GPUCompilationMessage.cpp: Added.
+        (WebCore::GPUCompilationMessage::message const):
+        (WebCore::GPUCompilationMessage::type const):
+        (WebCore::GPUCompilationMessage::lineNum const):
+        (WebCore::GPUCompilationMessage::linePos const):
+        (WebCore::GPUCompilationMessage::offset const):
+        (WebCore::GPUCompilationMessage::length const):
+        * Modules/WebGPU/GPUCompilationMessage.h: Added.
+        (WebCore::GPUCompilationMessage::create):
+        (WebCore::GPUCompilationMessage::GPUCompilationMessage):
+        * Modules/WebGPU/GPUCompilationMessage.idl: Added.
+        * Modules/WebGPU/GPUCompilationMessageType.h: Added.
+        * Modules/WebGPU/GPUCompilationMessageType.idl: Added.
+        * Modules/WebGPU/GPUComputePipeline.cpp: Added.
+        (WebCore::GPUComputePipeline::label const):
+        (WebCore::GPUComputePipeline::setLabel):
+        (WebCore::GPUComputePipeline::getBindGroupLayout):
+        * Modules/WebGPU/GPUComputePipeline.h: Added.
+        (WebCore::GPUComputePipeline::create):
+        * Modules/WebGPU/GPUComputePipeline.idl: Added.
+        * Modules/WebGPU/GPUComputePipelineDescriptor.h: Added.
+        * Modules/WebGPU/GPUComputePipelineDescriptor.idl: Added.
+        * Modules/WebGPU/GPUCullMode.h: Added.
+        * Modules/WebGPU/GPUCullMode.idl: Added.
+        * Modules/WebGPU/GPUDepthStencilState.h: Added.
+        * Modules/WebGPU/GPUDepthStencilState.idl: Added.
+        * Modules/WebGPU/GPUFragmentState.h: Added.
+        * Modules/WebGPU/GPUFragmentState.idl: Added.
+        * Modules/WebGPU/GPUFrontFace.h: Added.
+        * Modules/WebGPU/GPUFrontFace.idl: Added.
+        * Modules/WebGPU/GPUIndexFormat.h: Added.
+        * Modules/WebGPU/GPUIndexFormat.idl: Added.
+        * Modules/WebGPU/GPUMultisampleState.h: Added.
+        * Modules/WebGPU/GPUMultisampleState.idl: Added.
+        * Modules/WebGPU/GPUPipelineBase.idl: Added.
+        * Modules/WebGPU/GPUPipelineDescriptorBase.h: Added.
+        * Modules/WebGPU/GPUPipelineDescriptorBase.idl: Added.
+        * Modules/WebGPU/GPUPrimitiveState.h: Added.
+        * Modules/WebGPU/GPUPrimitiveState.idl: Added.
+        * Modules/WebGPU/GPUPrimitiveTopology.h: Added.
+        * Modules/WebGPU/GPUPrimitiveTopology.idl: Added.
+        * Modules/WebGPU/GPUProgrammableStage.h: Added.
+        * Modules/WebGPU/GPUProgrammableStage.idl: Added.
+        * Modules/WebGPU/GPURenderPipeline.cpp: Added.
+        (WebCore::GPURenderPipeline::getBindGroupLayout):
+        * Modules/WebGPU/GPURenderPipeline.h: Added.
+        (WebCore::GPURenderPipeline::create):
+        (WebCore::GPURenderPipeline::label const):
+        (WebCore::GPURenderPipeline::setLabel):
+        * Modules/WebGPU/GPURenderPipeline.idl: Added.
+        * Modules/WebGPU/GPURenderPipelineDescriptor.h: Added.
+        * Modules/WebGPU/GPURenderPipelineDescriptor.idl: Added.
+        * Modules/WebGPU/GPUShaderModule.cpp: Added.
+        (WebCore::GPUShaderModule::compilationInfo):
+        * Modules/WebGPU/GPUShaderModule.h: Added.
+        (WebCore::GPUShaderModule::create):
+        (WebCore::GPUShaderModule::label const):
+        (WebCore::GPUShaderModule::setLabel):
+        * Modules/WebGPU/GPUShaderModule.idl: Added.
+        * Modules/WebGPU/GPUShaderModuleDescriptor.h: Added.
+        * Modules/WebGPU/GPUShaderModuleDescriptor.idl: Added.
+        * Modules/WebGPU/GPUStencilFaceState.h: Added.
+        * Modules/WebGPU/GPUStencilFaceState.idl: Added.
+        * Modules/WebGPU/GPUStencilOperation.h: Added.
+        * Modules/WebGPU/GPUStencilOperation.idl: Added.
+        * Modules/WebGPU/GPUVertexAttribute.h: Added.
+        * Modules/WebGPU/GPUVertexAttribute.idl: Added.
+        * Modules/WebGPU/GPUVertexBufferLayout.h: Added.
+        * Modules/WebGPU/GPUVertexBufferLayout.idl: Added.
+        * Modules/WebGPU/GPUVertexFormat.h: Added.
+        * Modules/WebGPU/GPUVertexFormat.idl: Added.
+        * Modules/WebGPU/GPUVertexState.h: Added.
+        * Modules/WebGPU/GPUVertexState.idl: Added.
+        * Modules/WebGPU/GPUVertexStepMode.h: Added.
+        * Modules/WebGPU/GPUVertexStepMode.idl: Added.
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/WebCoreBuiltinNames.h:
+
</ins><span class="cx"> 2021-11-04  Myles C. Maxfield  <mmaxfield@apple.com>
</span><span class="cx"> 
</span><span class="cx">         [WebGPU] Bindings Part 5: Bring back Pipeline bindings code
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesinputxcfilelist"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources-input.xcfilelist     2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -30,6 +30,10 @@
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBindGroupLayout.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBindGroupLayoutDescriptor.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBindGroupLayoutEntry.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUBlendComponent.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUBlendFactor.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUBlendOperation.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUBlendState.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBuffer.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBufferBinding.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBufferBindingLayout.idl
</span><span class="lines">@@ -36,7 +40,16 @@
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBufferBindingType.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBufferDescriptor.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUBufferUsage.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUColorTargetState.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUColorWrite.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUCompareFunction.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUCompilationInfo.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCompilationMessage.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCompilationMessageType.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUComputePipeline.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUComputePipelineDescriptor.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUCullMode.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUDepthStencilState.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUDevice.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUDeviceDescriptor.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUExtent3DDict.idl
</span><span class="lines">@@ -45,20 +58,35 @@
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUExternalTextureDescriptor.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUFeatureName.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUFilterMode.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUFragmentState.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUFrontFace.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUIndexFormat.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUMapMode.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUMultisampleState.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUObjectBase.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUObjectDescriptorBase.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUPipelineBase.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUPipelineDescriptorBase.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUPipelineLayout.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUPipelineLayoutDescriptor.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUPowerPreference.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUPredefinedColorSpace.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUPrimitiveState.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUPrimitiveTopology.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUProgrammableStage.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPURenderPipeline.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPURenderPipelineDescriptor.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPURequestAdapterOptions.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUSampler.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUSamplerBindingLayout.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUSamplerBindingType.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUSamplerDescriptor.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUShaderModule.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUShaderModuleDescriptor.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUShaderStage.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUSize64.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUStencilFaceState.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUStencilOperation.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUStorageTextureAccess.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUStorageTextureBindingLayout.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUSupportedFeatures.idl
</span><span class="lines">@@ -74,6 +102,11 @@
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUTextureView.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUTextureViewDescriptor.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/GPUTextureViewDimension.idl
</span><ins>+$(PROJECT_DIR)/Modules/WebGPU/GPUVertexAttribute.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUVertexBufferLayout.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUVertexFormat.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUVertexState.idl
+$(PROJECT_DIR)/Modules/WebGPU/GPUVertexStepMode.idl
</ins><span class="cx"> $(PROJECT_DIR)/Modules/WebGPU/NavigatorGPU.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl
</span><span class="cx"> $(PROJECT_DIR)/Modules/applepay/ApplePayCancelEvent.idl
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesoutputxcfilelist"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources-output.xcfilelist    2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist       2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -885,6 +885,14 @@
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBindGroupLayoutDescriptor.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBindGroupLayoutEntry.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBindGroupLayoutEntry.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBlendComponent.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBlendComponent.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBlendFactor.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBlendFactor.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBlendOperation.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBlendOperation.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBlendState.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBlendState.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBuffer.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBuffer.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferBinding.cpp
</span><span class="lines">@@ -897,8 +905,26 @@
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferDescriptor.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferUsage.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUBufferUsage.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorTargetState.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorTargetState.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorWrite.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUColorWrite.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCompareFunction.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCompareFunction.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCompilationInfo.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCompilationInfo.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCompilationMessage.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCompilationMessage.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCompilationMessageType.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCompilationMessageType.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUComputePipeline.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUComputePipeline.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUComputePipelineDescriptor.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUComputePipelineDescriptor.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCullMode.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUCullMode.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDepthStencilState.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDepthStencilState.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDevice.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDevice.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUDeviceDescriptor.cpp
</span><span class="lines">@@ -915,12 +941,24 @@
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFeatureName.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFilterMode.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFilterMode.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFragmentState.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFragmentState.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFrontFace.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUFrontFace.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUIndexFormat.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUIndexFormat.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUMapMode.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUMapMode.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUMultisampleState.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUMultisampleState.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUObjectBase.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUObjectBase.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUObjectDescriptorBase.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUObjectDescriptorBase.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineBase.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineBase.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineDescriptorBase.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineDescriptorBase.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineLayout.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineLayout.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPipelineLayoutDescriptor.cpp
</span><span class="lines">@@ -929,6 +967,16 @@
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPowerPreference.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPredefinedColorSpace.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPredefinedColorSpace.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPrimitiveState.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPrimitiveState.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPrimitiveTopology.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUPrimitiveTopology.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUProgrammableStage.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUProgrammableStage.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPURenderPipeline.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPURenderPipeline.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPURenderPipelineDescriptor.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPURenderPipelineDescriptor.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPURequestAdapterOptions.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPURequestAdapterOptions.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSampler.cpp
</span><span class="lines">@@ -939,10 +987,18 @@
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSamplerBindingType.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSamplerDescriptor.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSamplerDescriptor.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUShaderModule.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUShaderModule.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUShaderModuleDescriptor.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUShaderModuleDescriptor.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUShaderStage.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUShaderStage.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSize64.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUSize64.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUStencilFaceState.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUStencilFaceState.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUStencilOperation.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUStencilOperation.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUStorageTextureAccess.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUStorageTextureAccess.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUStorageTextureBindingLayout.cpp
</span><span class="lines">@@ -973,6 +1029,16 @@
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDescriptor.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDimension.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUTextureViewDimension.h
</span><ins>+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexAttribute.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexAttribute.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexBufferLayout.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexBufferLayout.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexFormat.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexFormat.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexState.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexState.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexStepMode.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGPUVertexStepMode.h
</ins><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGainNode.cpp
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGainNode.h
</span><span class="cx"> $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSGainOptions.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make 2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/DerivedSources.make    2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -62,6 +62,10 @@
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBindGroupLayout.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBindGroupLayoutDescriptor.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBindGroupLayoutEntry.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUBlendComponent.idl \
+    $(WebCore)/Modules/WebGPU/GPUBlendFactor.idl \
+    $(WebCore)/Modules/WebGPU/GPUBlendOperation.idl \
+    $(WebCore)/Modules/WebGPU/GPUBlendState.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBuffer.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBufferBinding.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBufferBindingLayout.idl \
</span><span class="lines">@@ -68,7 +72,16 @@
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBufferBindingType.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBufferDescriptor.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUBufferUsage.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUColorTargetState.idl \
+    $(WebCore)/Modules/WebGPU/GPUColorWrite.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPUCompareFunction.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUCompilationInfo.idl \
+    $(WebCore)/Modules/WebGPU/GPUCompilationMessage.idl \
+    $(WebCore)/Modules/WebGPU/GPUCompilationMessageType.idl \
+    $(WebCore)/Modules/WebGPU/GPUComputePipeline.idl \
+    $(WebCore)/Modules/WebGPU/GPUComputePipelineDescriptor.idl \
+    $(WebCore)/Modules/WebGPU/GPUCullMode.idl \
+    $(WebCore)/Modules/WebGPU/GPUDepthStencilState.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPUDevice.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUDeviceDescriptor.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUExtent3DDict.idl \
</span><span class="lines">@@ -77,19 +90,34 @@
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUExternalTextureDescriptor.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUFeatureName.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUFilterMode.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUFragmentState.idl \
+    $(WebCore)/Modules/WebGPU/GPUFrontFace.idl \
+    $(WebCore)/Modules/WebGPU/GPUIndexFormat.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPUMapMode.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUMultisampleState.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPUObjectBase.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUObjectDescriptorBase.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUPipelineBase.idl \
+    $(WebCore)/Modules/WebGPU/GPUPipelineDescriptorBase.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPUPipelineLayout.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUPipelineLayoutDescriptor.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUPowerPreference.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUPredefinedColorSpace.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUPrimitiveState.idl \
+    $(WebCore)/Modules/WebGPU/GPUPrimitiveTopology.idl \
+    $(WebCore)/Modules/WebGPU/GPUProgrammableStage.idl \
+    $(WebCore)/Modules/WebGPU/GPURenderPipeline.idl \
+    $(WebCore)/Modules/WebGPU/GPURenderPipelineDescriptor.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPURequestAdapterOptions.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUSampler.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUSamplerBindingLayout.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUSamplerBindingType.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUSamplerDescriptor.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUShaderModule.idl \
+    $(WebCore)/Modules/WebGPU/GPUShaderModuleDescriptor.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPUShaderStage.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUStencilFaceState.idl \
+    $(WebCore)/Modules/WebGPU/GPUStencilOperation.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/GPUStorageTextureAccess.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUStorageTextureBindingLayout.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUSupportedFeatures.idl \
</span><span class="lines">@@ -105,6 +133,11 @@
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUTextureView.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUTextureViewDescriptor.idl \
</span><span class="cx">     $(WebCore)/Modules/WebGPU/GPUTextureViewDimension.idl \
</span><ins>+    $(WebCore)/Modules/WebGPU/GPUVertexAttribute.idl \
+    $(WebCore)/Modules/WebGPU/GPUVertexBufferLayout.idl \
+    $(WebCore)/Modules/WebGPU/GPUVertexFormat.idl \
+    $(WebCore)/Modules/WebGPU/GPUVertexState.idl \
+    $(WebCore)/Modules/WebGPU/GPUVertexStepMode.idl \
</ins><span class="cx">     $(WebCore)/Modules/WebGPU/NavigatorGPU.idl \
</span><span class="cx">     $(WebCore)/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl \
</span><span class="cx">     $(WebCore)/Modules/applepay/ApplePayCancelEvent.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUBlendComponenthfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUBlendComponent.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUBlendComponent.h                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUBlendComponent.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUBlendFactor.h"
+#include "GPUBlendOperation.h"
+
+namespace WebCore {
+
+struct GPUBlendComponent {
+    GPUBlendOperation operation;
+    GPUBlendFactor srcFactor;
+    GPUBlendFactor dstFactor;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUBlendComponentidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUBlendComponent.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUBlendComponent.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUBlendComponent.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpublendcomponent
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUBlendComponent {
+    GPUBlendOperation operation = "add";
+    GPUBlendFactor srcFactor = "one";
+    GPUBlendFactor dstFactor = "zero";
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUBlendFactorhfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUBlendFactor.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUBlendFactor.h                             (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUBlendFactor.h        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUBlendFactor : uint8_t {
+    Zero,
+    One,
+    Src,
+    OneMinusSrc,
+    SrcAlpha,
+    OneMinusSrcAlpha,
+    Dst,
+    OneMinusDst,
+    DstAlpha,
+    OneMinusDstAlpha,
+    SrcAlphaSaturated,
+    Constant,
+    OneMinusConstant
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUBlendFactoridlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUBlendFactor.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUBlendFactor.idl                           (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUBlendFactor.idl      2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpublendfactor
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUBlendFactor {
+    "zero",
+    "one",
+    "src",
+    "one-minus-src",
+    "src-alpha",
+    "one-minus-src-alpha",
+    "dst",
+    "one-minus-dst",
+    "dst-alpha",
+    "one-minus-dst-alpha",
+    "src-alpha-saturated",
+    "constant",
+    "one-minus-constant"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUBlendOperationhfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUBlendOperation.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUBlendOperation.h                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUBlendOperation.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUBlendOperation : uint8_t {
+    Add,
+    Subtract,
+    ReverseSubtract,
+    Min,
+    Max
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUBlendOperationidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUBlendOperation.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUBlendOperation.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUBlendOperation.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpublendoperation
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUBlendOperation {
+    "add",
+    "subtract",
+    "reverse-subtract",
+    "min",
+    "max"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUBlendStatehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUBlendState.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUBlendState.h                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUBlendState.h 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUBlendComponent.h"
+
+namespace WebCore {
+
+struct GPUBlendState {
+    GPUBlendComponent color;
+    GPUBlendComponent alpha;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUBlendStateidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUBlendState.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUBlendState.idl                            (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUBlendState.idl       2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpublendstate
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUBlendState {
+    required GPUBlendComponent color;
+    required GPUBlendComponent alpha;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUColorTargetStatehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUColorTargetState.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUColorTargetState.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUColorTargetState.h   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUBlendState.h"
+#include "GPUColorWrite.h"
+#include "GPUTextureFormat.h"
+#include <optional>
+
+namespace WebCore {
+
+struct GPUColorTargetState {
+    GPUTextureFormat format;
+
+    std::optional<GPUBlendState> blend;
+    GPUColorWriteFlags writeMask;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUColorTargetStateidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUColorTargetState.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUColorTargetState.idl                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUColorTargetState.idl 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUColorWriteFlags;
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpucolortargetstate
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUColorTargetState {
+    required GPUTextureFormat format;
+
+    GPUBlendState blend;
+    GPUColorWriteFlags writeMask = 0xF;  // GPUColorWrite.ALL
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUColorWritehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUColorWrite.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUColorWrite.h                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUColorWrite.h 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUBlendFactor.h"
+#include "GPUBlendOperation.h"
+#include "GPUIntegralTypes.h"
+#include <cstdint>
+
+namespace WebCore {
+
+using GPUColorWriteFlags = uint32_t;
+class GPUColorWrite : public RefCounted<GPUColorWrite> {
+public:
+    static constexpr GPUFlagsConstant RED   = 0x1;
+    static constexpr GPUFlagsConstant GREEN = 0x2;
+    static constexpr GPUFlagsConstant BLUE  = 0x4;
+    static constexpr GPUFlagsConstant ALPHA = 0x8;
+    static constexpr GPUFlagsConstant ALL   = 0xF;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUColorWriteidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUColorWrite.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUColorWrite.idl                            (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUColorWrite.idl       2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#namespacedef-gpucolorwrite
+
+typedef [EnforceRange] unsigned long GPUColorWriteFlags;
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUColorWrite {
+    const GPUFlagsConstant RED   = 0x1;
+    const GPUFlagsConstant GREEN = 0x2;
+    const GPUFlagsConstant BLUE  = 0x4;
+    const GPUFlagsConstant ALPHA = 0x8;
+    const GPUFlagsConstant ALL   = 0xF;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCompilationInfocppfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.cpp (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.cpp                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.cpp  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPUCompilationInfo.h"
+
+namespace WebCore {
+
+Vector<GPUCompilationMessage> GPUCompilationInfo::messages() const
+{
+    return { };
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCompilationInfohfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.h                         (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.h    2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUCompilationMessage.h"
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class GPUCompilationInfo : public RefCounted<GPUCompilationInfo> {
+public:
+    static Ref<GPUCompilationInfo> create()
+    {
+        return adoptRef(*new GPUCompilationInfo());
+    }
+
+    Vector<GPUCompilationMessage> messages() const;
+
+private:
+    GPUCompilationInfo() = default;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCompilationInfoidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.idl                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCompilationInfo.idl  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpucompilationinfo
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    Serializable,
+    SecureContext
+]
+interface GPUCompilationInfo {
+    readonly attribute FrozenArray<GPUCompilationMessage> messages;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCompilationMessagecppfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.cpp (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.cpp                            (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.cpp       2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPUCompilationInfo.h"
+
+namespace WebCore {
+
+String GPUCompilationMessage::message() const
+{
+    return StringImpl::empty();
+}
+
+GPUCompilationMessageType GPUCompilationMessage::type() const
+{
+    return GPUCompilationMessageType::Error;
+}
+
+uint64_t GPUCompilationMessage::lineNum() const
+{
+    return 0;
+}
+
+uint64_t GPUCompilationMessage::linePos() const
+{
+    return 0;
+}
+
+uint64_t GPUCompilationMessage::offset() const
+{
+    return 0;
+}
+
+uint64_t GPUCompilationMessage::length() const
+{
+    return 0;
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCompilationMessagehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.h                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.h 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUCompilationMessageType.h"
+#include <cstdint>
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUCompilationMessage : public RefCounted<GPUCompilationMessage> {
+public:
+    static Ref<GPUCompilationMessage> create()
+    {
+        return adoptRef(*new GPUCompilationMessage());
+    }
+
+    String message() const;
+    GPUCompilationMessageType type() const;
+    uint64_t lineNum() const;
+    uint64_t linePos() const;
+    uint64_t offset() const;
+    uint64_t length() const;
+
+private:
+    GPUCompilationMessage()
+    {
+    }
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCompilationMessageidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.idl                            (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessage.idl       2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpucompilationmessage
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    Serializable,
+    SecureContext
+]
+interface GPUCompilationMessage {
+    readonly attribute DOMString message;
+    readonly attribute GPUCompilationMessageType type;
+    readonly attribute unsigned long long lineNum;
+    readonly attribute unsigned long long linePos;
+    readonly attribute unsigned long long offset;
+    readonly attribute unsigned long long length;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCompilationMessageTypehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.h                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUCompilationMessageType : uint8_t {
+    Error,
+    Warning,
+    Info
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCompilationMessageTypeidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCompilationMessageType.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpucompilationmessagetype
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUCompilationMessageType {
+    "error",
+    "warning",
+    "info"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUComputePipelinecppfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.cpp (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.cpp                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.cpp  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPUComputePipeline.h"
+
+#include "GPUBindGroupLayout.h"
+
+namespace WebCore {
+
+String GPUComputePipeline::label() const
+{
+    return StringImpl::empty();
+}
+
+void GPUComputePipeline::setLabel(String&&)
+{
+}
+
+Ref<GPUBindGroupLayout> GPUComputePipeline::getBindGroupLayout(uint32_t)
+{
+    return GPUBindGroupLayout::create();
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUComputePipelinehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.h                         (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.h    2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,55 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUBindGroupLayout;
+
+class GPUComputePipeline : public RefCounted<GPUComputePipeline> {
+public:
+    static Ref<GPUComputePipeline> create()
+    {
+        return adoptRef(*new GPUComputePipeline());
+    }
+
+    String label() const;
+    void setLabel(String&& label);
+
+    Ref<GPUBindGroupLayout> getBindGroupLayout(uint32_t index);
+
+private:
+    GPUComputePipeline() = default;
+
+    String m_label;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUComputePipelineidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.idl                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUComputePipeline.idl  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpucomputepipeline
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUComputePipeline {
+};
+GPUComputePipeline includes GPUObjectBase;
+GPUComputePipeline includes GPUPipelineBase;
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUComputePipelineDescriptorhfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.h                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.h  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUPipelineDescriptorBase.h"
+#include "GPUProgrammableStage.h"
+
+namespace WebCore {
+
+struct GPUComputePipelineDescriptor : public GPUPipelineDescriptorBase {
+    GPUProgrammableStage compute;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUComputePipelineDescriptoridlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.idl                             (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUComputePipelineDescriptor.idl        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpucomputepipelinedescriptor
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUComputePipelineDescriptor : GPUPipelineDescriptorBase {
+    required GPUProgrammableStage compute;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCullModehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCullMode.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCullMode.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCullMode.h   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUCullMode : uint8_t {
+    None,
+    Front,
+    Back
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUCullModeidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUCullMode.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUCullMode.idl                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUCullMode.idl 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpucullmode
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUCullMode {
+    "none",
+    "front",
+    "back"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUDepthStencilStatehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUCompareFunction.h"
+#include "GPUIntegralTypes.h"
+#include "GPUStencilFaceState.h"
+#include "GPUTextureFormat.h"
+#include <optional>
+
+namespace WebCore {
+
+struct GPUDepthStencilState {
+    GPUTextureFormat format;
+
+    bool depthWriteEnabled;
+    GPUCompareFunction depthCompare;
+
+    GPUStencilFaceState stencilFront;
+    GPUStencilFaceState stencilBack;
+
+    std::optional<GPUStencilValue> stencilReadMask;
+    std::optional<GPUStencilValue> stencilWriteMask;
+
+    GPUDepthBias depthBias;
+    float depthBiasSlopeScale;
+    float depthBiasClamp;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUDepthStencilStateidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUDepthStencilState.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUDepthStencilState.idl                             (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDepthStencilState.idl        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,50 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpudepthstencilstate
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 These shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUStencilValue;
+typedef [EnforceRange] long GPUDepthBias;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUDepthStencilState {
+    required GPUTextureFormat format;
+
+    boolean depthWriteEnabled = false;
+    GPUCompareFunction depthCompare = "always";
+
+    GPUStencilFaceState stencilFront;
+    GPUStencilFaceState stencilBack;
+
+    GPUStencilValue stencilReadMask = 0xFFFFFFFF;
+    GPUStencilValue stencilWriteMask = 0xFFFFFFFF;
+
+    GPUDepthBias depthBias = 0;
+    float depthBiasSlopeScale = 0;
+    float depthBiasClamp = 0;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUDevicecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp        2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -32,12 +32,18 @@
</span><span class="cx"> #include "GPUBindGroupLayoutDescriptor.h"
</span><span class="cx"> #include "GPUBuffer.h"
</span><span class="cx"> #include "GPUBufferDescriptor.h"
</span><ins>+#include "GPUComputePipeline.h"
+#include "GPUComputePipelineDescriptor.h"
</ins><span class="cx"> #include "GPUExternalTexture.h"
</span><span class="cx"> #include "GPUExternalTextureDescriptor.h"
</span><span class="cx"> #include "GPUPipelineLayout.h"
</span><span class="cx"> #include "GPUPipelineLayoutDescriptor.h"
</span><ins>+#include "GPURenderPipeline.h"
+#include "GPURenderPipelineDescriptor.h"
</ins><span class="cx"> #include "GPUSampler.h"
</span><span class="cx"> #include "GPUSamplerDescriptor.h"
</span><ins>+#include "GPUShaderModule.h"
+#include "GPUShaderModuleDescriptor.h"
</ins><span class="cx"> #include "GPUSupportedFeatures.h"
</span><span class="cx"> #include "GPUSupportedLimits.h"
</span><span class="cx"> #include "GPUTexture.h"
</span><span class="lines">@@ -105,4 +111,27 @@
</span><span class="cx">     return GPUBindGroup::create();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref<GPUShaderModule> GPUDevice::createShaderModule(const GPUShaderModuleDescriptor&)
+{
+    return GPUShaderModule::create();
</ins><span class="cx"> }
</span><ins>+
+Ref<GPUComputePipeline> GPUDevice::createComputePipeline(const GPUComputePipelineDescriptor&)
+{
+    return GPUComputePipeline::create();
+}
+
+Ref<GPURenderPipeline> GPUDevice::createRenderPipeline(const GPURenderPipelineDescriptor&)
+{
+    return GPURenderPipeline::create();
+}
+
+void GPUDevice::createComputePipelineAsync(const GPUComputePipelineDescriptor&, CreateComputePipelineAsyncPromise&&)
+{
+}
+
+void GPUDevice::createRenderPipelineAsync(const GPURenderPipelineDescriptor&, CreateRenderPipelineAsyncPromise&&)
+{
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUDeviceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h  2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -27,6 +27,9 @@
</span><span class="cx"> 
</span><span class="cx"> #include "ActiveDOMObject.h"
</span><span class="cx"> #include "EventTarget.h"
</span><ins>+#include "GPUComputePipeline.h"
+#include "GPURenderPipeline.h"
+#include "JSDOMPromiseDeferred.h"
</ins><span class="cx"> #include "ScriptExecutionContext.h"
</span><span class="cx"> #include <optional>
</span><span class="cx"> #include <wtf/Ref.h>
</span><span class="lines">@@ -40,12 +43,18 @@
</span><span class="cx"> struct GPUBindGroupLayoutDescriptor;
</span><span class="cx"> class GPUBuffer;
</span><span class="cx"> struct GPUBufferDescriptor;
</span><ins>+class GPUComputePipeline;
+struct GPUComputePipelineDescriptor;
</ins><span class="cx"> class GPUExternalTexture;
</span><span class="cx"> struct GPUExternalTextureDescriptor;
</span><ins>+class GPURenderPipeline;
+struct GPURenderPipelineDescriptor;
</ins><span class="cx"> class GPUPipelineLayout;
</span><span class="cx"> struct GPUPipelineLayoutDescriptor;
</span><span class="cx"> class GPUSampler;
</span><span class="cx"> struct GPUSamplerDescriptor;
</span><ins>+class GPUShaderModule;
+struct GPUShaderModuleDescriptor;
</ins><span class="cx"> class GPUSupportedFeatures;
</span><span class="cx"> class GPUSupportedLimits;
</span><span class="cx"> class GPUTexture;
</span><span class="lines">@@ -77,6 +86,14 @@
</span><span class="cx">     Ref<GPUPipelineLayout> createPipelineLayout(const GPUPipelineLayoutDescriptor&);
</span><span class="cx">     Ref<GPUBindGroup> createBindGroup(const GPUBindGroupDescriptor&);
</span><span class="cx"> 
</span><ins>+    Ref<GPUShaderModule> createShaderModule(const GPUShaderModuleDescriptor&);
+    Ref<GPUComputePipeline> createComputePipeline(const GPUComputePipelineDescriptor&);
+    Ref<GPURenderPipeline> createRenderPipeline(const GPURenderPipelineDescriptor&);
+    using CreateComputePipelineAsyncPromise = DOMPromiseDeferred<IDLInterface<GPUComputePipeline>>;
+    void createComputePipelineAsync(const GPUComputePipelineDescriptor&, CreateComputePipelineAsyncPromise&&);
+    using CreateRenderPipelineAsyncPromise = DOMPromiseDeferred<IDLInterface<GPURenderPipeline>>;
+    void createRenderPipelineAsync(const GPURenderPipelineDescriptor&, CreateRenderPipelineAsyncPromise&&);
+
</ins><span class="cx"> private:
</span><span class="cx">     GPUDevice(ScriptExecutionContext* scriptExecutionContext)
</span><span class="cx">         : ActiveDOMObject { scriptExecutionContext }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl        2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -46,6 +46,12 @@
</span><span class="cx">     GPUPipelineLayout createPipelineLayout(GPUPipelineLayoutDescriptor descriptor);
</span><span class="cx">     GPUBindGroup createBindGroup(GPUBindGroupDescriptor descriptor);
</span><span class="cx"> 
</span><ins>+    GPUShaderModule createShaderModule(GPUShaderModuleDescriptor descriptor);
+    GPUComputePipeline createComputePipeline(GPUComputePipelineDescriptor descriptor);
+    GPURenderPipeline createRenderPipeline(GPURenderPipelineDescriptor descriptor);
+    Promise<GPUComputePipeline> createComputePipelineAsync(GPUComputePipelineDescriptor descriptor);
+    Promise<GPURenderPipeline> createRenderPipelineAsync(GPURenderPipelineDescriptor descriptor);
+
</ins><span class="cx">     // FIXME: Add more here.
</span><span class="cx"> };
</span><span class="cx"> GPUDevice includes GPUObjectBase;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUFragmentStatehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUFragmentState.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUFragmentState.h                           (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUFragmentState.h      2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUColorTargetState.h"
+#include "GPUProgrammableStage.h"
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+struct GPUFragmentState : public GPUProgrammableStage {
+    Vector<GPUColorTargetState> targets;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUFragmentStateidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUFragmentState.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUFragmentState.idl                         (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUFragmentState.idl    2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpufragmentstate
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUFragmentState : GPUProgrammableStage {
+    required sequence<GPUColorTargetState> targets;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUFrontFacehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUFrontFace.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUFrontFace.h                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUFrontFace.h  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUFrontFace : uint8_t {
+    Ccw,
+    Cw
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUFrontFaceidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUFrontFace.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUFrontFace.idl                             (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUFrontFace.idl        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpufrontface
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUFrontFace {
+    "ccw",
+    "cw"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUIndexFormathfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUIndexFormat.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUIndexFormat.h                             (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUIndexFormat.h        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUIndexFormat : uint8_t {
+    Uint16,
+    Uint32
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUIndexFormatidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUIndexFormat.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUIndexFormat.idl                           (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUIndexFormat.idl      2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpuindexformat
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUIndexFormat {
+    "uint16",
+    "uint32"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUMultisampleStatehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUMultisampleState.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUMultisampleState.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUMultisampleState.h   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUIntegralTypes.h"
+
+namespace WebCore {
+
+struct GPUMultisampleState {
+    GPUSize32 count;
+    GPUSampleMask mask;
+    bool alphaToCoverageEnabled;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUMultisampleStateidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUMultisampleState.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUMultisampleState.idl                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUMultisampleState.idl 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpumultisamplestate
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 These shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUSize32;
+typedef [EnforceRange] unsigned long GPUSampleMask;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUMultisampleState {
+    GPUSize32 count = 1;
+    GPUSampleMask mask = 0xFFFFFFFF;
+    boolean alphaToCoverageEnabled = false;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUPipelineBaseidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUPipelineBase.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUPipelineBase.idl                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUPipelineBase.idl     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+    EnabledBySetting=WebGPU
+]
+interface mixin GPUPipelineBase {
+    GPUBindGroupLayout getBindGroupLayout(unsigned long index);
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUPipelineDescriptorBasehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUObjectDescriptorBase.h"
+#include "GPUPipelineLayout.h"
+
+namespace WebCore {
+
+struct GPUPipelineDescriptorBase : public GPUObjectDescriptorBase {
+    RefPtr<GPUPipelineLayout> layout;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUPipelineDescriptorBaseidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUPipelineDescriptorBase.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpupipelinedescriptorbase
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUPipelineDescriptorBase : GPUObjectDescriptorBase {
+    GPUPipelineLayout layout;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUPrimitiveStatehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveState.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveState.h                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveState.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUCullMode.h"
+#include "GPUFrontFace.h"
+#include "GPUIndexFormat.h"
+#include "GPUIntegralTypes.h"
+#include "GPUPrimitiveTopology.h"
+#include <optional>
+
+namespace WebCore {
+
+struct GPUPrimitiveState {
+    GPUPrimitiveTopology topology;
+    std::optional<GPUIndexFormat> stripIndexFormat;
+    GPUFrontFace frontFace;
+    GPUCullMode cullMode;
+
+    // Requires "depth-clip-control" feature.
+    bool unclippedDepth;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUPrimitiveStateidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveState.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveState.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveState.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpuprimitivestate
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUPrimitiveState {
+    GPUPrimitiveTopology topology = "triangle-list";
+    GPUIndexFormat stripIndexFormat;
+    GPUFrontFace frontFace = "ccw";
+    GPUCullMode cullMode = "none";
+
+    // Requires "depth-clip-control" feature.
+    boolean unclippedDepth = false;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUPrimitiveTopologyhfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveTopology.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveTopology.h                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveTopology.h  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUPrimitiveTopology : uint8_t {
+    PointList,
+    LineList,
+    LineStrip,
+    TriangleList,
+    TriangleStrip
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUPrimitiveTopologyidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveTopology.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveTopology.idl                             (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUPrimitiveTopology.idl        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpuprimitivetopology
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUPrimitiveTopology {
+    "point-list",
+    "line-list",
+    "line-strip",
+    "triangle-list",
+    "triangle-strip"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUProgrammableStagehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUProgrammableStage.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUProgrammableStage.h                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUProgrammableStage.h  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,43 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUShaderModule.h"
+#include <wtf/KeyValuePair.h>
+#include <wtf/RefPtr.h>
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+using GPUPipelineConstantValue = double; // May represent WGSL’s bool, f32, i32, u32.
+
+struct GPUProgrammableStage {
+    RefPtr<GPUShaderModule> module;
+    String entryPoint;
+    Vector<KeyValuePair<String, GPUPipelineConstantValue>> constants;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUProgrammableStageidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUProgrammableStage.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUProgrammableStage.idl                             (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUProgrammableStage.idl        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpuprogrammablestage
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUProgrammableStage {
+    required GPUShaderModule module;
+    required USVString entryPoint;
+    record<USVString, GPUPipelineConstantValue> constants;
+};
+typedef double GPUPipelineConstantValue; // May represent WGSL’s bool, f32, i32, u32.
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPURenderPipelinecppfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.cpp (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.cpp                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.cpp   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPURenderPipeline.h"
+
+#include "GPUBindGroupLayout.h"
+
+namespace WebCore {
+
+Ref<GPUBindGroupLayout> GPURenderPipeline::getBindGroupLayout(uint32_t)
+{
+    return GPUBindGroupLayout::create();
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPURenderPipelinehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.h                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,55 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class GPUBindGroupLayout;
+
+class GPURenderPipeline : public RefCounted<GPURenderPipeline> {
+public:
+    static Ref<GPURenderPipeline> create()
+    {
+        return adoptRef(*new GPURenderPipeline());
+    }
+
+    const String& label() const { return m_label; }
+    void setLabel(String&& label) { m_label = WTFMove(label); }
+
+    Ref<GPUBindGroupLayout> getBindGroupLayout(uint32_t index);
+
+private:
+    GPURenderPipeline() = default;
+
+    String m_label;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPURenderPipelineidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPURenderPipeline.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpurenderpipeline
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPURenderPipeline {
+};
+GPURenderPipeline includes GPUObjectBase;
+GPURenderPipeline includes GPUPipelineBase;
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPURenderPipelineDescriptorhfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.h   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUDepthStencilState.h"
+#include "GPUFragmentState.h"
+#include "GPUMultisampleState.h"
+#include "GPUPipelineDescriptorBase.h"
+#include "GPUPrimitiveState.h"
+#include "GPUVertexState.h"
+#include <optional>
+
+namespace WebCore {
+
+struct GPURenderPipelineDescriptor : public GPUPipelineDescriptorBase {
+    GPUVertexState vertex;
+    std::optional<GPUPrimitiveState> primitive;
+    std::optional<GPUDepthStencilState> depthStencil;
+    std::optional<GPUMultisampleState> multisample;
+    std::optional<GPUFragmentState> fragment;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPURenderPipelineDescriptoridlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.idl                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPURenderPipelineDescriptor.idl 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpurenderpipelinedescriptor
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPURenderPipelineDescriptor : GPUPipelineDescriptorBase {
+    required GPUVertexState vertex;
+    GPUPrimitiveState primitive;
+    GPUDepthStencilState depthStencil;
+    GPUMultisampleState multisample;
+    GPUFragmentState fragment;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUShaderModulecppfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.cpp (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.cpp                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.cpp     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "GPUShaderModule.h"
+
+namespace WebCore {
+
+void GPUShaderModule::compilationInfo(Ref<DeferredPromise>&&)
+{
+}
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUShaderModulehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.h                            (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.h       2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,55 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUBindGroupLayout.h"
+#include <wtf/Ref.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class DeferredPromise;
+
+class GPUShaderModule : public RefCounted<GPUShaderModule> {
+public:
+    static Ref<GPUShaderModule> create()
+    {
+        return adoptRef(*new GPUShaderModule());
+    }
+
+    const String& label() const { return m_label; }
+    void setLabel(String&& label) { m_label = WTFMove(label); }
+
+    void compilationInfo(Ref<DeferredPromise>&&);
+
+private:
+    GPUShaderModule() = default;
+
+    String m_label;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUShaderModuleidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.idl                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUShaderModule.idl     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#gpushadermodule
+
+[
+    EnabledBySetting=WebGPU,
+    ImplementationLacksVTable,
+    Exposed=(Window), /* https://bugs.webkit.org/show_bug.cgi?id=232542: DedicatedWorker */
+    SecureContext
+]
+interface GPUShaderModule {
+    Promise<GPUCompilationInfo> compilationInfo();
+};
+GPUShaderModule includes GPUObjectBase;
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUShaderModuleDescriptorhfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.h                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <JavaScriptCore/JSObject.h>
+#include <JavaScriptCore/Strong.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+struct GPUShaderModuleDescriptor : public GPUObjectDescriptorBase {
+    String code;
+    JSC::Strong<JSC::JSObject> sourceMap;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUShaderModuleDescriptoridlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUShaderModuleDescriptor.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpushadermoduledescriptor
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUShaderModuleDescriptor : GPUObjectDescriptorBase {
+    required USVString code;
+    object sourceMap;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUStencilFaceStatehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUStencilFaceState.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUStencilFaceState.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUStencilFaceState.h   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUCompareFunction.h"
+#include "GPUStencilOperation.h"
+
+namespace WebCore {
+
+struct GPUStencilFaceState {
+    GPUCompareFunction compare;
+    GPUStencilOperation failOp;
+    GPUStencilOperation depthFailOp;
+    GPUStencilOperation passOp;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUStencilFaceStateidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUStencilFaceState.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUStencilFaceState.idl                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUStencilFaceState.idl 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpustencilfacestate
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUStencilFaceState {
+    GPUCompareFunction compare = "always";
+    GPUStencilOperation failOp = "keep";
+    GPUStencilOperation depthFailOp = "keep";
+    GPUStencilOperation passOp = "keep";
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUStencilOperationhfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUStencilOperation.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUStencilOperation.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUStencilOperation.h   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,43 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUStencilOperation : uint8_t {
+    Keep,
+    Zero,
+    Replace,
+    Invert,
+    IncrementClamp,
+    DecrementClamp,
+    IncrementWrap,
+    DecrementWrap
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUStencilOperationidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUStencilOperation.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUStencilOperation.idl                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUStencilOperation.idl 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpustenciloperation
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUStencilOperation {
+    "keep",
+    "zero",
+    "replace",
+    "invert",
+    "increment-clamp",
+    "decrement-clamp",
+    "increment-wrap",
+    "decrement-wrap"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexAttributehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexAttribute.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexAttribute.h                         (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexAttribute.h    2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUIntegralTypes.h"
+#include "GPUVertexFormat.h"
+
+namespace WebCore {
+
+struct GPUVertexAttribute {
+    GPUVertexFormat format;
+    GPUSize64 offset;
+
+    GPUIndex32 shaderLocation;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexAttributeidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexAttribute.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexAttribute.idl                               (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexAttribute.idl  2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpuvertexattribute
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 These shouldn't need to be here.
+typedef [EnforceRange] unsigned long GPUIndex32;
+typedef [EnforceRange] unsigned long long GPUSize64;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUVertexAttribute {
+    required GPUVertexFormat format;
+    required GPUSize64 offset;
+
+    required GPUIndex32 shaderLocation;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexBufferLayouthfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.h                              (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.h 2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUIntegralTypes.h"
+#include "GPUVertexAttribute.h"
+#include "GPUVertexStepMode.h"
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+struct GPUVertexBufferLayout {
+    GPUSize64 arrayStride;
+    GPUVertexStepMode stepMode;
+    Vector<GPUVertexAttribute> attributes;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexBufferLayoutidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.idl                            (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexBufferLayout.idl       2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpuvertexbufferlayout
+
+// https://bugs.webkit.org/show_bug.cgi?id=232548 This shouldn't need to be here.
+typedef [EnforceRange] unsigned long long GPUSize64;
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUVertexBufferLayout {
+    required GPUSize64 arrayStride;
+    GPUVertexStepMode stepMode = "vertex";
+    required sequence<GPUVertexAttribute> attributes;
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexFormathfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexFormat.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexFormat.h                            (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexFormat.h       2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,65 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUVertexFormat : uint8_t {
+    Uint8x2,
+    Uint8x4,
+    Sint8x2,
+    Sint8x4,
+    Unorm8x2,
+    Unorm8x4,
+    Snorm8x2,
+    Snorm8x4,
+    Uint16x2,
+    Uint16x4,
+    Sint16x2,
+    Sint16x4,
+    Unorm16x2,
+    Unorm16x4,
+    Snorm16x2,
+    Snorm16x4,
+    Float16x2,
+    Float16x4,
+    Float32,
+    Float32x2,
+    Float32x3,
+    Float32x4,
+    Uint32,
+    Uint32x2,
+    Uint32x3,
+    Uint32x4,
+    Sint32,
+    Sint32x2,
+    Sint32x3,
+    Sint32x4
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexFormatidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexFormat.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexFormat.idl                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexFormat.idl     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,62 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpuvertexformat
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUVertexFormat {
+    "uint8x2",
+    "uint8x4",
+    "sint8x2",
+    "sint8x4",
+    "unorm8x2",
+    "unorm8x4",
+    "snorm8x2",
+    "snorm8x4",
+    "uint16x2",
+    "uint16x4",
+    "sint16x2",
+    "sint16x4",
+    "unorm16x2",
+    "unorm16x4",
+    "snorm16x2",
+    "snorm16x4",
+    "float16x2",
+    "float16x4",
+    "float32",
+    "float32x2",
+    "float32x3",
+    "float32x4",
+    "uint32",
+    "uint32x2",
+    "uint32x3",
+    "uint32x4",
+    "sint32",
+    "sint32x2",
+    "sint32x3",
+    "sint32x4"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexStatehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexState.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexState.h                             (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexState.h        2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "GPUProgrammableStage.h"
+#include "GPUVertexBufferLayout.h"
+#include <optional>
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+struct GPUVertexState : public GPUProgrammableStage {
+    Vector<std::optional<GPUVertexBufferLayout>> buffers;
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexStateidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexState.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexState.idl                           (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexState.idl      2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#dictdef-gpuvertexstate
+
+[
+    EnabledBySetting=WebGPU
+]
+dictionary GPUVertexState : GPUProgrammableStage {
+    sequence<GPUVertexBufferLayout?> buffers = [];
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexStepModehfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexStepMode.h (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexStepMode.h                          (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexStepMode.h     2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <cstdint>
+
+namespace WebCore {
+
+enum class GPUVertexStepMode : uint8_t {
+    Vertex,
+    Instance
+};
+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesWebGPUGPUVertexStepModeidlfromrev285380trunkSourceWebCoreModulesWebGPUGPUDeviceidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/WebGPU/GPUVertexStepMode.idl (from rev 285380, trunk/Source/WebCore/Modules/WebGPU/GPUDevice.idl) (0 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/WebGPU/GPUVertexStepMode.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/WebGPU/GPUVertexStepMode.idl   2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://gpuweb.github.io/gpuweb/#enumdef-gpuvertexstepmode
+
+[
+    EnabledBySetting=WebGPU
+]
+enum GPUVertexStepMode {
+    "vertex",
+    "instance"
+};
</ins></span></pre></div>
<a id="trunkSourceWebCoreSourcestxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Sources.txt (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Sources.txt 2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/Sources.txt    2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -26,10 +26,15 @@
</span><span class="cx"> Modules/WebGPU/GPUBindGroup.cpp
</span><span class="cx"> Modules/WebGPU/GPUBindGroupLayout.cpp
</span><span class="cx"> Modules/WebGPU/GPUBuffer.cpp
</span><ins>+Modules/WebGPU/GPUCompilationInfo.cpp
+Modules/WebGPU/GPUCompilationMessage.cpp
+Modules/WebGPU/GPUComputePipeline.cpp
</ins><span class="cx"> Modules/WebGPU/GPUDevice.cpp
</span><span class="cx"> Modules/WebGPU/GPUExternalTexture.cpp
</span><span class="cx"> Modules/WebGPU/GPUPipelineLayout.cpp
</span><ins>+Modules/WebGPU/GPURenderPipeline.cpp
</ins><span class="cx"> Modules/WebGPU/GPUSampler.cpp
</span><ins>+Modules/WebGPU/GPUShaderModule.cpp
</ins><span class="cx"> Modules/WebGPU/GPUSupportedFeatures.cpp
</span><span class="cx"> Modules/WebGPU/GPUSupportedLimits.cpp
</span><span class="cx"> Modules/WebGPU/GPUTexture.cpp
</span><span class="lines">@@ -3087,6 +3092,10 @@
</span><span class="cx"> JSGPUBindGroupLayout.cpp
</span><span class="cx"> JSGPUBindGroupLayoutDescriptor.cpp
</span><span class="cx"> JSGPUBindGroupLayoutEntry.cpp
</span><ins>+JSGPUBlendComponent.cpp
+JSGPUBlendFactor.cpp
+JSGPUBlendOperation.cpp
+JSGPUBlendState.cpp
</ins><span class="cx"> JSGPUBuffer.cpp
</span><span class="cx"> JSGPUBufferBinding.cpp
</span><span class="cx"> JSGPUBufferBindingLayout.cpp
</span><span class="lines">@@ -3093,7 +3102,16 @@
</span><span class="cx"> JSGPUBufferBindingType.cpp
</span><span class="cx"> JSGPUBufferDescriptor.cpp
</span><span class="cx"> JSGPUBufferUsage.cpp
</span><ins>+JSGPUColorTargetState.cpp
+JSGPUColorWrite.cpp
</ins><span class="cx"> JSGPUCompareFunction.cpp
</span><ins>+JSGPUCompilationInfo.cpp
+JSGPUCompilationMessage.cpp
+JSGPUCompilationMessageType.cpp
+JSGPUComputePipeline.cpp
+JSGPUComputePipelineDescriptor.cpp
+JSGPUCullMode.cpp
+JSGPUDepthStencilState.cpp
</ins><span class="cx"> JSGPUDevice.cpp
</span><span class="cx"> JSGPUDeviceDescriptor.cpp
</span><span class="cx"> JSGPUExtent3DDict.cpp
</span><span class="lines">@@ -3102,19 +3120,34 @@
</span><span class="cx"> JSGPUExternalTextureDescriptor.cpp
</span><span class="cx"> JSGPUFeatureName.cpp
</span><span class="cx"> JSGPUFilterMode.cpp
</span><ins>+JSGPUFragmentState.cpp
+JSGPUFrontFace.cpp
+JSGPUIndexFormat.cpp
</ins><span class="cx"> JSGPUMapMode.cpp
</span><ins>+JSGPUMultisampleState.cpp
</ins><span class="cx"> JSGPUObjectBase.cpp
</span><span class="cx"> JSGPUObjectDescriptorBase.cpp
</span><ins>+JSGPUPipelineBase.cpp
+JSGPUPipelineDescriptorBase.cpp
</ins><span class="cx"> JSGPUPipelineLayout.cpp
</span><span class="cx"> JSGPUPipelineLayoutDescriptor.cpp
</span><span class="cx"> JSGPUPowerPreference.cpp
</span><span class="cx"> JSGPUPredefinedColorSpace.cpp
</span><ins>+JSGPUPrimitiveState.cpp
+JSGPUPrimitiveTopology.cpp
+JSGPUProgrammableStage.cpp
+JSGPURenderPipeline.cpp
+JSGPURenderPipelineDescriptor.cpp
</ins><span class="cx"> JSGPURequestAdapterOptions.cpp
</span><span class="cx"> JSGPUSampler.cpp
</span><span class="cx"> JSGPUSamplerBindingLayout.cpp
</span><span class="cx"> JSGPUSamplerBindingType.cpp
</span><span class="cx"> JSGPUSamplerDescriptor.cpp
</span><ins>+JSGPUShaderModule.cpp
+JSGPUShaderModuleDescriptor.cpp
</ins><span class="cx"> JSGPUShaderStage.cpp
</span><ins>+JSGPUStencilFaceState.cpp
+JSGPUStencilOperation.cpp
</ins><span class="cx"> JSGPUStorageTextureAccess.cpp
</span><span class="cx"> JSGPUStorageTextureBindingLayout.cpp
</span><span class="cx"> JSGPUSupportedFeatures.cpp
</span><span class="lines">@@ -3130,6 +3163,11 @@
</span><span class="cx"> JSGPUTextureView.cpp
</span><span class="cx"> JSGPUTextureViewDescriptor.cpp
</span><span class="cx"> JSGPUTextureViewDimension.cpp
</span><ins>+JSGPUVertexAttribute.cpp
+JSGPUVertexBufferLayout.cpp
+JSGPUVertexFormat.cpp
+JSGPUVertexState.cpp
+JSGPUVertexStepMode.cpp
</ins><span class="cx"> JSGainNode.cpp
</span><span class="cx"> JSGainOptions.cpp
</span><span class="cx"> JSGamepad.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj   2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj      2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -7169,6 +7169,76 @@
</span><span class="cx">          1CA4FC892734FE170027FD5A /* GPUBindGroup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUBindGroup.cpp; sourceTree = "<group>"; };
</span><span class="cx">          1CA4FC8B2734FE350027FD5A /* GPUBindGroupLayout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUBindGroupLayout.cpp; sourceTree = "<group>"; };
</span><span class="cx">          1CA4FC8C2734FE520027FD5A /* GPUPipelineLayout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUPipelineLayout.cpp; sourceTree = "<group>"; };
</span><ins>+               1CA4FC9D27350CE20027FD5A /* GPUBlendOperation.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUBlendOperation.idl; sourceTree = "<group>"; };
+               1CA4FC9E27350CE30027FD5A /* GPUVertexState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUVertexState.h; sourceTree = "<group>"; };
+               1CA4FC9F27350CE30027FD5A /* GPUColorWrite.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUColorWrite.idl; sourceTree = "<group>"; };
+               1CA4FCA027350CE40027FD5A /* GPUBlendComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUBlendComponent.h; sourceTree = "<group>"; };
+               1CA4FCA127350CE40027FD5A /* GPUCompilationMessageType.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCompilationMessageType.idl; sourceTree = "<group>"; };
+               1CA4FCA227350CE40027FD5A /* GPUBlendState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUBlendState.h; sourceTree = "<group>"; };
+               1CA4FCA327350CE50027FD5A /* GPUCullMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCullMode.h; sourceTree = "<group>"; };
+               1CA4FCA427350CE50027FD5A /* GPUStencilOperation.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUStencilOperation.idl; sourceTree = "<group>"; };
+               1CA4FCA527350CE60027FD5A /* GPUShaderModule.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUShaderModule.cpp; sourceTree = "<group>"; };
+               1CA4FCA627350CE60027FD5A /* GPUColorWrite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUColorWrite.h; sourceTree = "<group>"; };
+               1CA4FCA727350CE60027FD5A /* GPUShaderModule.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUShaderModule.idl; sourceTree = "<group>"; };
+               1CA4FCA827350CE70027FD5A /* GPUIndexFormat.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUIndexFormat.idl; sourceTree = "<group>"; };
+               1CA4FCA927350CE70027FD5A /* GPUVertexBufferLayout.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUVertexBufferLayout.idl; sourceTree = "<group>"; };
+               1CA4FCAA27350CE70027FD5A /* GPUVertexBufferLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUVertexBufferLayout.h; sourceTree = "<group>"; };
+               1CA4FCAB27350CE80027FD5A /* GPUVertexAttribute.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUVertexAttribute.idl; sourceTree = "<group>"; };
+               1CA4FCAC27350CE80027FD5A /* GPUShaderModuleDescriptor.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUShaderModuleDescriptor.idl; sourceTree = "<group>"; };
+               1CA4FCAD27350CE90027FD5A /* GPUComputePipeline.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUComputePipeline.idl; sourceTree = "<group>"; };
+               1CA4FCAE27350CE90027FD5A /* GPUVertexState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUVertexState.idl; sourceTree = "<group>"; };
+               1CA4FCAF27350CE90027FD5A /* GPUComputePipeline.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUComputePipeline.h; sourceTree = "<group>"; };
+               1CA4FCB027350CEA0027FD5A /* GPUProgrammableStage.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUProgrammableStage.idl; sourceTree = "<group>"; };
+               1CA4FCB127350CEA0027FD5A /* GPUShaderModuleDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUShaderModuleDescriptor.h; sourceTree = "<group>"; };
+               1CA4FCB227350CEA0027FD5A /* GPUColorTargetState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUColorTargetState.h; sourceTree = "<group>"; };
+               1CA4FCB327350CEB0027FD5A /* GPUVertexStepMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUVertexStepMode.h; sourceTree = "<group>"; };
+               1CA4FCB427350CEB0027FD5A /* GPUComputePipelineDescriptor.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUComputePipelineDescriptor.idl; sourceTree = "<group>"; };
+               1CA4FCB527350CEC0027FD5A /* GPURenderPipeline.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPURenderPipeline.idl; sourceTree = "<group>"; };
+               1CA4FCB627350CEC0027FD5A /* GPUPipelineBase.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUPipelineBase.idl; sourceTree = "<group>"; };
+               1CA4FCB727350CEC0027FD5A /* GPUVertexFormat.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUVertexFormat.idl; sourceTree = "<group>"; };
+               1CA4FCB827350CED0027FD5A /* GPUPrimitiveTopology.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUPrimitiveTopology.idl; sourceTree = "<group>"; };
+               1CA4FCB927350CED0027FD5A /* GPUPipelineDescriptorBase.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUPipelineDescriptorBase.idl; sourceTree = "<group>"; };
+               1CA4FCBA27350CED0027FD5A /* GPUPrimitiveState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUPrimitiveState.idl; sourceTree = "<group>"; };
+               1CA4FCBB27350CEE0027FD5A /* GPUCompilationInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCompilationInfo.h; sourceTree = "<group>"; };
+               1CA4FCBC27350CEE0027FD5A /* GPUVertexAttribute.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUVertexAttribute.h; sourceTree = "<group>"; };
+               1CA4FCBD27350CEF0027FD5A /* GPUBlendState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUBlendState.idl; sourceTree = "<group>"; };
+               1CA4FCBE27350CEF0027FD5A /* GPUStencilOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUStencilOperation.h; sourceTree = "<group>"; };
+               1CA4FCBF27350CEF0027FD5A /* GPUCompilationInfo.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCompilationInfo.idl; sourceTree = "<group>"; };
+               1CA4FCC027350CF00027FD5A /* GPURenderPipeline.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPURenderPipeline.cpp; sourceTree = "<group>"; };
+               1CA4FCC127350CF00027FD5A /* GPUPrimitiveTopology.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUPrimitiveTopology.h; sourceTree = "<group>"; };
+               1CA4FCC227350CF10027FD5A /* GPUCompilationMessage.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCompilationMessage.idl; sourceTree = "<group>"; };
+               1CA4FCC327350CF10027FD5A /* GPUComputePipelineDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUComputePipelineDescriptor.h; sourceTree = "<group>"; };
+               1CA4FCC427350CF10027FD5A /* GPUPipelineDescriptorBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUPipelineDescriptorBase.h; sourceTree = "<group>"; };
+               1CA4FCC527350CF20027FD5A /* GPUMultisampleState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUMultisampleState.h; sourceTree = "<group>"; };
+               1CA4FCC627350CF20027FD5A /* GPURenderPipeline.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPURenderPipeline.h; sourceTree = "<group>"; };
+               1CA4FCC727350CF30027FD5A /* GPUPrimitiveState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUPrimitiveState.h; sourceTree = "<group>"; };
+               1CA4FCC827350CF30027FD5A /* GPURenderPipelineDescriptor.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPURenderPipelineDescriptor.idl; sourceTree = "<group>"; };
+               1CA4FCC927350CF30027FD5A /* GPURenderPipelineDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPURenderPipelineDescriptor.h; sourceTree = "<group>"; };
+               1CA4FCCA27350CF40027FD5A /* GPUStencilFaceState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUStencilFaceState.h; sourceTree = "<group>"; };
+               1CA4FCCB27350CF40027FD5A /* GPUVertexFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUVertexFormat.h; sourceTree = "<group>"; };
+               1CA4FCCC27350CF40027FD5A /* GPUVertexStepMode.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUVertexStepMode.idl; sourceTree = "<group>"; };
+               1CA4FCCD27350CF50027FD5A /* GPUBlendOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUBlendOperation.h; sourceTree = "<group>"; };
+               1CA4FCCE27350CF50027FD5A /* GPUCullMode.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUCullMode.idl; sourceTree = "<group>"; };
+               1CA4FCCF27350CF60027FD5A /* GPUColorTargetState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUColorTargetState.idl; sourceTree = "<group>"; };
+               1CA4FCD027350CF60027FD5A /* GPUBlendFactor.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUBlendFactor.idl; sourceTree = "<group>"; };
+               1CA4FCD127350CF70027FD5A /* GPUFragmentState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUFragmentState.h; sourceTree = "<group>"; };
+               1CA4FCD227350CF70027FD5A /* GPUMultisampleState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUMultisampleState.idl; sourceTree = "<group>"; };
+               1CA4FCD327350CF70027FD5A /* GPUCompilationMessageType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCompilationMessageType.h; sourceTree = "<group>"; };
+               1CA4FCD427350CF80027FD5A /* GPUDepthStencilState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUDepthStencilState.h; sourceTree = "<group>"; };
+               1CA4FCD527350CF80027FD5A /* GPUShaderModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUShaderModule.h; sourceTree = "<group>"; };
+               1CA4FCD627350CF90027FD5A /* GPUFrontFace.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUFrontFace.h; sourceTree = "<group>"; };
+               1CA4FCD727350CF90027FD5A /* GPUProgrammableStage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUProgrammableStage.h; sourceTree = "<group>"; };
+               1CA4FCD827350CF90027FD5A /* GPUComputePipeline.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUComputePipeline.cpp; sourceTree = "<group>"; };
+               1CA4FCD927350CFA0027FD5A /* GPUBlendFactor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUBlendFactor.h; sourceTree = "<group>"; };
+               1CA4FCDA27350CFA0027FD5A /* GPUFragmentState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUFragmentState.idl; sourceTree = "<group>"; };
+               1CA4FCDB27350CFA0027FD5A /* GPUCompilationMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUCompilationMessage.h; sourceTree = "<group>"; };
+               1CA4FCDC27350CFB0027FD5A /* GPUBlendComponent.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUBlendComponent.idl; sourceTree = "<group>"; };
+               1CA4FCDD27350CFB0027FD5A /* GPUDepthStencilState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUDepthStencilState.idl; sourceTree = "<group>"; };
+               1CA4FCDE27350CFC0027FD5A /* GPUIndexFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUIndexFormat.h; sourceTree = "<group>"; };
+               1CA4FCDF27350CFC0027FD5A /* GPUFrontFace.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUFrontFace.idl; sourceTree = "<group>"; };
+               1CA4FCE027350CFD0027FD5A /* GPUStencilFaceState.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUStencilFaceState.idl; sourceTree = "<group>"; };
+               1CA4FCE22735123A0027FD5A /* GPUCompilationInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUCompilationInfo.cpp; sourceTree = "<group>"; };
+               1CA4FCE4273512900027FD5A /* GPUCompilationMessage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GPUCompilationMessage.cpp; sourceTree = "<group>"; };
</ins><span class="cx">           1CAF347E0A6C405200ABE06E /* WebScriptObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptObject.h; sourceTree = "<group>"; };
</span><span class="cx">          1CAF347F0A6C405200ABE06E /* WebScriptObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebScriptObject.mm; sourceTree = "<group>"; };
</span><span class="cx">          1CAF34800A6C405200ABE06E /* WebScriptObjectPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptObjectPrivate.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -19210,6 +19280,14 @@
</span><span class="cx">                          1CA4FC752734F9F90027FD5A /* GPUBindGroupLayoutDescriptor.idl */,
</span><span class="cx">                          1CA4FC7B2734F9FB0027FD5A /* GPUBindGroupLayoutEntry.h */,
</span><span class="cx">                          1CA4FC832734F9FE0027FD5A /* GPUBindGroupLayoutEntry.idl */,
</span><ins>+                               1CA4FCA027350CE40027FD5A /* GPUBlendComponent.h */,
+                               1CA4FCDC27350CFB0027FD5A /* GPUBlendComponent.idl */,
+                               1CA4FCD927350CFA0027FD5A /* GPUBlendFactor.h */,
+                               1CA4FCD027350CF60027FD5A /* GPUBlendFactor.idl */,
+                               1CA4FCCD27350CF50027FD5A /* GPUBlendOperation.h */,
+                               1CA4FC9D27350CE20027FD5A /* GPUBlendOperation.idl */,
+                               1CA4FCA227350CE40027FD5A /* GPUBlendState.h */,
+                               1CA4FCBD27350CEF0027FD5A /* GPUBlendState.idl */,
</ins><span class="cx">                           1C8127882734C5F70068864F /* GPUBuffer.cpp */,
</span><span class="cx">                          1C81278B2734C5F80068864F /* GPUBuffer.h */,
</span><span class="cx">                          1C8127852734C5F60068864F /* GPUBuffer.idl */,
</span><span class="lines">@@ -19223,8 +19301,29 @@
</span><span class="cx">                          1C8127892734C5F70068864F /* GPUBufferDescriptor.idl */,
</span><span class="cx">                          1C8127832734C5F50068864F /* GPUBufferUsage.h */,
</span><span class="cx">                          1C8127862734C5F60068864F /* GPUBufferUsage.idl */,
</span><ins>+                               1CA4FCB227350CEA0027FD5A /* GPUColorTargetState.h */,
+                               1CA4FCCF27350CF60027FD5A /* GPUColorTargetState.idl */,
+                               1CA4FCA627350CE60027FD5A /* GPUColorWrite.h */,
+                               1CA4FC9F27350CE30027FD5A /* GPUColorWrite.idl */,
</ins><span class="cx">                           1CA4FC592734EBCD0027FD5A /* GPUCompareFunction.h */,
</span><span class="cx">                          1CA4FC5B2734EBCE0027FD5A /* GPUCompareFunction.idl */,
</span><ins>+                               1CA4FCE22735123A0027FD5A /* GPUCompilationInfo.cpp */,
+                               1CA4FCBB27350CEE0027FD5A /* GPUCompilationInfo.h */,
+                               1CA4FCBF27350CEF0027FD5A /* GPUCompilationInfo.idl */,
+                               1CA4FCE4273512900027FD5A /* GPUCompilationMessage.cpp */,
+                               1CA4FCDB27350CFA0027FD5A /* GPUCompilationMessage.h */,
+                               1CA4FCC227350CF10027FD5A /* GPUCompilationMessage.idl */,
+                               1CA4FCD327350CF70027FD5A /* GPUCompilationMessageType.h */,
+                               1CA4FCA127350CE40027FD5A /* GPUCompilationMessageType.idl */,
+                               1CA4FCD827350CF90027FD5A /* GPUComputePipeline.cpp */,
+                               1CA4FCAF27350CE90027FD5A /* GPUComputePipeline.h */,
+                               1CA4FCAD27350CE90027FD5A /* GPUComputePipeline.idl */,
+                               1CA4FCC327350CF10027FD5A /* GPUComputePipelineDescriptor.h */,
+                               1CA4FCB427350CEB0027FD5A /* GPUComputePipelineDescriptor.idl */,
+                               1CA4FCA327350CE50027FD5A /* GPUCullMode.h */,
+                               1CA4FCCE27350CF50027FD5A /* GPUCullMode.idl */,
+                               1CA4FCD427350CF80027FD5A /* GPUDepthStencilState.h */,
+                               1CA4FCDD27350CFB0027FD5A /* GPUDepthStencilState.idl */,
</ins><span class="cx">                           1C28957F272F43D800B3E2B4 /* GPUDevice.cpp */,
</span><span class="cx">                          1C289573272F338D00B3E2B4 /* GPUDevice.h */,
</span><span class="cx">                          1C28956E272F283800B3E2B4 /* GPUDevice.idl */,
</span><span class="lines">@@ -19243,12 +19342,23 @@
</span><span class="cx">                          1C28956D272F280800B3E2B4 /* GPUFeatureName.idl */,
</span><span class="cx">                          1CA4FC552734EBCB0027FD5A /* GPUFilterMode.h */,
</span><span class="cx">                          1CA4FC562734EBCC0027FD5A /* GPUFilterMode.idl */,
</span><ins>+                               1CA4FCD127350CF70027FD5A /* GPUFragmentState.h */,
+                               1CA4FCDA27350CFA0027FD5A /* GPUFragmentState.idl */,
+                               1CA4FCD627350CF90027FD5A /* GPUFrontFace.h */,
+                               1CA4FCDF27350CFC0027FD5A /* GPUFrontFace.idl */,
+                               1CA4FCDE27350CFC0027FD5A /* GPUIndexFormat.h */,
+                               1CA4FCA827350CE70027FD5A /* GPUIndexFormat.idl */,
</ins><span class="cx">                           1C8127872734C5F70068864F /* GPUIntegralTypes.h */,
</span><span class="cx">                          1C81278A2734C5F80068864F /* GPUMapMode.h */,
</span><span class="cx">                          1C81278D2734C5F90068864F /* GPUMapMode.idl */,
</span><ins>+                               1CA4FCC527350CF20027FD5A /* GPUMultisampleState.h */,
+                               1CA4FCD227350CF70027FD5A /* GPUMultisampleState.idl */,
</ins><span class="cx">                           1C28955E272E64A500B3E2B4 /* GPUObjectBase.idl */,
</span><span class="cx">                          1C289589272F5AC700B3E2B4 /* GPUObjectDescriptorBase.h */,
</span><span class="cx">                          1C28955F272E6A9200B3E2B4 /* GPUObjectDescriptorBase.idl */,
</span><ins>+                               1CA4FCB627350CEC0027FD5A /* GPUPipelineBase.idl */,
+                               1CA4FCC427350CF10027FD5A /* GPUPipelineDescriptorBase.h */,
+                               1CA4FCB927350CED0027FD5A /* GPUPipelineDescriptorBase.idl */,
</ins><span class="cx">                           1CA4FC8C2734FE520027FD5A /* GPUPipelineLayout.cpp */,
</span><span class="cx">                          1CA4FC7F2734F9FD0027FD5A /* GPUPipelineLayout.h */,
</span><span class="cx">                          1CA4FC6E2734F9F60027FD5A /* GPUPipelineLayout.idl */,
</span><span class="lines">@@ -19258,6 +19368,17 @@
</span><span class="cx">                          1C289569272F274700B3E2B4 /* GPUPowerPreference.idl */,
</span><span class="cx">                          1C28958B272F5AF500B3E2B4 /* GPUPredefinedColorSpace.h */,
</span><span class="cx">                          1C289566272F232600B3E2B4 /* GPUPredefinedColorSpace.idl */,
</span><ins>+                               1CA4FCC727350CF30027FD5A /* GPUPrimitiveState.h */,
+                               1CA4FCBA27350CED0027FD5A /* GPUPrimitiveState.idl */,
+                               1CA4FCC127350CF00027FD5A /* GPUPrimitiveTopology.h */,
+                               1CA4FCB827350CED0027FD5A /* GPUPrimitiveTopology.idl */,
+                               1CA4FCD727350CF90027FD5A /* GPUProgrammableStage.h */,
+                               1CA4FCB027350CEA0027FD5A /* GPUProgrammableStage.idl */,
+                               1CA4FCC027350CF00027FD5A /* GPURenderPipeline.cpp */,
+                               1CA4FCC627350CF20027FD5A /* GPURenderPipeline.h */,
+                               1CA4FCB527350CEC0027FD5A /* GPURenderPipeline.idl */,
+                               1CA4FCC927350CF30027FD5A /* GPURenderPipelineDescriptor.h */,
+                               1CA4FCC827350CF30027FD5A /* GPURenderPipelineDescriptor.idl */,
</ins><span class="cx">                           1C28957B272F3FBC00B3E2B4 /* GPURequestAdapterOptions.h */,
</span><span class="cx">                          1C289568272F272400B3E2B4 /* GPURequestAdapterOptions.idl */,
</span><span class="cx">                          1CA4FC5D2734EDFA0027FD5A /* GPUSampler.cpp */,
</span><span class="lines">@@ -19269,8 +19390,17 @@
</span><span class="cx">                          1CA4FC7C2734F9FC0027FD5A /* GPUSamplerBindingType.idl */,
</span><span class="cx">                          1CA4FC582734EBCD0027FD5A /* GPUSamplerDescriptor.h */,
</span><span class="cx">                          1CA4FC572734EBCC0027FD5A /* GPUSamplerDescriptor.idl */,
</span><ins>+                               1CA4FCA527350CE60027FD5A /* GPUShaderModule.cpp */,
+                               1CA4FCD527350CF80027FD5A /* GPUShaderModule.h */,
+                               1CA4FCA727350CE60027FD5A /* GPUShaderModule.idl */,
+                               1CA4FCB127350CEA0027FD5A /* GPUShaderModuleDescriptor.h */,
+                               1CA4FCAC27350CE80027FD5A /* GPUShaderModuleDescriptor.idl */,
</ins><span class="cx">                           1CA4FC6A2734F9F50027FD5A /* GPUShaderStage.h */,
</span><span class="cx">                          1CA4FC7D2734F9FC0027FD5A /* GPUShaderStage.idl */,
</span><ins>+                               1CA4FCCA27350CF40027FD5A /* GPUStencilFaceState.h */,
+                               1CA4FCE027350CFD0027FD5A /* GPUStencilFaceState.idl */,
+                               1CA4FCBE27350CEF0027FD5A /* GPUStencilOperation.h */,
+                               1CA4FCA427350CE50027FD5A /* GPUStencilOperation.idl */,
</ins><span class="cx">                           1CA4FC632734F9F20027FD5A /* GPUStorageTextureAccess.h */,
</span><span class="cx">                          1CA4FC722734F9F80027FD5A /* GPUStorageTextureAccess.idl */,
</span><span class="cx">                          1CA4FC6F2734F9F70027FD5A /* GPUStorageTextureBindingLayout.h */,
</span><span class="lines">@@ -19305,6 +19435,16 @@
</span><span class="cx">                          1C8127B22734D8A10068864F /* GPUTextureViewDescriptor.idl */,
</span><span class="cx">                          1C8127A62734D89C0068864F /* GPUTextureViewDimension.h */,
</span><span class="cx">                          1C8127AB2734D89E0068864F /* GPUTextureViewDimension.idl */,
</span><ins>+                               1CA4FCBC27350CEE0027FD5A /* GPUVertexAttribute.h */,
+                               1CA4FCAB27350CE80027FD5A /* GPUVertexAttribute.idl */,
+                               1CA4FCAA27350CE70027FD5A /* GPUVertexBufferLayout.h */,
+                               1CA4FCA927350CE70027FD5A /* GPUVertexBufferLayout.idl */,
+                               1CA4FCCB27350CF40027FD5A /* GPUVertexFormat.h */,
+                               1CA4FCB727350CEC0027FD5A /* GPUVertexFormat.idl */,
+                               1CA4FC9E27350CE30027FD5A /* GPUVertexState.h */,
+                               1CA4FCAE27350CE90027FD5A /* GPUVertexState.idl */,
+                               1CA4FCB327350CEB0027FD5A /* GPUVertexStepMode.h */,
+                               1CA4FCCC27350CF40027FD5A /* GPUVertexStepMode.idl */,
</ins><span class="cx">                           1C28956A272F277E00B3E2B4 /* NavigatorGPU.idl */,
</span><span class="cx">                  );
</span><span class="cx">                  path = WebGPU;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsWebCoreBuiltinNamesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h (285380 => 285381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h   2021-11-06 22:16:45 UTC (rev 285380)
+++ trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h      2021-11-06 22:38:19 UTC (rev 285381)
</span><span class="lines">@@ -132,11 +132,17 @@
</span><span class="cx">     macro(GPUBindGroupLayout) \
</span><span class="cx">     macro(GPUBuffer) \
</span><span class="cx">     macro(GPUBufferUsage) \
</span><ins>+    macro(GPUColorWrite) \
+    macro(GPUCompilationInfo) \
+    macro(GPUCompilationMessage) \
+    macro(GPUComputePipeline) \
</ins><span class="cx">     macro(GPUDevice) \
</span><span class="cx">     macro(GPUExternalTexture) \
</span><span class="cx">     macro(GPUMapMode) \
</span><span class="cx">     macro(GPUPipelineLayout) \
</span><ins>+    macro(GPURenderPipeline) \
</ins><span class="cx">     macro(GPUSampler) \
</span><ins>+    macro(GPUShaderModule) \
</ins><span class="cx">     macro(GPUShaderStage) \
</span><span class="cx">     macro(GPUSupportedFeatures) \
</span><span class="cx">     macro(GPUSupportedLimits) \
</span></span></pre>
</div>
</div>

</body>
</html>