What happened in CL34906103?

Hi Epic!

Could you elaborate on what happened in CL34906103 in regard to shader determinism?

We’re on 5.4 (with plenty of backports from 5.5 and beyond) and I’m still fighting with shader symbol stability.

Should we just integrate it?

Thank you,

Pavel

I identified 3 CLs that we want to take:

CL34317171 - Fix global shader non-determinism due to un-initialized data in the memory images for shader maps due to the TMaps and Variants used by the generic stat system.

CL34906103 - Fix Shader SymbolsInfo Causing Non-Determinism and Defeating Deduplication

CL34155347 - Fix reflection data unnecessarily kept in compiled PCD3D_SM6 shaders.

I’m in the process of verifying if this makes it deterministic. It wasn’t the simplest merge and I’m also not sure if there aren’t any extra dependencies.

I’m still waiting for your reaction.

Hello,

From what I was told, these changes should be fine to take into 5.4, if you are having trouble with shader determinism. Although there were no objections from folks on the engineering team, our main expert on this system is out of the office at the moment, so make sure to test these changes thoroughly (I am sure you will do this, though). Let me know if there is anything else I can provide you with from our side.

Ok, glad to hear it! I will close out the ticket then.

We’ve taken them to our 5.4 chimera and so far, so good. Thanks!