You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Demon's Souls (PPSA01342): particles drawn through the low-resolution particle path show as large white blobs (NVIDIA) #7638
In Outpost Passage, large soft white blobs fill the upper half of the view and a row of small white puffs crosses the archway at waist height. With the game's own +particleResolution=High in PackageCmdLineArgs.txt they disappear and the passage looks right (dark walls, mist around the lit archway). Frame rate is the same either way.
Screenshots (same spot, same save, 960x540 downscale)
Default (particleResolution unset, i.e. Dynamic):
+particleResolution=High:
What narrows it down
The game's debug switches put the blobs in the Normal particle group: +showParticleGroup_Normal=false removes them, hiding the UltraLowRes and Fog groups does not.
+particleUnlitBrightness=0 removes the small emissive embers but not the blobs, so they are lit particles.
Not async compute: the five async-compute switches (particleEnableAsyncCompute, fog_enableAsyncCompute, r_tessellationEnableAsyncCompute, r_waterEnableAsyncCompute, r_windSimAsync) set to false change nothing.
Not a missing clear of a reused target: with APS5_KEYS_FILL_CLEAR=1 the fast clears apply at once and the blobs are unchanged.
The particle lighting atlas looks sane: the two 8192x128 RGBA16F storage images at 0x2a6c00000 and 0x2a6080000 (4 mips) hold one 8x8 tile per particle, smooth values up to about 1.1, no NaN or Inf.
The half-resolution depth inputs look right: 0x27f710000 (1280x720, R32F, 9 mips) and 0x27fc60000 (1280x720, RG32F min/max, 9 mips) show the passage, the character and the far archway at sensible depths (mip 0 checked).
So the low-resolution path goes wrong somewhere between drawing the particles into the half-resolution target and compositing that target back. I haven't found the half-resolution particle colour target itself yet (0x28a0c0000 is not it).
Setup
Local branch on bab7b32 with Demon's Souls bring-up changes (#757 and #758, both now on main, plus local fixes), Release, GCC 16.2.1. Arch Linux, kernel 7.2.8, RTX 4070 SUPER on 615.78.08. Not checked on main: on 10-14 this level's load still went past the 18 GiB cap I run the game under there.
The particleResolution=High comparison and the Normal-group/unlit controls narrow this well. Before proposing a driver change, could you capture the low-resolution particle color target immediately after the particle draw and again after composite, plus the matching render-target/depth descriptors and draw packet? That would distinguish a bad half-resolution write from a scale/composite sampling issue. Since this was observed on a branch with local fixes, a current-main or named-merged-PR replay would also establish whether the behavior is present in the submitted tree.
Activity
MarcZX10 commentedon Oct 18, 2026
The
particleResolution=Highcomparison and the Normal-group/unlit controls narrow this well. Before proposing a driver change, could you capture the low-resolution particle color target immediately after the particle draw and again after composite, plus the matching render-target/depth descriptors and draw packet? That would distinguish a bad half-resolution write from a scale/composite sampling issue. Since this was observed on a branch with local fixes, a current-main or named-merged-PR replay would also establish whether the behavior is present in the submitted tree.