Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2e8170d57461f680582c1fc20a7c4d5b759bbb5d
      
https://github.com/WebKit/WebKit/commit/2e8170d57461f680582c1fc20a7c4d5b759bbb5d
  Author: Tadeu Zagallo <[email protected]>
  Date:   2023-06-01 (Thu, 01 Jun 2023)

  Changed paths:
    M Source/WebGPU/WGSL/Constraints.cpp
    M Source/WebGPU/WGSL/Constraints.h
    M Source/WebGPU/WGSL/EntryPointRewriter.cpp
    M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
    M Source/WebGPU/WGSL/Overload.cpp
    M Source/WebGPU/WGSL/Overload.h
    M Source/WebGPU/WGSL/TypeCheck.cpp
    M Source/WebGPU/WGSL/TypeStore.cpp
    M Source/WebGPU/WGSL/TypeStore.h
    M Source/WebGPU/WGSL/Types.cpp
    M Source/WebGPU/WGSL/Types.h

  Log Message:
  -----------
  [WGSL] Make all types constant
https://bugs.webkit.org/show_bug.cgi?id=257556
rdar://110075257

Reviewed by Myles C. Maxfield.

Types are immutable, just change the API to reflect it. The one exception, which
is documented in the TypeChecker, is that we have to insert fields of struct 
types
after creation. Given it's such a small exception, we just const_cast in that 
one
case and use const types everywhere else.

* Source/WebGPU/WGSL/Constraints.cpp:
(WGSL::satisfyOrPromote):
* Source/WebGPU/WGSL/Constraints.h:
* Source/WebGPU/WGSL/EntryPointRewriter.cpp:
* Source/WebGPU/WGSL/GlobalVariableRewriter.cpp:
* Source/WebGPU/WGSL/Overload.cpp:
(WGSL::OverloadResolver::OverloadResolver):
(WGSL::OverloadResolver::materialize const):
(WGSL::OverloadResolver::considerCandidate):
(WGSL::OverloadResolver::calculateRank):
(WGSL::OverloadResolver::unify):
(WGSL::OverloadResolver::assign):
(WGSL::OverloadResolver::resolve const):
(WGSL::OverloadResolver::conversionRank const):
(WGSL::resolveOverloads):
(WTF::printInternal):
* Source/WebGPU/WGSL/Overload.h:
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::visit):
(WGSL::TypeChecker::visitStructMembers):
(WGSL::TypeChecker::visitVariable):
(WGSL::TypeChecker::vectorFieldAccess):
(WGSL::TypeChecker::chooseOverload):
(WGSL::TypeChecker::infer):
(WGSL::TypeChecker::resolve):
(WGSL::TypeChecker::inferred):
(WGSL::TypeChecker::unify):
* Source/WebGPU/WGSL/TypeStore.cpp:
(WGSL::TypeStore::TypeCache::find const):
(WGSL::TypeStore::TypeCache::insert):
(WGSL::TypeStore::structType):
(WGSL::TypeStore::constructType):
(WGSL::TypeStore::arrayType):
(WGSL::TypeStore::vectorType):
(WGSL::TypeStore::matrixType):
(WGSL::TypeStore::textureType):
(WGSL::TypeStore::functionType):
(WGSL::TypeStore::referenceType):
(WGSL::TypeStore::allocateType):
(WGSL::TypeStore::allocateConstructor):
* Source/WebGPU/WGSL/TypeStore.h:
(WGSL::TypeStore::bottomType const):
(WGSL::TypeStore::voidType const):
(WGSL::TypeStore::boolType const):
(WGSL::TypeStore::abstractIntType const):
(WGSL::TypeStore::i32Type const):
(WGSL::TypeStore::u32Type const):
(WGSL::TypeStore::abstractFloatType const):
(WGSL::TypeStore::f32Type const):
(WGSL::TypeStore::samplerType const):
(WGSL::TypeStore::textureExternalType const):
* Source/WebGPU/WGSL/Types.cpp:
(WGSL::conversionRank):
* Source/WebGPU/WGSL/Types.h:

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to