Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ab0a2da91f2a99faf20e88c51b33b2c064a75a12
      
https://github.com/WebKit/WebKit/commit/ab0a2da91f2a99faf20e88c51b33b2c064a75a12
  Author: Mike Wyrzykowski <[email protected]>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M 
LayoutTests/http/tests/webgpu/webgpu/shader/validation/uniformity/uniformity-expected.txt
    M LayoutTests/platform/mac-wk2/TestExpectations
    M Source/WebCore/Modules/WebGPU/GPUAdapter.cpp
    M Source/WebCore/Modules/WebGPU/GPUAdapterInfo.h
    M Source/WebCore/Modules/WebGPU/GPUAdapterInfo.idl
    M Source/WebCore/Modules/WebGPU/GPUFeatureName.h
    M Source/WebCore/Modules/WebGPU/GPUFeatureName.idl
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUAdapterImpl.cpp
    M 
Source/WebCore/Modules/WebGPU/Implementation/WebGPUConvertToBackingContext.cpp
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUAdapter.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUFeatureName.h
    M Source/WebCore/Modules/WebGPU/WGSLLanguageFeatures.cpp
    M Source/WebGPU/WGSL/ConstantFunctions.h
    M Source/WebGPU/WGSL/Constraints.h
    M Source/WebGPU/WGSL/IOValidator.cpp
    M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
    M Source/WebGPU/WGSL/Parser.cpp
    M Source/WebGPU/WGSL/TypeCheck.cpp
    M Source/WebGPU/WGSL/TypeDeclarations.rb
    M Source/WebGPU/WGSL/UniformityAnalysis.cpp
    M Source/WebGPU/WGSL/WGSL.cpp
    M Source/WebGPU/WGSL/WGSLEnums.h
    M Source/WebGPU/WGSL/WGSLShaderModule.h
    M Source/WebGPU/WGSL/generator/main.rb
    M Source/WebGPU/WGSL/wgslc.cpp
    M Source/WebGPU/WebGPU/Adapter.mm
    M Source/WebGPU/WebGPU/HardwareCapabilities.mm
    M Source/WebGPU/WebGPU/RenderPipeline.mm
    M Source/WebGPU/WebGPU/ShaderModule.h
    M Source/WebGPU/WebGPU/ShaderModule.mm
    M Source/WebGPU/WebGPU/WebGPU.h
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp
    M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPURequestAdapterResponse.h
    M 
Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPURequestAdapterResponse.serialization.in
    M Source/WebKit/Shared/WebGPU/WebGPUFeatureName.serialization.in
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp

  Log Message:
  -----------
  [WebGPU] Subgroups
https://bugs.webkit.org/show_bug.cgi?id=295343
rdar://154874391

Reviewed by Dan Glastonbury.

Implement subgroups and related builtins as specified in the WGSL specification.

Test: uniformity.html

* 
LayoutTests/http/tests/webgpu/webgpu/shader/validation/uniformity/uniformity-expected.txt:
* Source/WebCore/Modules/WebGPU/GPUAdapter.cpp:
(WebCore::GPUAdapter::GPUAdapter):
(WebCore::convertFeatureNameToEnum):
(WebCore::GPUAdapter::requestDevice):
* Source/WebCore/Modules/WebGPU/GPUAdapterInfo.h:
(WebCore::GPUAdapterInfo::create):
(WebCore::GPUAdapterInfo::subgroupMinSize const):
(WebCore::GPUAdapterInfo::subgroupMaxSize const):
(WebCore::GPUAdapterInfo::GPUAdapterInfo):
* Source/WebCore/Modules/WebGPU/GPUAdapterInfo.idl:
* Source/WebCore/Modules/WebGPU/GPUFeatureName.h:
(WebCore::convertToBacking):
* Source/WebCore/Modules/WebGPU/GPUFeatureName.idl:
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUAdapterImpl.cpp:
(WebCore::WebGPU::subgroupMinSize):
(WebCore::WebGPU::subgroupMaxSize):
(WebCore::WebGPU::AdapterImpl::AdapterImpl):
* 
Source/WebCore/Modules/WebGPU/Implementation/WebGPUConvertToBackingContext.cpp:
(WebCore::WebGPU::ConvertToBackingContext::convertToBacking):
* Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUAdapter.h:
(WebCore::WebGPU::Adapter::subgroupMinSize const):
(WebCore::WebGPU::Adapter::subgroupMaxSize const):
(WebCore::WebGPU::Adapter::Adapter):
* Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUFeatureName.h:
* Source/WebCore/Modules/WebGPU/WGSLLanguageFeatures.cpp:
(WebCore::WGSLLanguageFeatures::initializeSetLike const):
* Source/WebGPU/WGSL/ConstantFunctions.h:
(WGSL::VALIDATION_FUNCTION):
* Source/WebGPU/WGSL/Constraints.h:
* Source/WebGPU/WGSL/IOValidator.cpp:
(WGSL::IOValidator::validateBuiltinIO):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):
(WGSL::Metal::emitSubgroupBallot):
(WGSL::Metal::emitQuadSwap):
(WGSL::Metal::emitQuadSwapDiagonal):
(WGSL::Metal::emitQuadSwapX):
(WGSL::Metal::emitQuadSwapY):
* Source/WebGPU/WGSL/Parser.cpp:
(WGSL::Parser<Lexer>::parseEnableDirective):
(WGSL::Parser<Lexer>::parseRequireDirective):
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::visit):
* Source/WebGPU/WGSL/TypeDeclarations.rb:
* Source/WebGPU/WGSL/UniformityAnalysis.cpp:
* Source/WebGPU/WGSL/WGSL.cpp:
(WGSL::wgslExtensionToWebGPUFeatureName):
* Source/WebGPU/WGSL/WGSLEnums.h:
* Source/WebGPU/WGSL/WGSLShaderModule.h:
(WGSL::ShaderModule::requiredFeatures): Deleted.
* Source/WebGPU/WGSL/generator/main.rb:
* Source/WebGPU/WGSL/wgslc.cpp:
(runWGSL):
* Source/WebGPU/WebGPU/Adapter.mm:
(WebGPU::Adapter::getProperties):
* Source/WebGPU/WebGPU/HardwareCapabilities.mm:
(WebGPU::baseFeatures):
* Source/WebGPU/WebGPU/RenderPipeline.mm:
(WebGPU::errorValidatingInterstageShaderInterfaces):
* Source/WebGPU/WebGPU/ShaderModule.h:
* Source/WebGPU/WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::usesSubgroupInvocationIdInInput const):
(WebGPU::ShaderModule::usesSubgroupSizeInInput const):
(WebGPU::ShaderModule::populateFragmentInputs):
(wgpuAdapterFeatureName):
* Source/WebGPU/WebGPU/WebGPU.h:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp:
(WebKit::RemoteGPU::requestAdapter):
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPURequestAdapterResponse.h:
* 
Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPURequestAdapterResponse.serialization.in:
* Source/WebKit/Shared/WebGPU/WebGPUFeatureName.serialization.in:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.cpp:
(WebKit::WebGPU::RemoteAdapterProxy::RemoteAdapterProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteAdapterProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:
(WebKit::RemoteGPUProxy::requestAdapter):

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



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

Reply via email to