Unreviewed, rolling out r250114.
[WebKit-https.git] / Source / WebCore / Modules / webgpu / WebGPUDevice.cpp
index a7a491c..5ebf083 100644 (file)
 #include "GPUBufferBinding.h"
 #include "GPUBufferDescriptor.h"
 #include "GPUCommandBuffer.h"
-#include "GPUComputePipeline.h"
 #include "GPUComputePipelineDescriptor.h"
 #include "GPUProgrammableStageDescriptor.h"
-#include "GPURenderPipeline.h"
 #include "GPURenderPipelineDescriptor.h"
 #include "GPUSampler.h"
 #include "GPUSamplerDescriptor.h"
@@ -207,47 +205,31 @@ Ref<WebGPUShaderModule> WebGPUDevice::createShaderModule(const WebGPUShaderModul
 {
     // FIXME: What can be validated here?
     auto module = m_device->tryCreateShaderModule(GPUShaderModuleDescriptor { descriptor.code });
-    return WebGPUShaderModule::create(WTFMove(module), descriptor.code);
+    return WebGPUShaderModule::create(WTFMove(module));
 }
 
-Ref<WebGPURenderPipeline> WebGPUDevice::createRenderPipeline(const WebGPURenderPipelineDescriptor& descriptor)
+Ref<WebGPURenderPipeline> WebGPUDevice::createRenderPipeline(const WebGPURenderPipelineDescriptor& descriptor) const
 {
     m_errorScopes->setErrorPrefix("GPUDevice.createRenderPipeline(): ");
 
     auto gpuDescriptor = descriptor.tryCreateGPURenderPipelineDescriptor(m_errorScopes);
     if (!gpuDescriptor)
-        return WebGPURenderPipeline::create(*this, nullptr, m_errorScopes, WTF::nullopt, WTF::nullopt);
+        return WebGPURenderPipeline::create(nullptr, m_errorScopes);
 
-    auto gpuPipeline = m_device->tryCreateRenderPipeline(*gpuDescriptor, m_errorScopes);
-
-    WebGPUPipeline::ShaderData vertexShader = { descriptor.vertexStage.module, descriptor.vertexStage.entryPoint };
-
-    Optional<WebGPUPipeline::ShaderData> fragmentShader;
-    if (descriptor.fragmentStage)
-        fragmentShader = { { descriptor.fragmentStage.value().module, descriptor.fragmentStage.value().entryPoint } };
-
-    auto webGPUPipeline = WebGPURenderPipeline::create(*this, WTFMove(gpuPipeline), m_errorScopes, vertexShader, fragmentShader);
-    if (webGPUPipeline->isValid())
-        InspectorInstrumentation::didCreateWebGPUPipeline(*this, webGPUPipeline.get());
-    return webGPUPipeline;
+    auto pipeline = m_device->tryCreateRenderPipeline(*gpuDescriptor, m_errorScopes);
+    return WebGPURenderPipeline::create(WTFMove(pipeline), m_errorScopes);
 }
 
-Ref<WebGPUComputePipeline> WebGPUDevice::createComputePipeline(const WebGPUComputePipelineDescriptor& descriptor)
+Ref<WebGPUComputePipeline> WebGPUDevice::createComputePipeline(const WebGPUComputePipelineDescriptor& descriptor) const
 {
     m_errorScopes->setErrorPrefix("GPUDevice.createComputePipeline(): ");
 
     auto gpuDescriptor = descriptor.tryCreateGPUComputePipelineDescriptor(m_errorScopes);
     if (!gpuDescriptor)
-        return WebGPUComputePipeline::create(*this, nullptr, m_errorScopes, WTF::nullopt);
-
-    auto gpuPipeline = m_device->tryCreateComputePipeline(*gpuDescriptor, m_errorScopes);
-
-    WebGPUPipeline::ShaderData computeShader = { descriptor.computeStage.module, descriptor.computeStage.entryPoint };
+        return WebGPUComputePipeline::create(nullptr, m_errorScopes);
 
-    auto webGPUPipeline = WebGPUComputePipeline::create(*this, WTFMove(gpuPipeline), m_errorScopes, computeShader);
-    if (webGPUPipeline->isValid())
-        InspectorInstrumentation::didCreateWebGPUPipeline(*this, webGPUPipeline.get());
-    return webGPUPipeline;
+    auto pipeline = m_device->tryCreateComputePipeline(*gpuDescriptor, m_errorScopes);
+    return WebGPUComputePipeline::create(WTFMove(pipeline), m_errorScopes);
 }
 
 Ref<WebGPUCommandEncoder> WebGPUDevice::createCommandEncoder() const