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