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

Reply via email to