Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 98bebfefcf9271c90f28480c98c936a7b2f58e04
https://github.com/WebKit/WebKit/commit/98bebfefcf9271c90f28480c98c936a7b2f58e04
Author: Tadeu Zagallo <[email protected]>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M
LayoutTests/http/tests/webgpu/webgpu/api/operation/compute_pipeline/overrides-expected.txt
M
LayoutTests/http/tests/webgpu/webgpu/shader/execution/shader_io/workgroup_size-expected.txt
M
LayoutTests/http/tests/webgpu/webgpu/shader/validation/expression/binary/short_circuiting_and_or-expected.txt
M
LayoutTests/http/tests/webgpu/webgpu/shader/validation/shader_io/workgroup_size-expected.txt
M Source/WebGPU/SaferCPPExpectations/ForwardDeclCheckerExpectations
M Source/WebGPU/WGSL/AST/ASTBinaryExpression.h
M Source/WebGPU/WGSL/AST/ASTCallExpression.h
M Source/WebGPU/WGSL/AST/ASTFieldAccessExpression.h
M Source/WebGPU/WGSL/AST/ASTIndexAccessExpression.h
M Source/WebGPU/WGSL/AST/ASTUnaryExpression.h
M Source/WebGPU/WGSL/AttributeValidator.cpp
M Source/WebGPU/WGSL/BoundsCheck.cpp
M Source/WebGPU/WGSL/ConstantFunctions.h
M Source/WebGPU/WGSL/ConstantValue.cpp
M Source/WebGPU/WGSL/ConstantValue.h
M Source/WebGPU/WGSL/TypeCheck.cpp
M Source/WebGPU/WGSL/Types.h
M Source/WebGPU/WGSL/WGSL.cpp
M Source/WebGPU/WGSL/WGSL.h
M Source/WebGPU/WGSL/WGSLShaderModule.cpp
M Source/WebGPU/WGSL/WGSLShaderModule.h
M Source/WebGPU/WGSL/generator/main.rb
M Source/WebGPU/WGSL/wgslc.cpp
M Source/WebGPU/WebGPU.xcodeproj/project.pbxproj
M Source/WebGPU/WebGPU/ComputePipeline.mm
M Source/WebGPU/WebGPU/Pipeline.mm
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/Tests/WGSL/MetalCompilationTests.mm
M Tools/TestWebKitAPI/Tests/WGSL/TestWGSLAPI.h
A Tools/TestWebKitAPI/Tests/WGSL/shaders/override-complex-expression.wgsl
Log Message:
-----------
[WGSL] api,operation,compute_pipeline,overrides:computed:* does not pass
https://bugs.webkit.org/show_bug.cgi?id=275010
rdar://129090786
Reviewed by Mike Wyrzykowski.
Add support for override expressions, including:
- Add support for evaluating calls, binary and unary expressions, member and
index access
to the current evaluator
- Move the logic for evaluating and mangling names of overrides into WGSL
instead of
duplicating it across the WebGPU API and wgslc
- Fix the order in which overrides are evaluated: previously they were
evaluated in the
order they were marked used, but it should be in the order that they are
defined (since
that is already ordered by the compiler so that uses come after defs)
*
LayoutTests/http/tests/webgpu/webgpu/api/operation/compute_pipeline/overrides-expected.txt:
* Source/WebGPU/WGSL/AST/ASTBinaryExpression.h:
(WGSL::AST::BinaryExpression::leftExpression const):
(WGSL::AST::BinaryExpression::rightExpression const):
* Source/WebGPU/WGSL/AST/ASTUnaryExpression.h:
* Source/WebGPU/WGSL/ConstantFunctions.h:
(WGSL::zeroValue):
(WGSL::constantUnaryOperation):
(WGSL::constantBinaryOperation):
(WGSL::constantTernaryOperation):
(WGSL::convertValue):
(WGSL::constantConstructor):
(WGSL::scalarOrVector):
(WGSL::constantVector):
(WGSL::constantMatrix):
(WGSL::containsZero):
* Source/WebGPU/WGSL/TypeCheck.cpp:
* Source/WebGPU/WGSL/WGSL.cpp:
(WGSL::evaluate):
* Source/WebGPU/WGSL/WGSL.h:
* Source/WebGPU/WGSL/WGSLShaderModule.cpp:
(WGSL::ShaderModule::validateOverrides):
(WGSL::ShaderModule::initializeOverloads):
(WGSL::ShaderModule::lookupOverload):
* Source/WebGPU/WGSL/WGSLShaderModule.h:
(WGSL::ShaderModule::ShaderModule):
* Source/WebGPU/WGSL/generator/main.rb:
* Source/WebGPU/WGSL/wgslc.cpp:
(runWGSL):
* Source/WebGPU/WebGPU.xcodeproj/project.pbxproj:
* Source/WebGPU/WebGPU/ComputePipeline.mm:
(WebGPU::metalSize):
* Source/WebGPU/WebGPU/Pipeline.mm:
(WebGPU::createLibrary):
Canonical link: https://commits.webkit.org/306328@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications