Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a9fce285673c6d1720287e2e04e10d3da6615cd5 https://github.com/WebKit/WebKit/commit/a9fce285673c6d1720287e2e04e10d3da6615cd5 Author: Tadeu Zagallo <tzaga...@apple.com> Date: 2024-10-02 (Wed, 02 Oct 2024)
Changed paths: M Source/WebGPU/WGSL/CompilationMessage.h M Source/WebGPU/WGSL/TypeCheck.cpp M Source/WebGPU/WGSL/WGSL.cpp M Source/WebGPU/WGSL/WGSL.h A Source/WebGPU/WGSL/WGSLShaderModule.cpp M Source/WebGPU/WGSL/WGSLShaderModule.h A Source/WebGPU/WGSL/tests/invalid/override.wgsl M Source/WebGPU/WGSL/wgslc.cpp M Source/WebGPU/WebGPU.xcodeproj/project.pbxproj M Source/WebGPU/WebGPU/Pipeline.mm M Source/WebGPU/WebGPU/ShaderModule.mm M Tools/TestWebKitAPI/Tests/WGSL/MetalGenerationTests.cpp Log Message: ----------- [WGSL] Add mechanism to validate override values https://bugs.webkit.org/show_bug.cgi?id=280676 rdar://136876110 Reviewed by Mike Wyrzykowski. At compile time we validate constant values according to the spec, as an example in this patch we cover that array sizes must be bigger than 0. However, when the value can only be computed after overrides have been provided, we need a way to validate the these values at a later stage. This patch introduces the mechanism that will be used for such validations, by storing the necessary validations in the shader module, and then executing each validation every time the module is used in a pipeline. * Source/WebGPU/WGSL/CompilationMessage.h: (WGSL::CompilationMessage::CompilationMessage): * Source/WebGPU/WGSL/TypeCheck.cpp: (WGSL::TypeChecker::visit): * Source/WebGPU/WGSL/WGSL.cpp: (WGSL::generate): * Source/WebGPU/WGSL/WGSL.h: * Source/WebGPU/WGSL/WGSLShaderModule.cpp: Added. (WGSL::ShaderModule::validateOverrides): * Source/WebGPU/WGSL/WGSLShaderModule.h: (WGSL::ShaderModule::addOverrideValidation): * Source/WebGPU/WGSL/tests/invalid/override.wgsl: Added. * Source/WebGPU/WGSL/wgslc.cpp: (runWGSL): * Source/WebGPU/WebGPU.xcodeproj/project.pbxproj: * Source/WebGPU/WebGPU/Pipeline.mm: (WebGPU::createLibrary): * Source/WebGPU/WebGPU/ShaderModule.mm: (WebGPU::earlyCompileShaderModule): Canonical link: https://commits.webkit.org/284570@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes