Files
UnrealEngineUWP/Engine/Source/Developer/Apple
Martin Ridgers de9b153aa2 Mac binaries would fail to locate shader libraries when running from sandboxes
It is possible to use the -sandbox= option to mount an alternative file system location from which to load data. On desktop platforms, if the -sandbox= is not specified then Saved/Cooked/[Platform] is implicitly created as a sandbox. This allows runtime binaries to run off cooked data and negate the need to stage. When cooking, the Metal shader compiler creates shader libraries with files in title case. UAT will convert these into lowercase when staging. The Metal RHI is unable to load the cooked libraries as it assumes it is loading lowercase ones from staged data. This change makes sure that all shader libraries are always lowercase. Secondly, the paths to .metallib files where preprocessed in a such a way that bypassed the sandbox file system, resulting in an incorrect native path. Now the API used to convert from IPlatformFile paths to native ones is always used such that sandboxing will get taken into account.

#jira UE-133202
#rnx
#rb will.damon
#preflight 61e7d989f517d721f993c82f

[CL 18656074 by Martin Ridgers in ue5-main branch]
2022-01-19 04:43:37 -05:00
..