Repository navigation
Conversation
12 tasks done
Contributor
|
Windows check of head Setup: Windows 11 Enterprise 22621, WinLibs GCC 15.2 UCRT, Release. Configured as your workflow does:
Not covered here: the AI-assisted: yes. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Add a WGSL backend and
anyps5-wgsltools for WebGPU while keeping native shader cache keys, SPIR-V and encoded artifacts compatible with current main. WGSL requests use distinct cache keys. The production compiler source-version stamp still changes when compiler sources change.This is the WGSL prerequisite of #6879 and replaces closed #9094. The relinker fix #10017 and Emscripten library portability #11341 have merged. Unsupported WGSL cases and host limitations are recorded in the shader debt file.
Tested
Ubuntu 26.04.1 x86-64, GCC 15.2, Node 26.12.0, Chromium 151.0.7922.34; main
399e7fb57e2e202e009227286212fc19a69d2eab, tested head2125187a957e614bc4f4ba85e0f02fa71b7cf6b0.shader_native_snapshot: 1/1 passed on each;wgsl_native_compat: 1/1 passed on the change.ANYPS5_REQUIRE_VULKAN=1,ANYPS5_NO_SHADER_CACHE=1andVK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validationon the same host; the native snapshot tests themselves are CPU-only. The browser pipeline check used the same variables with Chromium's SwiftShader Vulkan backend. Neither CTest log nor the pipeline log contained a missing-layer message,VUID-error or skipped case.libstarget built successfully on the change, including the production shader recompiler and NID patching.shader_cache_file_readandshader_cache_native_pathspassed 2/2 on each tree, compiled from the respective sources through the same standalone CMake harness with the three Vulkan environment variables above. The change's full project build also ran those tests 2/2. Inshader_cache_native_paths, two Windows-only Python cases were skipped on each Linux run.git diff --checkpassed. Full product runtime suites, title execution and physical GPU tests have not run.CI coverage: WGSL backend /
native-compatibility-and-wgslbuilds native main and the change, compares the nine native files, checks cache reuse, creates three Chromium WebGPU pipelines and rejects an invalid shader; it checks validation logs for missing layers, skipped cases andVUID-errors. Build /linuxcovers the full native library build and existing cache tests when a maintainer dispatches it; the automatic Linux job was skipped. Conventions /conventionschecks repository and PR rules. Remote results for this updated head are pending. The earlier Naga/wgpu job passed on the previous head and is historical.Draft work remaining: full product runtime tests, current-head hosted checks, and author coordination for the overlapping PRs below. The Chromium checker uses only Node built-ins and adds no third-party source or Cargo packages to the project.
Overlap review:
6f1d2c70ae68b6326dbbf5965d90571f71752129,tools/pr_overlap.pyreported direct line conflicts with feat(agc): test the depth bounds in the pixel program when the device lacks the depthBounds feature #11551 in serialized artifact size assertions and fix(shader): synchronize GLC and DLC buffer accesses on MoltenVK with device atomics and the guest's release and acquire #14217, perf(shader): keep the device's f16 NaN results with IEEE_MODE clear when a startup probe matches RDNA #15719 and fix(shader): inline mesh helper functions on NVIDIA #15917 in the target options/cache-key append. Proposed handling is to retain the native target fields and serialization changes alongside the WGSL-only key suffix, then re-run native byte comparisons. No landing order has been agreed with those authors.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)