mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-03 12:57:27 +00:00
A draw with PA_SC_AA_CONFIG.MSAA_NUM_SAMPLES 0 and MSAA_ENABLE clear into a 4x depth target threw "the depth target's sample count differs from the rasterizer's", which stops METAL GEAR SOLID: Peace Walker (PPSA18216) at its first presentation. Such a draw now rasterizes the depth target's sample count with every sample at the pixel center, as a single-sample scan into a multisampled color target already does. radeonsi programs this MSAA_ENABLE and PA_SC_AA_CONFIG with the depth buffer's own sample count when GL multisampling is disabled, and GL then gives full coverage with every depth and stencil sample set from the pixel center. Triangles and rectangles are accepted. Points, lines, alpha-to-coverage, DB_EQAA Z interpolation or overrasterization, a pixel program reading the sample index and a sample-mask export throw on this path, as does a single-sample color target next to the multisampled depth target. The primitive check is shared with the single-sample MSAA_ENABLE rule, whose behaviour and messages are unchanged. Co-Authored-By: Claude Opus 5.5 <[email protected]>