Commit Graph

35 Commits

Author SHA1 Message Date
charles bloom
52b23c8d20 clean up the mess caused by AlphaCoverageThresholds
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]
2022-02-11 10:48:52 -05:00
devin doucette
cdedb37d66 DDC: Converted the Build API to UTF-8 where appropriate
#jira UE-133382
#rb Zousar.Shaker
#rnx
#preflight 61e798ee3f00a0a23ef78c49

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18655307 in //UE5/Release-5.0/... via CL 18655320 via CL 18655322
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18655349 by devin doucette in ue5-main branch]
2022-01-19 00:27:48 -05:00
zousar shaker
4a4295dff0 Fix inconsistent serialization of floating point vectors in FTextureBuildSettings triggered by LWC. Always use float (not double) precision for these vectors.
Fix legacy DDC key generation for textures to always use double (not float) precision when composing the key.

#jira UE-139194
#rb devin.doucette
#preflight 61e5931687389804e5640da9

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18633504 in //UE5/Release-5.0/... via CL 18633518 via CL 18633528
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637381 by zousar shaker in ue5-main branch]
2022-01-18 04:31:25 -05:00
devin doucette
b4e6fce55b DDC: Changed FCacheRecord to be a collection of values
The structure with a value and attachments is an artifact of an early design where the record *was* a compact binary package. That design changed months ago and it now simplifies the cache record significantly to make it a collection of values without specific "value" and "attachment" types.

#rb Zousar.Shaker
#rnx
#preflight 61d8b94ed17842e547def37a

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18553971 in //UE5/Release-5.0/... via CL 18553976
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18553977 by devin doucette in ue5-release-engine-test branch]
2022-01-07 23:22:29 -05:00
devin doucette
35393bbb2b DDC: Split FPayload into separate FValue and FValueId types
A payload was conceptually a value with an ID. That has been formalized by removing the ID from the payload and having separate FValue and FValueId types. This separation cleans up the API in a few areas, and provides a more natural path to providing a basic key/value API.

#rb Zousar.Shaker
#rnx
#preflight 61d704c04c252480ca284d61

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18531844 in //UE5/Release-5.0/... via CL 18531856
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18531864 by devin doucette in ue5-release-engine-test branch]
2022-01-06 11:05:57 -05:00
charles bloom
64fc29ad3a versioned Oodle Texture encode
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]
2021-12-14 13:04:03 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
eric renaudhoude
262fa16f9f Color Management: Adding (advanced) source encodings for textures.
#rb rod.bogart
#jira none
#preflight 6143e5484778fa00017df627

#ROBOMERGE-AUTHOR: eric.renaudhoude
#ROBOMERGE-SOURCE: CL 17547199 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17547204 by eric renaudhoude in ue5-release-engine-test branch]
2021-09-16 22:14:03 -04:00
zousar shaker
a443e34580 Change output of DDC2 texture build function to better organize structured data and bulk data into separate payloads.
Remove older prototype DDC2 texture build code path and route the commandline switch it used to be synonymous with the newer path.
Fixed a bug where DDC2 produced texture mips didn't clear the "PagedToDerivedData" flag when they were streamed in causing the code to then go get the DDC1 texture payload.
Fixed a bug where the mip info provider wasn't accounting for the fact that DDC2 mip payloads aren't prefixed with a MipSize.

#rb devin.doucette
#preflight 613a369fbf5a71000167c318

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 17474647 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17474683 by zousar shaker in ue5-release-engine-test branch]
2021-09-09 14:17:19 -04:00
johan torp
4afc055300 Add DDC2 memory scheduler to limit peak memory consumption
Also:
* Implemented rough memory usage estimate for texture cooking
* Fixed build action -> constant copying bug

#rb devin.doucette

#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 17470303 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17470308 by johan torp in ue5-release-engine-test branch]
2021-09-09 06:04:13 -04:00
devin doucette
9c01e2fc04 DDC: Moved FPayloadId into a dedicated header
#rb Zousar.Shaker
#rnx

