pow22 should old be used as a source gamma
dest gamma should always be srgb or linear
#preflight 62432a61df7d23dbfeeb57bc
#rb none
[CL 19543713 by charles bloom in ue5-main branch]
Oodle Texture has cutoffs for this internally but they're much lower; we're also using 16k pixels as the cut-off for CopyImage, seems like an OK target here.
#rb dan.thompson
#preflight 6239011a1302f69e9a766891
[CL 19459702 by fabian giesen in ue5-main branch]
These are important (and trivial) enough to warrant direct support.
#rb charles.bloom
#preflight 622a5db9df3960e506a9f135
[CL 19340792 by fabian giesen in ue5-main branch]
Use TArray/TArray64 instead of raw allocs for our storage, there's no reason not to.
(The only reason the original code did raw allocs was because it was adapted from C code.)
Read from/write to memory not FArchive by request.
FDDSHeader->FDDSHeaderWithMagic, we don't care about the old-school DDSURFACEDESC,
we only ever have magic then ddsd so just make it part of the header struct.
Make mip sizes int64; a 16k * 16k R32G32B32A32_FLOAT image is enough to overflow 4GB.
#rb charles.bloom
#preflight 622914ee0d5a90e98eccf49d
[CL 19325619 by fabian giesen in ue5-main branch]
to use Final EncodeSpeed on a texture instead of Fast when editing changes
so you can see the project's Final RDO settings while working on a texture
#preflight 6227c776671c913c052a82fb
#rb dan.thompson
[CL 19311911 by charles bloom in ue5-main branch]
Put DDS parameter validation in one function (Validate) that is shared between Create, Read, Write funcs.
Add support for saving D3D9-format DDS files, either automatically when doing so is "lossless" in "Auto" mode, or in a D3D9-only mode that tries hard to express data as a D3D9 file and will fail when it can't find a suitable mapping. Still default to writing as D3D10-format DDS since that tends to preserve semantics the best.
The pixel format tables for D3D9-format DDS files were reordered slightly to make us prefer "canonical" choices when writing D3D9 DDS files, e.g. we prefer BC2 textures to get writtten as DXT3 not DXT2, and likewise BC3 should prefer DXT5 over DXT4.
#rb Charles.Bloom
#preflight 62267996123eef55e6fa32d6
[CL 19292462 by fabian giesen in ue5-main branch]
- 14.1s to 7.6s when loading CitySample Small_City_LVL -ddc=cold
#rb Charles.Bloom, Fabian.Giesen
#preflight 6225f3a7b97fb949cf3412a2
[CL 19284116 by danny couture in ue5-main branch]
verified nop no change in behavior
prefix scopes with Texture.
#rb dan.thompson,fabian.giesen
#preflight none
[CL 19042123 by charles bloom in ue5-main branch]
add Insights markup
factor out job count comptutation and ensure it doesn't make tiny jobs
make VT tiles non-parallel because they are already parallel at the tile level
#rb fabian.giesen,arne.schober
#preflight none
[CL 18918813 by charles bloom in ue5-main branch]
not used and should not be used
clean up some todo comments in TextureFormatOodle
#preflight 61ba4ca5055f3013459c0a02
#rb none
#ROBOMERGE-AUTHOR: charles.bloom
#ROBOMERGE-SOURCE: CL 18471288 in //UE5/Release-5.0/... via CL 18471293
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18471295 by charles bloom in ue5-release-engine-test branch]
Texture uasset stores OodleTextureSdkVersion to use
legacy assets load with None
new textures automatically set version to latest
allows updating Oodle Texture Sdk without creating patches
new prefs:
[AlternateTextureCompression]
TextureCompressionFormatWithVersion
OodleTextureSdkVersionToUseIfNone
#rb dan.thompson,devin.doucette
#ROBOMERGE-AUTHOR: charles.bloom
#ROBOMERGE-SOURCE: CL 18456277 in //UE5/Release-5.0/... via CL 18456284
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v898-18417669)
[CL 18456295 by charles bloom in ue5-release-engine-test branch]