Repository navigation
fix(agc): refuse LDS split before allocation - #7827
adriadam10 merged 1 commit into
Conversation
29d3972 to
6a189b3
Compare
|
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.
|
|
Windows NVIDIA run, since the host CPU guard stopped the test on your machine. Windows 11 Pro 26200, NVIDIA GeForce RTX 4080 (driver 617.42), AMD Ryzen 7 5800X, WinLibs GCC 15.2.0 r7, Ninja, Release, bundled dependencies,
Negative control: with only AI-assisted: yes (runs done with Claude Code). |
|
Ran It passes 3 of 3, but on this GPU it can't exercise the change. The split case skips: So it also passes with AI-assisted: yes (Claude Code) |
|
@MarcZX10 #6786 has merged. I validated a rebased composition
The larger-Z control distinguishes the versions even when the first case reaches main's late LDS check. Physical X splitting is unavailable at the reported limits; Y splitting and both LDS refusals execute. This addresses the earlier nondiscriminating-control concern without claiming X coverage. Full default and explicit relinker/library builds pass. Oversized dispatch, valid device-memory LDS, cross-workgroup flag, indirect limit and pending-producer checks run three times per GPU, plus CPU graphics/PM4 three times: 36 behavioral passes (30 GPU, 6 CPU). The 30 common main checks pass too. The pending-producer fixture has 12 validation errors on main and on this composition, isolated in new #7868; no additional VUIDs, warnings, whole-test skips or timeouts. This is not a blanket validation-clean result. Windows 11 Enterprise 26200 / GCC 15.2 r7; NVIDIA RTX 5080 (10de:2c02), driver 610.62 / 32.0.16.1062; AMD Radeon(TM) Graphics (1002:13c0), driver 32.0.21036.18. Required Vulkan, disabled application shader cache, Khronos 1.4.363 confirmed loaded, verbose serial CTest, 30 s per process. New main Cppcheck/clang-tidy ran too: the fixture has no selected findings; 10 untriaged findings point to unedited device-initialization/header locations, so no analyzer-clean claim. The tested composition is available on our fork for your rebase. #7794 updated in place; I am supporting this PR rather than submitting a duplicate. AI-assisted adaptation, validation and report: yes, Codex. |
6a189b3 to
82be87f
Compare
|
Rebased onto current |
|
Reran the rebased head 82be87f on AMD's Windows driver. The new
The X split case still skips here ( AI-assisted: yes (Claude Code) |
|
Thanks for rerunning the rebased head with the |
|
RTX 4080 / Windows run of the rebased head Windows 11 Pro 26200, NVIDIA GeForce RTX 4080 (driver 617.42), WinLibs GCC 15.2.0 r7, Ninja, Release,
On my earlier run of The X split is still not exercised on this GPU: Full AI-assisted: yes (runs done with Claude Code). |
|
@Neithennn, about the three #9056 makes the tests read through a sampled copy, as Results with #9056:
AI-assisted: yes (Claude Code) |
|
Re-checked against current main: the early LDS-split refusal in |
What
Move the unsupported LDS split check to the start of
recordDispatch, before dispatch recording allocates scratch or submits GPU work. Preserve main's CPU-resolved-indirect diagnostic context. The regression requires the LDS-specific refusal message and checks both an ordinary oversized Y dispatch and az = UINT32_MAXcase that distinguishes the early guard from the later refusal.Fixes #7794.
Tested
82be87f185:git diff --check upstream/main...HEADpassed.82be87f185:python3 tools/check_conventions.py --base upstream/main --head HEADpassed.6a189b3dfc: configured and builtagc_driver_oversized_dispatch_testson Linux x86-64. CTest could not execute because this container's Intel Xeon E5-1620 v2 lacks AVX2, FMA, BMI1/BMI2, LZCNT and MOVBE; AnyPS5 aborts during host CPU validation before Vulkan setup.7a36de66b9: NVIDIA RTX 5080 and AMD Radeon Graphics showed 3/3 passes each, with a negative control distinguishing the early refusal. That hardware report predates current main43a2abaf77; this rebased head has not been rerun on those GPUs. See the detailed report in the PR discussion.Checklist
main; no other open PR implements the same functions#6786is in current main)