#ROBOMERGE-SOURCE: CL 17426140 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17426194 by devin doucette in ue5-release-engine-test branch]
2021-09-03 16:30:53 -04:00
zousar shaker
74dd8e1d6e Fix bug in texture build flow (new and legacy) caused by my previous changes to the build flow. Can't completely remove all information on the texture mips (serialized and in memory) about the presence of a mip in derived data. Instead of a string key, now keeping a boolean indicating the mip's status in DDC (agnostic of whether we're using the new or old flow).
#rb devin.doucette

#ROBOMERGE-SOURCE: CL 17392438 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17392493 by zousar shaker in ue5-release-engine-test branch]
2021-09-01 16:57:05 -04:00
zousar shaker
5266635fee Ensure functional parity between legacy and new texture build paths for texture cube array assets (see CL17268789)
#rb ben.ingram

#ROBOMERGE-SOURCE: CL 17278495 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v858-17259218)

[CL 17278506 by zousar shaker in ue5-release-engine-test branch]
2021-08-23 18:42:12 -04:00
charles bloom
e1b4815c8b clean up fast texture encode option with explicit -fasttextureencode option
stop using "with editor" to mean "fast texture encode"

#rb devin.doucette,dan.thompson

#ROBOMERGE-SOURCE: CL 17205139 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17205157 by charles bloom in ue5-release-engine-test branch]
2021-08-17 16:24:17 -04:00
zousar shaker
9fef1f82df Bump version guid for all DDC2 texture build functions.
#rb none

#ROBOMERGE-SOURCE: CL 17163632 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17163638 by zousar shaker in ue5-release-engine-test branch]
2021-08-13 00:56:56 -04:00
zousar shaker
665aa69dcb Allow Oodle texture plugin & module to be overridden by project configuration when building standalone texture build workers.
#rb devin.doucette

#ROBOMERGE-SOURCE: CL 17107168 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v854-17104634)

[CL 17107188 by zousar shaker in ue5-release-engine-test branch]
2021-08-09 16:33:30 -04:00
devin doucette
bd60f3ef1b DDC: Removed ICacheFactory in favor of exported functions
FCacheBucket is now always exposed as FAnsiStringView.

#rb Zousar.Shaker
#rnx

#ROBOMERGE-SOURCE: CL 17084521 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17084549 by devin doucette in ue5-release-engine-test branch]
2021-08-06 12:53:08 -04:00
devin doucette
409218e5fd Texture: Allow DDC to select the compression method for texture build output and remove the mip size from serialized mips
#rb Zousar.Shaker
#rnx

#ROBOMERGE-SOURCE: CL 16956295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16956302 by devin doucette in ue5-release-engine-test branch]
2021-07-26 10:29:18 -04:00
devin doucette
e8f7e08be4 Texture: Use GetModuleChecked instead of LoadModuleChecked since it can be called from any thread
#rb Zousar.Shaker
#rnx

#ROBOMERGE-SOURCE: CL 16888859 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16888872 by devin doucette in ue5-release-engine-test branch]
2021-07-19 16:56:42 -04:00
zousar shaker
08276955eb Use a hierarchical versioning scheme for texture build functions.
#rb devin.doucette

#ROBOMERGE-SOURCE: CL 16861933 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16861938 by zousar shaker in ue5-release-engine-test branch]
2021-07-15 09:59:12 -04:00
matt peters
e4cef6f58a FTextureBuildFunction::Build: Fix crash if compressor build fails.
#rb Zousar.Shaker
#rnx

#ROBOMERGE-SOURCE: CL 16753471 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16753480 by matt peters in ue5-release-engine-test branch]
2021-06-23 00:40:43 -04:00
devin doucette
ce5d728b85 Texture: Fixed the formatting of an error message
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16713242 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16713291 by devin doucette in ue5-release-engine-test branch]
2021-06-17 17:55:15 -04:00