The log output in ValidateStaticUniformBuffer, lists hashes that do not correspond to the actual shader name which makes it difficult to track down problem shaders.
The current log output code is:
checkf( false, TEXT("Shader attempted to bind uniform buffer '%s' at slot %s with hash '%u', but the shader expected '%s' with hash '%u'."), *Layout.GetDebugName(), *SlotRegistry.GetDebugDescription(Slot), ExpectedHash, ExpectedStructMetadata->GetShaderVariableName(), Layout.GetHash());
But the ExpectedHash corresponds with the shader from ExpectedStructMetaData->GetShaderVariableName() which makes sense, given ExpectedStructMetaData is found based on the ExpectedHash.
The log message should be updated to make it more clear how to find the shader at fault.
n/a
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-214563 in the post.
0 |
Component | UE - Rendering Architecture - Shaders |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.6 |
Created | May 9, 2024 |
---|---|
Updated | Oct 18, 2024 |