SteamOS Unreal Engine 5.8

Hey everyone,

Yeah, if this is what I think, the shader compiler would generate illegal SPIRV. I think this is what you’re hitting. We didn’t notice until late, some drivers handle it / others don’t. RADV doesn’t (it’s not their bug though!). It only shows up in certain shaders which you don’t usually hit using the editor. If you run a package build however, precaching will eventually try to create those pipelines and crash.

Disabling precaching might save you, but result in more hitches on the first run obviously.

…or…

The fix to the shader compiler has been submitted in UE6/Main. If you take the Engine/Binaries/ThirdParty/ShaderConductor folder from UE6/Main and copy it into your 5.8.1 build it should fix the issue (you need to recreate your package and make sure those shaders get rebuilt). Those binaries are pulled when you run the setup script if I’m not mistaken (not just through syncing). If anyone tries this, let me know how it goes!

…or…

Changing SHADER_PRINT_USE_GLOBAL_RESOURCE to always be 1 in ShaderPrint.ush might also solve the issue. You can do that by adding “|| VULKAN_PROFILE” to the #if above.

Cheers,
JN

1 Like