Commit Graph

24 Commits

Author SHA1 Message Date
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
devin doucette
33162faaed Texture: Read texture sources directly for the new texture build flow
#rb Zousar.Shaker
#rnx

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

[CL 16705972 by devin doucette in ue5-release-engine-test branch]
2021-06-17 12:24:34 -04:00
devin doucette
fcc6581ccc Texture: Simplified the compact binary copy of the build settings
#rb Zousar.Shaker
#rnx
#preflight 60cae29f6092ba000139c827

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

[CL 16703866 by devin doucette in ue5-release-engine-test branch]
2021-06-17 09:34:19 -04:00
Devin Doucette
15bd0e1a1d Texture: Moved textures to the Texture cache bucket
#rb Zousar.Shaker
#rnx

[CL 16548192 by Devin Doucette in ue5-main branch]
2021-06-03 11:49:06 -04:00
Devin Doucette
542c9e98dd DDC: Renamed GetInput+GetConstant to FindInput+FindConstant to clarify that they may return null
[CL 16509548 by Devin Doucette in ue5-main branch]
2021-05-31 11:52:00 -04:00
Zousar Shaker
9dafb5dafd Allow DDC2 TextureBuildFunction to be used when building textures in the editor process. Still does DDC1 cache get/put operations around the DDC2 ones, but that will be changed in the future as we shift from use of build actions to build definitions.
#rb devin.doucette

[CL 16487557 by Zousar Shaker in ue5-main branch]
2021-05-27 13:08:00 -04:00
Zousar Shaker
a6bd40e38d -Fix bug in the interpretation of mip offset in FTextureBuildFunction (it is offset into uncomrpessed data, not offset into compressed data)
-Added more metadata to the output of the texture export feature.
-Make FTextureBuildFunction stateless and abstract.  Now must be derived to produce an instantiable build function.
-Made PS5TextureFormat, TextureFormatOodle, and TextureFormatUncompressed modules depend on TextureBuild module and implement concrete derivatives of FTextureBuildFunction.
-Made PS5TextureFormat, TextureFormatOodle, and TextureFormatUncompressed modules register their build functions through an IBuildFunctionFactory for the lifetime of the module.
-Removed all public interface for the DerivedDataBuild{Loop, Worker} and have them just use the IBuildFunctionFactory modular feature to find all linked build functions.

#rb devin.doucette
#preflight 60acfb486905a60001c3cd29

[CL 16448407 by Zousar Shaker in ue5-main branch]
2021-05-25 10:37:34 -04:00
Zousar Shaker
bc073c41ed Change DerivedDataBuildWorker/Loop & TextureDerivedDataBuildExporter to use the DDC implementation of FBuildAction[Builder] and FBuildOutput[Builder]
#rb devin.doucette
#preflight 60a7e6ad7370d30001cd62cc

[CL 16421772 by Zousar Shaker in ue5-main branch]
2021-05-21 14:18:04 -04:00
Zousar Shaker
35cb1325a8 -Avoid having dependency on Engine by TextureFormatOodle by avoiding use of UTexture and getting
-Add mechanism for ITextureFormat to have a generic and private "FormatSettings" block that can be global, but also exported with a texture build action and applied when a texture build is executed remotely.  Also ensure that ChildTextureFormat is able to split and store/read the format settings for Child & Base format as separate sub-items.
-Allow the PS5TextureBuildWorker to compile in Oodle if the plugin is present and enabled.

#rb charles.bloom

[CL 16406838 by Zousar Shaker in ue5-main branch]
2021-05-20 14:19:29 -04:00
Zousar Shaker
5234e8fb12 Define first TextureBuildWorkers for use with DDC as well as a DDC build worker base module used as an entrypoint for standalone worker binaries.
#rb matt.peters

[CL 16323208 by Zousar Shaker in ue5-main branch]
2021-05-13 20:42:14 -04:00