Repository navigation
fix(agc): initialize point size and limits from SDK defaults - #6821
Conversation
MarcZX10
left a comment
There was a problem hiding this comment.
The two defaults match the public SDK context tables, and the test covers construction, explicit register writes, CLEAR_STATE reset, and context push/pop restoration. The initial QueueState behavior is documented as inferred rather than measured hardware reset state. The reported PM4 tests pass on Linux; the PR also clearly limits its title claim to passing the missing-register stop, with later behavior still unsupported.
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
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 description lists RADV and Linux only. 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,
No title run. AI-assisted: yes (runs done with Claude Code). |
|
Thanks for the independent Windows NVIDIA run and the full 1,398-test result. That broadens the validation beyond the reported RADV/Linux environment; no title run is claimed, and your note makes that scope clear. AI-assisted: yes |
9937067 to
c8d7e37
Compare
|
Rebased onto main Validation on the refreshed head: full |
|
Checked the two values against the public SDK context tables in |
What
Cocoon (PPSA08766 v01.004.000), with #6801, #6653, #6743 and #6815, stops at
missing register in context bank at DWORD 0x280: its first geometry point draw reads PA_SU_POINT_SIZE before the observed startup writes either point register.Initialize PA_SU_POINT_SIZE to
0x00080008and PA_SU_POINT_MINMAX to0xffff0000for new queues and CLEAR_STATE. These values match all eight public context tables inlibSceAgc/Command/include/RegisterDefaultsData.hpp, aliased across fourteen SDK versions. Applying those SDK defaults to initial driver context is inferred and documented as debt; these are not measured GPU power-on reset values. Explicit writes and saved/restored contexts retain their values. This is one independent commit on main82ddae75b; no shader decoder fallback or title-specific behavior is added.Tested
Validation on Linux 7.2.9-arch1-1, GCC 16.2.1, Ryzen 9 7950X:
libsplusagc_driver_testsandagc_driver_pm4_testsbuild; both tests pass without skips. PM4 coverage exercises constructor defaults, real SET_CONTEXT_REG writes, CLEAR_STATE and push-clear/pop restoration.initial point registers missingand passes with this change. This is not a full-driver executable negative control.eb2333c0ea559b63b2056d5c5cab9bcf57d6d7b2includes the four title prerequisites above. Full runtime build and five focused tests pass on RADV (driver, PM4, mesh, vertex point size, MSAA plane addressing; 7.13 s, zero skips).VGT_SHADER_STAGES_EN=0x2135: combined tessellation and geometry is unsupported by the reference path. No matching game window was captured; gameplay and performance gains remain unverified. The launcher exits 134 and restores the temporary udmabuf limit to 64 MiB. feat(agc): draw tessellation followed by an NGG geometry stage #6612 addresses the next path and is being evaluated separately.Local full-project CTest and console execution remain unvalidated. Independent Windows results are recorded below. Native evidence uses the integration above, not this standalone commit alone. No title assets, raw shader requests or raw title logs are attached.
Sanitized standalone and native validation. The later #6612 integration still refuses Cocoon's specific routing; see the bring-up follow-up.
Neithennn independently reports a full build and 1398/1398 CTest passes on Windows 11 Pro 26200, NVIDIA GeForce RTX 4080 driver 617.42, Ryzen 7 5800X, WinLibs GCC 15.2.0 r7 / Ninja / Release, bundled dependencies,
BUILD_TESTING=ON,ANYPS5_NO_SHADER_CACHE=1. This exact PR head9937067c9was merged onto mainf51724078; 21 focused PM4/point-position/graphics checks also pass withANYPS5_REQUIRE_VULKAN=1. Unchanged main passes 1398/1398 on the same machine. No title run. Contributor-reported Windows/NVIDIA validation; not independently reproduced locally.Independent follow-up from parl0v: Cocoon PPSA08766 01.004.000 on Windows 10 19045, RTX 3060 12 GB / NVIDIA 617.42, main
118266aecplus #681572959f7c0, #68018cf9d55a5and #6821c8d7e37f4, merged locally. The missing context-register DWORD0x280refusal is gone. Startup now stops after about 88 seconds atVGT_SHADER_STAGES_EN=0x2135: combined tessellation and geometry is unsupported by the reference path, matching the next refusal in the Linux integration. The window remains black with two presents; this does not establish gameplay or a visual/performance improvement. Contributor-reported Windows native validation; not independently reproduced locally.Checklist