Repository navigation
Conversation
…end states Graphics pipelines give each color target its own blend state (from its CB_BLEND<n>_CONTROL), but the device was created without the independentBlend feature, so a pipeline whose targets blend differently was invalid (VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-00605). The feature is now required and enabled, like sampler anisotropy and BC compression. AI-assisted: yes
MarcZX10
left a comment
There was a problem hiding this comment.
Reviewed the device feature enablement and validation. The reported multi-attachment pipeline needs independentBlend, and the code checks support before enabling it; existing device requirements already use this fail-fast feature model. The validation-layer reproduction and focused blend tests support the change; I found no blocking issue.
|
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.
|
There was a problem hiding this comment.
Astro's Playroom (PPSA01325) hits the same thing. Linux, RTX 5080 (NVIDIA 615.78.08), VK_LAYER_KHRONOS_validation with the duplicate limit off, from boot into the first level: main 82ddae7 reports VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-00605 8 times, main with this PR 0 times. No independentBlend throw, both runs reach the level, and the frames I could match between the two runs are the same. The other validation messages are the same kinds in both runs.
|
Independent validation of exact head Before your two-line change, Khronos core validation1.4.363 logs ten Full Windows/Linux relinker/libs builds pass for this composition; this is not a standalone-head/main build claim. Fresh Sonic PPSA99902 runs on both physical GPUs retain their separate DCC/Vulkan submission stops, with no new menu/gameplay claim. No duplicate fix. AI-assisted: yes (Codex); author responsible. |
|
One more title and OS for this change: Demon's Souls (PPSA01341), Windows 11, RTX 4070 (driver 610.88),
The stack was main AI-assisted: yes |
|
First AMD-on-Linux (RADV) data for this PR. Merged onto Linux Mint 22.3 (Ubuntu 24.04 base), kernel 7.0.0-38, GCC 13.3, Release. AMD Radeon RX 7900 XT (RADV NAVI31, gfx1100), Mesa 25.2.8. Khronos validation layer 1.3.275, confirmed loaded with
The only other Full suite without the layer ( GPUs tested: AMD Radeon RX 7900 XT (RADV NAVI31, gfx1100), Mesa 25.2.8, Linux Mint 22.3 / kernel 7.0.0-38 AI-assisted: yes |
|
Independent Windows GPU validation of standalone head Ryzen 9 3900X, RTX 3080 Ti, supported WinLibs MinGW-w64 GCC 15.2.0, Release, SPIRV-Tools disabled. All five focused runs passed:
The four GPU processes used These results verify the tested independent-blend behaviour on this NVIDIA device. They are focused head validation, not a parent comparison, full-suite result or game-performance claim. No game was run. AI-assisted testing and report: Codex. |
|
Validation-layer data point for this PR (data only). Setup: Linux (WSL2 Ubuntu 24.04, GCC 13.3, Release), llvmpipe, Before ( After (this PR): those two tests, run again with the layer: 0 reports of One run each. I did not run this PR's change on the RTX 4080 SUPER or the RX 6400 for this comment. Not run: the other 481 tests with the change under the layer, other GPUs, other platforms. AI-assisted (Claude Code). |
|
Additional integration validation on base Windows, Ryzen 9 3900X / RTX 3080 Ti, WinLibs GCC 15.2, Release. All 25 focused CTest selections qualified. The 23 GPU executions positively loaded Khronos validation 1.4.363 and identified the RTX 3080 Ti; full stdout/stderr contained no VUID errors, synchronization hazards, missing-layer warnings or skipped tests. The other two selections were non-GPU controls. The independent-blend fixture passed with pipeline libraries enabled and with Focused correctness testing on this configuration; not a full repository suite or a performance result. AI-assisted testing and report: Codex. |
|
Data point from the AMD proprietary driver on Windows, which I don't see covered above yet (earlier runs were NVIDIA on Windows and RADV on Linux). Setup: AMD Radeon RX 6700 XT, driver 32.0.21045.16010, Windows 11 22H2 (10.0.22621), MinGW-w64 GCC 15.2 UCRT r7, Release. Khronos validation layer 1.4.309 (built locally),
The I have not established whether this PR introduces it.
The two arms also differ in base ( AI-assisted: yes (Claude Code). |
|
Follow-up to my AMD comment above, with matched bases. The This PR merged locally onto the same
So on current AI-assisted: yes (Claude Code). |
|
Static review plus an independent Linux/AMD run on both trees per the repo AGENTS AGC protocol (CachyOS, kernel 7.2.10, GCC 16.2.1, Ninja 1.13.2, Release, What I checked
Paired test runs (AGENTS AGC protocol, VVL env) Focused set: the four blend fixtures touching per-target blend paths (
Both logs: 0 |
✅ NVIDIA GPU test: passedPR head
Unstable on main (3, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (3, not counted against this PR)Validation IDs already present on main (4 IDs in 484 tests)Skipped (45)ReproduceAutomated build and test on a contributor's NVIDIA machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs. |
|
Local Windows validation on Ryzen 9 3900X / RTX 3080 Ti (driver 610.88), WinLibs GCC 15.2, Release. Base
Limits: progressing runs used on-demand preparation ( AI-assisted: yes (Codex); builds and runs performed locally. |
|
Additional Linux/RX6650XT title evidence for head Complete composition pins, test scope, numeric comparison and downloadable evidence. The native evidence is for the combined changes; the painting scene's black rectangular/streaked regions remain, and no graphics/FPS improvement is claimed. Neither public branch was rewritten. |
|
should-fix Findings
Freshness Envelope
|
MarcZX10
left a comment
There was a problem hiding this comment.
Reviewed — changes requested
The PR body omits the required Fixes: checklist item from the current repository template.
What I ran
Reviewed the unchanged head 4433a62b3bf6248df830994a255701c72581cc95; PR base is aff725bf6d8d61ed33e80507421fd131aeae1305, and the current-main preview against 98ddd9c1792bbab016ceed5db267a93d1d61f00a is clean. Environment: Debian 12, Linux x86_64, Python 3.11.2, Git 2.39.5. This follow-up checks PR metadata; I did not rebuild or rerun the unchanged AGC code.
python3 tools/pr_precheck.py --repo boykopovar/AnyPS5 --pr 6782
gh pr view 6782 -R boykopovar/AnyPS5 --json body,headRefOid,baseRefName,state
git show refs/review/main-live:.github/pull_request_template.mdResults
| Check | Result |
|---|---|
| Whitespace and conventions | Passed in the precheck |
| Current-main merge preview | Clean per the precheck's live stack report |
| PR body against current template | Failed: the body omits Fixes: |
| Build and AGC tests | Not run in this metadata-only follow-up |
Relevant raw output
All conventions checks passed.
Target branch tip: `98ddd9c1792bbab016ceed5db267a93d1d61f00a`
- PR #6782: **clean** against current base; head `4433a62b3bf6248df830994a255701c72581cc95`
Findings
Blocking
- The current template requires a
Fixes:line in every PR body. The body hasDepends on:andUnblocks:, but noFixes:entry. Please addFixes: noneif no issue is closed, or the correctFixes #Nreference if one is. This is a template/contribution-rule correction; the code approval previously submitted remains scoped to the unchanged head.
Sources
To get this to a good state
Please update the PR body with the correct Fixes: value. I will rerun the body and convention checks after the update.
|
Additional Linux/RADV validation of exact #6782 head Host: Arch Linux, AMD Radeon RX 6650 XT / RADV NAVI23, Mesa and vulkan-radeon
All tests executed, no skips. Every strict replay completed one frame / 19 submissions, with zero failed recorded registrations, unfinished submissions, pace timeouts or synthesized waits; each reports 78 stale prologue registrations from before the captured frame. For clarity, the earlier 6/20 counts are raw ID occurrences (header plus spec link), corresponding to 3/10 error messages. The four source banks have independent, pinned modules. For #6782 I rebuilt the complete changed Numeric results, exact recipes/source hashes and complete synthetic CTest logs, SHA-256 Enabling this PR leaves every pixel of the presented replay image identical, both with and without #6959, while eliminating the validation errors. This supplies an additional title-derived reproduction beyond the synthetic cases. AI-assisted: yes (Codex); runs and numbers above are from this Linux machine. |
|
Windows / AMD proprietary driver check of head
AI-assisted: yes (Claude Code). |
|
Windows / NVIDIA data point for this change, since the PR lists Linux only.
Logs attached on request. AI-assisted: yes (Claude Code); the runs were made on my machine. |
|
Thanks, everyone, for the validation data. Here is each point raised since the last commit. MarcZX10 (changes requested) and fogydes (finding 3): you're right, the body was missing the fogydes (findings 1, 2, 4 and 5): these are verification results, and none of them asks for a change. The worktree confirms the merge with current The other reports cover these platforms:
They include TripyFox's ASTRO BOT run on an RTX 5090 with Windows, which triggered this update. They all agree: 00605 is reported on I made no code changes, so I ran no builds or tests. The only change is the PR description, which adds the AI-assisted: yes |
|
Datapoint from an NVIDIA RTX 4080 SUPER on Windows 11 (WinLibs GCC 15.2.0 UCRT, Release, Khronos validation layer 1.4.367 loaded,
The message only shows in the tests' own output, so a AI-assisted: yes. |
|
Windows / AMD data point, since the earlier Windows runs here were NVIDIA. The change removes the Setup: Windows 11 Enterprise 22621, WinLibs GCC 15.2 UCRT, Release, Radeon RX 6700 XT (
AI-assisted: yes. |
|
Additional Linux/RADV title-frame evidence: this change removes
Paired gate/replay logs, summaries, buffer hashes and library hashes, SHA-256 AI-assisted: yes. |
What
Graphics pipelines give each color target its own blend state, decoded from its
CB_BLEND<n>_CONTROL, but the device was created without theindependentBlendfeature. A pipeline whose targets blend differently was therefore invalid (VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-00605: "pAttachments[2] is different than pAttachments[0] and independentBlend feature was not enabled"); a driver is free to apply attachment 0's state to every target.The feature is now required and enabled at device creation, like sampler anisotropy and BC texture compression. It is core Vulkan 1.0 and supported by desktop GPUs and lavapipe.
Tested
mainat 3f171d0; rebased onto aff725b, wheremainitself does not build here (PipelineJournal.cppstatic assertions onShaderStagesandMeshConfiguration), which this change does not touch.VK_LAYER_KHRONOS_validation: the validation layer reported 00605 for its multi-target pipelines (20 reports, the duplicate limit, in the first minutes).agc_driver_graphics,agc_driver_dual_source_blend,agc_driver_reversed_order_blend,agc_driver_swap_alt_blendand the color target tests pass, with no 00605 report under the validation layer.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)