[webkit-changes] [WebKit/WebKit] 3e2281: [WebGPU] 284345 at main results in pipeline overrides...

Tadeu Zagallo noreply at github.com
Thu Oct 3 01:49:27 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3e2281f1f1343a8990caa3b49ef98560b09224de
      https://github.com/WebKit/WebKit/commit/3e2281f1f1343a8990caa3b49ef98560b09224de
  Author: Tadeu Zagallo <tzagallo at apple.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M Source/WebGPU/WGSL/CompilationScope.cpp
    M Source/WebGPU/WGSL/CompilationScope.h
    M Source/WebGPU/WGSL/WGSL.cpp
    M Source/WebGPU/WGSL/WGSLShaderModule.h
    M Source/WebGPU/WebGPU/ShaderModule.h
    M Source/WebGPU/WebGPU/ShaderModule.mm

  Log Message:
  -----------
  [WebGPU] 284345 at main results in pipeline overrides failing to be computed in some sites
https://bugs.webkit.org/show_bug.cgi?id=280739
rdar://137104174

Reviewed by Mike Wyrzykowski.

After we started storing overrides by their mangled name some of the samples were
broken. That was due to trying to resolve the overrides used for the `@workgroup_size`
attribute, which contained unmangled identifiers. To fix this, we run the mangling
pass right after type checking, and from that point on always refer to mangled names.

* Source/WebGPU/WGSL/CompilationScope.cpp:
(WGSL::CompilationScope::CompilationScope):
(WGSL::CompilationScope::~CompilationScope):
* Source/WebGPU/WGSL/CompilationScope.h:
* Source/WebGPU/WGSL/WGSL.cpp:
(WGSL::staticCheck):
(WGSL::prepareImpl):
* Source/WebGPU/WGSL/WGSLShaderModule.h:
(WGSL::ShaderModule::currentReplacementSize const):
(WGSL::ShaderModule::revertReplacements):
* Source/WebGPU/WebGPU/ShaderModule.h:
(WebGPU::ShaderModule::create):
* Source/WebGPU/WebGPU/ShaderModule.mm:
(WebGPU::earlyCompileShaderModule):
(WebGPU::handleShaderSuccessOrFailure):
(WebGPU::Device::createShaderModule):
(WebGPU::ShaderModule::ShaderModule):
(WebGPU::ShaderModule::fragmentInputsForEntryPoint const):
(WebGPU::ShaderModule::fragmentReturnTypeForEntryPoint const):
(WebGPU::ShaderModule::vertexReturnTypeForEntryPoint const):
(WebGPU::ShaderModule::stageInTypesForEntryPoint const):
(WebGPU::ShaderModule::entryPointInformation const):
(WebGPU::ShaderModule::hasOverride const): Deleted.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list