Description

The order of passes related to Decal rendering (without the DBuffer) and CustomDepth is changed by the CVar "r.Lumen.AsyncCompute", even when Lumen is not enabled.

This causes Decal Materials that rely on CustomDepth / CustomStencil to be rendered before CustomDepth and CustomStencil have been rendered, resulting in incorrect visuals.

Also tested on //UE5/Release-5.5, CL: 36995792
Originally Identified on //UE5/Release-5.3, CL: 32480491

Steps to Reproduce

1. Download the Licensee's test project and open
https://udn.unrealengine.com/s/contentdocument/069QP00000L1hwVYAR
2. In the Post-Process Volume, set both the Global Illumination Method and the Reflection Method to "None", disabling Lumen.
3. Observe the Decal Material "/Game/M_TestDecalMaterial" reading from CustomStencil for the Base Color.
4. Observe the cube "Cube" is writing to Custom Depth pass with a Stencil value of 255.
5. Observe that the cube "Cube" is not colored white as expected by the decal "M_TestDecalMaterial".
6. Run the console command "r.Lumen.AsyncCompute 0"
7. Observe that the cube "Cube" is now correctly colored white by the decal "M_TestDecalMaterial".
8. Take a GPU Dump with "r.Lumen.AsyncCompute" set to 0, then take a second GPU Dump with the "r.Lumen.AsyncCompute" set to 1.
9. Compare the order of events from BasePass to CustomDepth and Decal passes. Observe that the order changes based on the CVar "r.Lumen.AsyncCompute", despite Lumen not being enabled.
10. Enable Lumen GI and Reflections in the Post-Process volume, and set "r.Lumen.AsyncCompute" to 1.
11. Repeat steps 5, 6, and 7
12. Observe that the issue remains with Lumen enabled.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-227727 in the post.

0
Login to Vote

Won't Fix
ComponentUE - Graphics Features
Affects Versions5.3.25.55.4.4
Target Fix5.6
CreatedOct 15, 2024
ResolvedOct 16, 2024
UpdatedOct 16, 2024
View Jira Issue