[webkit-changes] [WebKit/WebKit] 06afe2: [WGSL] Add missing constant functions

Tadeu Zagallo noreply at github.com
Tue Oct 24 11:05:09 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 06afe2c12fbd458661d408321362569e0e327611
      https://github.com/WebKit/WebKit/commit/06afe2c12fbd458661d408321362569e0e327611
  Author: Tadeu Zagallo <tzagallo at apple.com>
  Date:   2023-10-24 (Tue, 24 Oct 2023)

  Changed paths:
    M Source/WebGPU/WGSL/ConstantFunctions.h
    M Source/WebGPU/WGSL/ConstantValue.h
    M Source/WebGPU/WGSL/TypeDeclarations.rb
    M Source/WebGPU/WGSL/generator/main.rb
    M Source/WebGPU/WGSL/tests/valid/overload.wgsl

  Log Message:
  -----------
  [WGSL] Add missing constant functions
https://bugs.webkit.org/show_bug.cgi?id=263554
rdar://117371037

Reviewed by Mike Wyrzykowski.

Finish implementing constant functions for (nearly) all type declarations. This
just leaves functions that operate on matrices and functions that return structs
(e.g. modf), which are both currently unsupported.

* Source/WebGPU/WGSL/ConstantFunctions.h:
(WGSL::constantUnaryOperation):
(WGSL::constantBinaryOperation):
(WGSL::constantTernaryOperation):
(WGSL::constantConstructor):
(WGSL::constantVector):
(WGSL::constantMatrix):
(WGSL::constantAdd):
(WGSL::constantMinus):
(WGSL::constantMultiply):
(WGSL::BINARY_OPERATION):
(WGSL::UNARY_OPERATION):
(WGSL::constantBitwiseOr):
(WGSL::constantBitwiseAnd):
(WGSL::constantVec2):
(WGSL::constantVec3):
(WGSL::constantVec4):
(WGSL::constantAll):
(WGSL::constantAny):
(WGSL::constantSelect):
(WGSL::TERNARY_OPERATION):
(WGSL::constantCross):
(WGSL::constantDeterminant):
(WGSL::constantDistance):
(WGSL::constantDot):
(WGSL::constantLength):
(WGSL::constantFaceForward):
(WGSL::constantFma):
(WGSL::constantFract):
(WGSL::constantFrexp):
(WGSL::constantInsertBits):
(WGSL::constantInverseSqrt):
(WGSL::constantLdexp):
(WGSL::constantModf):
(WGSL::constantNormalize):
(WGSL::constantQuantizeToF16):
(WGSL::constantReflect):
(WGSL::constantRefract):
(WGSL::constantTranspose):
(WGSL::constantPow): Deleted.
(WGSL::constantDivide): Deleted.
(WGSL::constantEqual): Deleted.
(WGSL::constantNotEqual): Deleted.
(WGSL::constantLt): Deleted.
(WGSL::constantLtEq): Deleted.
(WGSL::constantGt): Deleted.
(WGSL::constantGtEq): Deleted.
(WGSL::constantNot): Deleted.
(WGSL::constantOr): Deleted.
(WGSL::constantAnd): Deleted.
(WGSL::constantBitwiseNot): Deleted.
(WGSL::constantBitwiseXor): Deleted.
(WGSL::constantBitwiseShiftLeft): Deleted.
(WGSL::constantBitwiseShiftRight): Deleted.
(WGSL::constantBool): Deleted.
(WGSL::constantI32): Deleted.
(WGSL::constantU32): Deleted.
(WGSL::constantF32): Deleted.
* Source/WebGPU/WGSL/ConstantValue.h:
(WGSL::ConstantValue::isVector const):
(WGSL::ConstantValue::toVector const):
* Source/WebGPU/WGSL/TypeDeclarations.rb:
* Source/WebGPU/WGSL/generator/main.rb:

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




More information about the webkit-changes mailing list