Make inner loops to use vector instructions and avoid per pixel conditional jumps.
Unrolls kernel inner loop for 8x8 case.
#rb charles.bloom
#preflight none
[CL 19360384 by martins mozeiko in ue5-main branch]
investigate AdjustColors not being a nop with no RGB adjustments
HSV causes small drift which can be amplified by later processing (roughness)
HSV does bad things on values out of [0,1] range
#rb dan.thompson,fabian.giesen
#preflight none
[CL 19143060 by charles bloom in ue5-main branch]
even when source image was opaque
this is caused by the mip filter being not quite normalized, which introduces a slightly less than 1 alpha
fix by increasing alpha tolerance to where a non-255 U8 alpha would actually be visible
prevents BC1 textures from becoming BC3 for no reason
#jira UE-133281
#preflight 6216749d104496cff89ca0e8
#rb dan.thompson,fabian.giesen
[CL 19097654 by charles bloom in ue5-main branch]
use an odd centered filter so there's no half pixel shift
#preflight 621539e0840463c99a6d1037
#rb fabian.giesen
[CL 19081928 by charles bloom 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]
Wasn't doing anything useful
It actually converted any non-zero alpha to full opaque
almost the opposite of what it claimed to do
Simplify the option set by removing useless options rather than fix it
#preflight 620bb7ed4353dc61c7f5c771
#rb dan.thompson,fabian.giesen
[CL 19005593 by charles bloom in ue5-main branch]
AlphaCoverageThresholds was accidentally enabled for all textures with thresholds = {0,0,0,1}
add new Texture bool bDoScaleMipsForAlphaCoverage
to make toggling coverage processing very clear
on old Textures that don't have the bDoScaleMipsForAlphaCoverage field, we can infer the correct value except in the case that threshold = {0,0,0,1} , in that case it's impossible to tell if it's wanted or not. There we look up a config value "EnableLegacyAlphaCoverageThresholdScaling"
Current config has EnableLegacyAlphaCoverageThresholdScaling=1
so the legacy bad behavior is maintained
#rb fabian.giesen,julien.stjean
#preflight 6205c4050d0c8cd8aba6dd9d
[CL 18952713 by charles bloom in ue5-main branch]
verified computes the exact same value as before
ComputeAlphaCoverage does not need to be templated because it does not reference pixels off edge of the mip
#preflight 620538070c64e1822f3ee740
#rb fabian.giesen,dan.thompson
[CL 18943963 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]
Submitted on behalf of fred.kimberley
#rb andy.davidson
#preflight 61f8719ea6632a34f35e654b
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18801709 in //UE5/Release-5.0/... via CL 18802160 via CL 18821533
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
[CL 18821619 by andrew davidson in ue5-main branch]
FLinearColor has also been modified to make any double->float conversions explicit. Previously all 3D TVector versions were allowed to be implicit and thus could convert TVector<double> => FLinearColor => TVector4<float>.
Fixed up all engine and game casts. Added "//LWC_TODO: precision loss" around any explicit casts that previously were silently explicit and we may need to revisit for precision loss analysis.
#jira UE-122085
#rb Ben.Ingram, Andrew.Davidson
#preflight 61f24af473238441cb7bb0f1
#ROBOMERGE-AUTHOR: zak.middleton
#ROBOMERGE-SOURCE: CL 18751249 in //UE5/Release-5.0/... via CL 18751253 via CL 18751319
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18751326 by zak middleton 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]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]