[webkit-changes] [WebKit/WebKit] 51203d: [WGSL] Add support for texture_storage

Tadeu Zagallo noreply at github.com
Thu Sep 14 03:07:53 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 51203d9ac9e8fe78cc8eae7a1034619efa9bcea1
      https://github.com/WebKit/WebKit/commit/51203d9ac9e8fe78cc8eae7a1034619efa9bcea1
  Author: Tadeu Zagallo <tzagallo at apple.com>
  Date:   2023-09-14 (Thu, 14 Sep 2023)

  Changed paths:
    M Source/WebGPU/WGSL/ConstantRewriter.cpp
    M Source/WebGPU/WGSL/Constraints.cpp
    M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
    M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
    M Source/WebGPU/WGSL/Overload.cpp
    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
    M Source/WebGPU/WGSL/tests/valid/overload.wgsl

  Log Message:
  -----------
  [WGSL] Add support for texture_storage
https://bugs.webkit.org/show_bug.cgi?id=261465
rdar://115363616

Reviewed by Dan Glastonbury.

Introduce a new TextureStorage type and new primitive types for texel format and
access mode.

* Source/WebGPU/WGSL/ConstantRewriter.cpp:
(WGSL::ConstantRewriter::materialize):
* Source/WebGPU/WGSL/Constraints.cpp:
(WGSL::satisfies):
(WGSL::satisfyOrPromote):
* Source/WebGPU/WGSL/GlobalVariableRewriter.cpp:
(WGSL::bindingMemberForGlobal):
(WGSL::RewriteGlobalVariables::usesOverride):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::emitPackedVector):
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/Overload.cpp:
(WTF::printInternal):
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::TypeChecker):
(WGSL::TypeChecker::allocateTextureStorageConstructor):
* Source/WebGPU/WGSL/TypeStore.cpp:
(WGSL::VectorKey::encode const):
(WGSL::MatrixKey::encode const):
(WGSL::ArrayKey::encode const):
(WGSL::TextureKey::encode const):
(WGSL::TextureStorageKey::encode const):
(WGSL::ReferenceKey::extra const):
(WGSL::ReferenceKey::encode const):
(WGSL::TypeCache::find const):
(WGSL::TypeCache::insert):
(WGSL::TypeStore::TypeStore):
(WGSL::TypeStore::textureType):
(WGSL::TypeStore::textureStorageType):
(WGSL::VectorKey::extra const): Deleted.
(WGSL::MatrixKey::extra const): Deleted.
(WGSL::ArrayKey::extra const): Deleted.
(WGSL::TextureKey::extra const): Deleted.
(WGSL::TypeStore::TypeCache::find const): Deleted.
(WGSL::TypeStore::TypeCache::insert): Deleted.
* Source/WebGPU/WGSL/TypeStore.h:
(WGSL::TypeStore::accessModeType const):
(WGSL::TypeStore::texelFormatType const):
* Source/WebGPU/WGSL/Types.cpp:
(WGSL::Type::dump const):
(WGSL::Type::size const):
(WGSL::Type::alignment const):
* Source/WebGPU/WGSL/Types.h:

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




More information about the webkit-changes mailing list