Description

[2024.08.30-22.12.22:384][ 73]LogWindows: Error: appError called: Assertion failed: CurrentGPUVirtualAddress != 0 [Link Removed] [Line: 659]

Disabling shader optimisation can crash the editor when compiling or saving a User Interface material.

This seems related to fixes that landed in 5.4.3, but those fixes appear to not fully correct the issue for UI materials.

From the UDN (I don't think this is the proper fix, but it does provide more context):

With some preporting of RHI error diagnostics that will be in UE5.5, I was able to glean that the problematic shader was a UI material shader, which was missing a Primitive UB that the pixel shader was expecting. I verified that setting r.Shaders.Optimize=1 did not crash, and that adding the following lines to FSlateMaterialShaderPS::SetParameters also prevents the crash when shaders are unoptimized:

auto& PrimitivePS = GetUniformBufferParameter<FPrimitiveUniformShaderParameters>();
SetUniformBufferParameter(BatchedParameters, PrimitivePS, GIdentityPrimitiveUniformBuffer);
Steps to Reproduce

Modified from the licensee's steps:
1. To Config/DefaultEngine.ini, add r.Shaders.Optimize=0
2. Launch the editor
3. Create a new material and open it in the material editor
4. Change the Material Domain from "Surface" to "User Interface"

Have Comments or More Details?

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

2
Login to Vote

Unresolved
ComponentUE - Rendering Architecture - Materials
Affects Versions5.4.3
Target Fix5.6
CreatedSep 2, 2024
UpdatedNov 5, 2024
View Jira Issue