This situation arises with the Zen project store. This is a temporary fix to avoid unintentional reuse of decompressed data between from different compressed buffers.
#jira UE-207220
#rb daniele.pieroni
#rnx
[CL 32131510 by devin doucette in ue5-main branch]
-> Done because UE disables 32 bit down cast - silently could overflow.
-> General use should automatically work.
-> Deprecate some old 32 bit functions not generally used.
-> Deprecate/rename some ancient flags for future removal.
-> Update CompressorData to uint ptr for future use
-> Remove some stuff deprecated in 4.21 (2018)
#rb fabian.giesen
#jira UE-173911
[CL 31688300 by dan thompson in ue5-main branch]
Currently sized for Mermaid VeryFast only, but we use Kraken Fast in certain places,
and bumping it up all the way to Kraken Normal is less than a 2x increase in memory
use (~1.2MB/scratch buffer to ~2.2MB in the editor; not used in game)
#rb dan.thompson
[CL 26138693 by fabian giesen in ue5-main branch]
[FYI] Dan.Thompson
Original CL Desc
-----------------------------------------------------------------
Parallelizing FBlockDecoder::TryDecompressTo
#rb charles.bloom
#preflight 645164720e33f2d51d6465dc
[CL 25311278 by keaton stewart in ue5-main branch]
Due to the fact that UnrealPak doesn't load INIs, the cvar was always its default value. This, combined with the fact that shaders don't store what codec they are compressed with means that setting this cvar to anything other than default (oodle) causes a crash in UnrealPak as DecompressShader will try to decompress with Oodle independent of the actual codec. Rather than plumb this information down through ProjectParams, I felt it prudent to just always use Oodle.
Additionally, in order to facilitate faster iteration times for development build farm jobs, the shader compression level used during UnrealPak will inherit from the overall package compression level set via Project Settings (PackageCompressionLevel_*).
This tacitly avoids patch issues as the default shader compression level happens to be the default package compression level, except now it inherits any faster levels for iteration time.
Note that we still use Mermaid as the codec as it's faster for decompressing than Kraken, which we care about for shaders.
#rb Fabian.Giesen
#rb Arciel.Rekman
#preflight 63e2f94c786751d1e0ffb290
[CL 24092953 by dan thompson in ue5-main branch]