[WebGPU] Flesh out WebGPURenderPassDescriptor to match the WebGPU IDL
authorjustin_fan@apple.com <justin_fan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Nov 2018 18:14:52 +0000 (18:14 +0000)
committerjustin_fan@apple.com <justin_fan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 30 Nov 2018 18:14:52 +0000 (18:14 +0000)
commit063fd2a7159c93bbea4bd091d532191577915703
treeffb66ad5927b9f1adac082a24f83567ca41b036a
parent1ceb63c68686228337f5f03bcfa3f0befa3a5095
[WebGPU] Flesh out WebGPURenderPassDescriptor to match the WebGPU IDL
https://bugs.webkit.org/show_bug.cgi?id=192213

Reviewed by Dean Jackson.

Source/WebCore:

WebGPU prototype now uses WebGPURenderPassColorAttachmentDescriptor in WebGPURenderPassDescriptor to match the WebGPU Sketch.
WebGPU developer can now also set the clearColor in WebGPURenderPassDescriptor.

No new tests. Older WebGPURenderPass* tests updated.

* CMakeLists.txt:
* DerivedSources.make:
* Modules/webgpu/WebGPUColor.h: Added. Typedef'd to GPUColor.h.
* Modules/webgpu/WebGPUColor.idl: Added.
* Modules/webgpu/WebGPUCommandBuffer.cpp:
(WebCore::WebGPUCommandBuffer::beginRenderPass): Updated to error check and support the new structure of WebGPURenderPassDescriptor.
* Modules/webgpu/WebGPURenderPassColorAttachmentDescriptor.h: Added.
* Modules/webgpu/WebGPURenderPassColorAttachmentDescriptor.idl: Added.
* Modules/webgpu/WebGPURenderPassDescriptor.h:
* Modules/webgpu/WebGPURenderPassDescriptor.idl: Updated to match the sketch IDL.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/gpu/GPUColor.h: Added.
* platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.h: Added. Backing struct for WebGPU__.
* platform/graphics/gpu/GPURenderPassDescriptor.h: Updated to match new WebGPURenderPassDescriptor.
* platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::GPURenderPassEncoder::create): Now also uses clearColor set by developer.

LayoutTests:

Updating some tests to match the updated WebGPURenderPassDescriptor.

* webgpu/js/basic-webgpu-functions.js:
(render):
* webgpu/render-command-encoding.html:
* webgpu/render-passes.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
22 files changed:
LayoutTests/ChangeLog
LayoutTests/webgpu/js/basic-webgpu-functions.js
LayoutTests/webgpu/render-command-encoding.html
LayoutTests/webgpu/render-passes.html
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.make
Source/WebCore/Modules/webgpu/WebGPUColor.h [new file with mode: 0644]
Source/WebCore/Modules/webgpu/WebGPUColor.idl [new file with mode: 0644]
Source/WebCore/Modules/webgpu/WebGPUCommandBuffer.cpp
Source/WebCore/Modules/webgpu/WebGPURenderPassColorAttachmentDescriptor.h [new file with mode: 0644]
Source/WebCore/Modules/webgpu/WebGPURenderPassColorAttachmentDescriptor.idl [new file with mode: 0644]
Source/WebCore/Modules/webgpu/WebGPURenderPassDescriptor.h
Source/WebCore/Modules/webgpu/WebGPURenderPassDescriptor.idl
Source/WebCore/Modules/webgpu/WebGPUTexture.cpp
Source/WebCore/Modules/webgpu/WebGPUTexture.h
Source/WebCore/Sources.txt
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/platform/graphics/gpu/GPUColor.h [new file with mode: 0644]
Source/WebCore/platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.h [new file with mode: 0644]
Source/WebCore/platform/graphics/gpu/GPURenderPassDescriptor.h
Source/WebCore/platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm