[webkit-changes] [WebKit/WebKit] b797ea: [WebGPU] validation, render_pipeline, depth_stencil_...

mwyrzykowski noreply at github.com
Tue Jan 2 00:13:07 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b797eac1acaed39f61c85a265b96d12fd3a813d5
      https://github.com/WebKit/WebKit/commit/b797eac1acaed39f61c85a265b96d12fd3a813d5
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2024-01-02 (Tue, 02 Jan 2024)

  Changed paths:
    M LayoutTests/http/tests/webgpu/webgpu/api/validation/render_pipeline/depth_stencil_state-expected.txt
    M LayoutTests/http/tests/webgpu/webgpu/api/validation/render_pipeline/depth_stencil_state.spec.js
    M Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h
    M Source/WebCore/Modules/WebGPU/GPUDepthStencilState.idl
    M Source/WebCore/Modules/WebGPU/GPUInternalError.h
    M Source/WebCore/Modules/WebGPU/GPUInternalError.idl
    M Source/WebCore/Modules/WebGPU/GPUPipelineError.h
    M Source/WebCore/Modules/WebGPU/GPUPipelineError.idl
    M Source/WebCore/Modules/WebGPU/GPUValidationError.h
    M Source/WebCore/Modules/WebGPU/GPUValidationError.idl
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUDeviceImpl.cpp
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUDepthStencilState.h
    M Source/WebGPU/WGSL/Parser.cpp
    M Source/WebGPU/WGSL/WGSLShaderModule.h
    M Source/WebGPU/WebGPU/RenderPipeline.mm
    M Source/WebGPU/WebGPU/Texture.h
    M Source/WebGPU/WebGPU/Texture.mm
    M Source/WebGPU/WebGPU/WebGPU.h
    M Source/WebKit/Shared/WebGPU/WebGPUDepthStencilState.h
    M Source/WebKit/Shared/WebGPU/WebGPUDepthStencilState.serialization.in

  Log Message:
  -----------
  [WebGPU] validation,render_pipeline,depth_stencil_state:* is failing
https://bugs.webkit.org/show_bug.cgi?id=266668
<radar://119898641>

Reviewed by Tadeu Zagallo.

Add validation for the RenderPipeline. CTS test validation/render_pipeline/depth_stencil_state is
now passing after this change.

* LayoutTests/http/tests/webgpu/webgpu/api/validation/render_pipeline/depth_stencil_state-expected.txt:
Add passing expectations.

* LayoutTests/http/tests/webgpu/webgpu/api/validation/render_pipeline/depth_stencil_state.spec.js:
Update to latest version of this test.

* Source/WebCore/Modules/WebGPU/GPUDepthStencilState.h:
(WebCore::GPUDepthStencilState::convertToBacking const):

* Source/WebCore/Modules/WebGPU/GPUDepthStencilState.idl:
depthCompare and depthWriteEnabled are now optional.

* Source/WebCore/Modules/WebGPU/GPUInternalError.h:
(WebCore::GPUInternalError::stack const):
* Source/WebCore/Modules/WebGPU/GPUInternalError.idl:
* Source/WebCore/Modules/WebGPU/GPUPipelineError.h:
* Source/WebCore/Modules/WebGPU/GPUPipelineError.idl:
* Source/WebCore/Modules/WebGPU/GPUValidationError.h:
(WebCore::GPUValidationError::stack const):
* Source/WebCore/Modules/WebGPU/GPUValidationError.idl:
Workaround lack of stack property until https://github.com/gpuweb/cts/issues/3222
is addressed as it causes too many false failures in the live version
of the CTS.

* Source/WebCore/Modules/WebGPU/Implementation/WebGPUDeviceImpl.cpp:
(WebCore::WebGPU::convertToBacking):
* Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUDepthStencilState.h:
* Source/WebGPU/WGSL/Parser.cpp:
(WGSL::Parser<Lexer>::parseAttribute):
* Source/WebGPU/WGSL/WGSLShaderModule.h:
(WGSL::ShaderModule::usesFragDepth const):
(WGSL::ShaderModule::setUsesFragDepth):
* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::returnInvalidRenderPipeline):
(WebGPU::name):
(WebGPU::errorValidatingDepthStencilState):
(WebGPU::Device::createRenderPipeline):
* Source/WebGPU/WebGPU/Texture.h:
* Source/WebGPU/WebGPU/Texture.mm:
(WebGPU::Texture::isRenderableFormat):
(WebGPU::Texture::supportsMultisampling):
(WebGPU::Texture::supportsBlending):
(WebGPU::Device::errorValidatingTextureCreation):
(WebGPU::isRenderableFormat): Deleted.
(WebGPU::supportsMultisampling): Deleted.
* Source/WebGPU/WebGPU/WebGPU.h:
* Source/WebKit/Shared/WebGPU/WebGPUDepthStencilState.h:
* Source/WebKit/Shared/WebGPU/WebGPUDepthStencilState.serialization.in:
Implement validation in render pipeline creation.

Canonical link: https://commits.webkit.org/272562@main




More information about the webkit-changes mailing list