Commit Graph

24 Commits

Author SHA1 Message Date
eric renaudhoude
cf89a6470e Color Management: Adding (advanced) source encodings for textures.
#rb rod.bogart
#jira none
#preflight 6143e5484778fa00017df627

[CL 17547199 by eric renaudhoude in ue5-main branch]
2021-09-16 22:13:33 -04:00
Zousar Shaker
3df0210024 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

[CL 17474647 by Zousar Shaker in ue5-main branch]
2021-09-09 14:13:59 -04:00
Johan Torp
7286b53430 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

[CL 17470303 by Johan Torp in ue5-main branch]
2021-09-09 06:04:00 -04:00
Devin Doucette
d115ba8b34 DDC: Moved FPayloadId into a dedicated header
#rb Zousar.Shaker
#rnx

[CL 17426140 by Devin Doucette in ue5-main branch]
2021-09-03 16:28:51 -04:00
Zousar Shaker
7e9ccd727e 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

[CL 17392438 by Zousar Shaker in ue5-main branch]
2021-09-01 16:54:50 -04:00
Zousar Shaker
32bc0b7b5d Ensure functional parity between legacy and new texture build paths for texture cube array assets (see CL17268789)
#rb ben.ingram

[CL 17278495 by Zousar Shaker in ue5-main branch]
2021-08-23 18:41:36 -04:00
charles bloom
c84d2dec93 clean up fast texture encode option with explicit -fasttextureencode option
stop using "with editor" to mean "fast texture encode"

#rb devin.doucette,dan.thompson

[CL 17205139 by charles bloom in ue5-main branch]
2021-08-17 16:23:30 -04:00
Zousar Shaker
5799fc38b2 Bump version guid for all DDC2 texture build functions.
#rb none

[CL 17163632 by Zousar Shaker in ue5-main branch]
2021-08-13 00:56:20 -04:00
Zousar Shaker
36eabd2db2 Allow Oodle texture plugin & module to be overridden by project configuration when building standalone texture build workers.
#rb devin.doucette

[CL 17107168 by Zousar Shaker in ue5-main branch]
2021-08-09 16:32:18 -04:00
Devin Doucette
48d8d5f7eb DDC: Removed ICacheFactory in favor of exported functions
FCacheBucket is now always exposed as FAnsiStringView.

#rb Zousar.Shaker
#rnx

[CL 17084521 by Devin Doucette in ue5-main branch]
2021-08-06 12:51:28 -04:00
Devin Doucette
2762172bb4 Texture: Allow DDC to select the compression method for texture build output and remove the mip size from serialized mips
#rb Zousar.Shaker
#rnx

[CL 16956295 by Devin Doucette in ue5-main branch]
2021-07-26 10:29:04 -04:00
Devin Doucette
18b4e4a14c Texture: Use GetModuleChecked instead of LoadModuleChecked since it can be called from any thread
#rb Zousar.Shaker
#rnx

[CL 16888859 by Devin Doucette in ue5-main branch]
2021-07-19 16:55:25 -04:00
Zousar Shaker
c50196f2cc Use a hierarchical versioning scheme for texture build functions.
#rb devin.doucette

[CL 16861933 by Zousar Shaker in ue5-main branch]
2021-07-15 09:58:48 -04:00
Matt Peters
1cb57e1706 FTextureBuildFunction::Build: Fix crash if compressor build fails.
#rb Zousar.Shaker
#rnx

[CL 16753471 by Matt Peters in ue5-main branch]
2021-06-23 00:39:02 -04:00
Devin Doucette
488e35dc11 Texture: Fixed the formatting of an error message
#rb trivial
#rnx

[CL 16713242 by Devin Doucette in ue5-main branch]
2021-06-17 17:54:39 -04:00
Devin Doucette
34598270e7 Texture: Read texture sources directly for the new texture build flow
#rb Zousar.Shaker
#rnx

[CL 16705971 by Devin Doucette in ue5-main branch]
2021-06-17 12:24:11 -04:00
Devin Doucette
47d546efb4 Texture: Simplified the compact binary copy of the build settings
#rb Zousar.Shaker
#rnx
#preflight 60cae29f6092ba000139c827

[CL 16703860 by Devin Doucette in ue5-main branch]
2021-06-17 09:32:46 -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