Source/WebCore:
authorjustin_fan@apple.com <justin_fan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Apr 2019 22:42:36 +0000 (22:42 +0000)
committerjustin_fan@apple.com <justin_fan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Apr 2019 22:42:36 +0000 (22:42 +0000)
commit4d080c0b7e511e719b7c2a1781b4b49054c20c19
tree7d0a764fe431d02c852452ab8446f0e59cf79435
parent386f8b87cfa384791aa46775596cc6de8d3536d3
Source/WebCore:
[Web GPU] Implement API default values
https://bugs.webkit.org/show_bug.cgi?id=197032

Reviewed by Myles C. Maxfield.

Add default values and 'required' qualifiers recently merged to the WebGPU API.

WebGPU tests specifying these default values have been updated to rely on them for functionality.

* Modules/webgpu/GPUBindGroupLayoutBinding.idl:
* Modules/webgpu/GPUBindGroupLayoutDescriptor.idl:
* Modules/webgpu/GPUBlendDescriptor.idl:
* Modules/webgpu/GPUBufferDescriptor.idl:
* Modules/webgpu/GPUColor.idl:
* Modules/webgpu/GPUColorStateDescriptor.idl:
* Modules/webgpu/GPUDepthStencilStateDescriptor.idl:
* Modules/webgpu/GPUExtent3D.idl:
* Modules/webgpu/GPUInputStateDescriptor.idl:
* Modules/webgpu/GPUOrigin3D.h:
* Modules/webgpu/GPUOrigin3D.idl:
* Modules/webgpu/GPURequestAdapterOptions.idl:
* Modules/webgpu/GPUTextureDescriptor.idl:
* Modules/webgpu/GPUVertexAttributeDescriptor.idl:
* Modules/webgpu/GPUVertexInputDescriptor.idl:
* Modules/webgpu/WebGPUBindGroupBinding.idl:
* Modules/webgpu/WebGPUBindGroupDescriptor.idl:
* Modules/webgpu/WebGPUBufferBinding.h:
* Modules/webgpu/WebGPUBufferBinding.idl:
* Modules/webgpu/WebGPUCommandEncoder.idl:
* Modules/webgpu/WebGPUPipelineDescriptorBase.idl:
* Modules/webgpu/WebGPUPipelineLayoutDescriptor.idl:
* Modules/webgpu/WebGPUPipelineStageDescriptor.idl:
* Modules/webgpu/WebGPURenderPassDescriptor.idl:
* Modules/webgpu/WebGPURenderPipelineDescriptor.cpp:
(WebCore::WebGPURenderPipelineDescriptor::tryCreateGPURenderPipelineDescriptor const):
* Modules/webgpu/WebGPURenderPipelineDescriptor.h:
* Modules/webgpu/WebGPURenderPipelineDescriptor.idl:
* Modules/webgpu/WebGPUShaderModuleDescriptor.idl:
* platform/graphics/gpu/GPUBlendDescriptor.h:
* platform/graphics/gpu/GPUColorStateDescriptor.h:
* platform/graphics/gpu/GPUCommandBuffer.h:
* platform/graphics/gpu/GPUDepthStencilStateDescriptor.h:
* platform/graphics/gpu/GPURenderPassDescriptor.h:
* platform/graphics/gpu/GPURenderPipelineDescriptor.h:
(WebCore::GPURenderPipelineDescriptor::GPURenderPipelineDescriptor):
* platform/graphics/gpu/GPURequestAdapterOptions.h:
* platform/graphics/gpu/GPUTextureDescriptor.h:
* platform/graphics/gpu/GPUVertexAttributeDescriptor.h:
* platform/graphics/gpu/GPUVertexInputDescriptor.h:
* platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:
(WebCore::convertRenderPipelineDescriptor):
(WebCore::trySetFunctionsForPipelineDescriptor):

LayoutTests:
[WebGPU] Implement API default values
https://bugs.webkit.org/show_bug.cgi?id=197032

Reviewed by Myles C. Maxfield.

Update WebGPU tests to use default values wherever applicable.

