Repository navigation
fix(shader): ballot a predicate both wave64 halves share only once - #6638
mariuszkreft wants to merge 1 commit into
Conversation
A wave64 program at two lanes per invocation ballots each half separately. When both halves read the same predicate (a constant or a scalar value), the second OpGroupNonUniformBallot repeated the first one exactly. Reuse its result instead. NVIDIA 580's SPIR-V compiler crashed on a GTA V compute shader with those duplicated ballots. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
GPU execution data for this change: the first run on GPUs, as far as I can see. It covers a 32-wide host (Intel, which takes the two-lanes-per-invocation path) and a 64-wide host (AMD). Windows 11 Pro 26300, WinLibs GCC 15.2.0 r7, Release, every execution test built,
Full CTest ( Merge order: #6677 and #6654 each conflict with this PR in AI-assisted: yes (Claude Code) |
|
Closed by the contribution loop's guard: this pull request has no checklist and was not opened by the loop's reviewed path. The work will be reopened as a pull request after the local gate and the review pass. |
What
Tested
Linux, on the host, in the slice worktree. The loop ran this gate itself; the tail of it is
at the bottom of this pull request. No title and no GPU were involved.
cmake -S . -B build-full -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON cmake --build build-full --parallel 12 ctest --test-dir build-full --output-on-failure -j 12 python3 tools/check_conventions.py --base origin/mainChecklist
main; no other open PR implements the same functions.mdfiles or images added to the repositoryVerification log tail