* webgpu/bind-groups.html:
* webgpu/blend-triangle-strip.html:
* webgpu/blit-commands.html:
* webgpu/buffer-command-buffer-races.html:
* webgpu/buffer-resource-triangles.html:
* webgpu/color-write-mask-triangle-strip.html:
* webgpu/compute-squares.html:
* webgpu/depth-enabled-triangle-strip.html:
* webgpu/draw-indexed-triangles.html:
* webgpu/js/webgpu-functions.js:
(createBasicDepthTexture):
* webgpu/texture-triangle-strip.html:
* webgpu/textures-textureviews.html:
* webgpu/vertex-buffer-triangle-strip.html:
* webgpu/whlsl.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
48 files changed:
LayoutTests/ChangeLog
LayoutTests/webgpu/bind-groups.html
LayoutTests/webgpu/blend-triangle-strip.html
LayoutTests/webgpu/blit-commands.html
LayoutTests/webgpu/buffer-command-buffer-races.html
LayoutTests/webgpu/buffer-resource-triangles.html
LayoutTests/webgpu/color-write-mask-triangle-strip.html
LayoutTests/webgpu/compute-squares.html
LayoutTests/webgpu/depth-enabled-triangle-strip.html
LayoutTests/webgpu/draw-indexed-triangles.html
LayoutTests/webgpu/js/webgpu-functions.js
LayoutTests/webgpu/texture-triangle-strip.html
LayoutTests/webgpu/textures-textureviews.html
LayoutTests/webgpu/vertex-buffer-triangle-strip.html
LayoutTests/webgpu/whlsl.html
Source/WebCore/ChangeLog
Source/WebCore/Modules/webgpu/GPUBindGroupLayoutBinding.idl
Source/WebCore/Modules/webgpu/GPUBindGroupLayoutDescriptor.idl
Source/WebCore/Modules/webgpu/GPUBlendDescriptor.idl
Source/WebCore/Modules/webgpu/GPUBufferDescriptor.idl
Source/WebCore/Modules/webgpu/GPUColor.idl
Source/WebCore/Modules/webgpu/GPUColorStateDescriptor.idl
Source/WebCore/Modules/webgpu/GPUDepthStencilStateDescriptor.idl
Source/WebCore/Modules/webgpu/GPUExtent3D.idl
Source/WebCore/Modules/webgpu/GPUInputStateDescriptor.idl
Source/WebCore/Modules/webgpu/GPUOrigin3D.h
Source/WebCore/Modules/webgpu/GPUOrigin3D.idl
Source/WebCore/Modules/webgpu/GPURequestAdapterOptions.idl
Source/WebCore/Modules/webgpu/GPUTextureDescriptor.idl
Source/WebCore/Modules/webgpu/GPUVertexAttributeDescriptor.idl
Source/WebCore/Modules/webgpu/GPUVertexInputDescriptor.idl
Source/WebCore/Modules/webgpu/WebGPUBindGroupBinding.idl
Source/WebCore/Modules/webgpu/WebGPUBindGroupDescriptor.idl
Source/WebCore/Modules/webgpu/WebGPUBufferBinding.idl
Source/WebCore/Modules/webgpu/WebGPUCommandEncoder.idl
Source/WebCore/Modules/webgpu/WebGPUPipelineDescriptorBase.idl
Source/WebCore/Modules/webgpu/WebGPUPipelineLayoutDescriptor.idl
Source/WebCore/Modules/webgpu/WebGPUPipelineStageDescriptor.idl
Source/WebCore/Modules/webgpu/WebGPURenderPassDescriptor.idl
Source/WebCore/Modules/webgpu/WebGPURenderPipelineDescriptor.cpp
Source/WebCore/Modules/webgpu/WebGPURenderPipelineDescriptor.h
Source/WebCore/Modules/webgpu/WebGPURenderPipelineDescriptor.idl
Source/WebCore/Modules/webgpu/WebGPUShaderModuleDescriptor.idl
Source/WebCore/platform/graphics/gpu/GPUColorStateDescriptor.h
Source/WebCore/platform/graphics/gpu/GPURenderPassDescriptor.h
Source/WebCore/platform/graphics/gpu/GPURenderPipelineDescriptor.h
Source/WebCore/platform/graphics/gpu/GPURequestAdapterOptions.h
Source/WebCore/platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm