Commit Graph

70 Commits

Author SHA1 Message Date
dan thompson
bb9bc58b72 CPU accessible textures
#rb fabian.giesen
#rb charles.bloom

[CL 26655002 by dan thompson in ue5-main branch]
2023-07-27 16:46:23 -04:00
dan thompson
f4c4e7731c Backing out the typecast stuff again - this time because there are incoming changes from UE that will cause big headaches. Gonna wait until they land in this stream to try this again.
[Backout] - CL25586915
[FYI] Dan.Thompson
Original CL Desc
-----------------------------------------------------------------
Enable the typecast error now that theoretically they are all fixed (this time :( ).
#rb none
#jira UE-166462
#preflight 646bfa2f656436839e398ad0

[CL 25593278 by dan thompson in ue5-main branch]
2023-05-23 18:34:21 -04:00
dan thompson
4fed9eef3b Enable the typecast error now that theoretically they are all fixed (this time :( ).
#rb none
#jira UE-166462
#preflight 646bfa2f656436839e398ad0

[CL 25592286 by dan thompson in ue5-main branch]
2023-05-23 18:14:27 -04:00
dan thompson
278d3b0ce3 Type safety set to off to fix build issue as I missed some stuff.
#rb none
#preflight none

[CL 25514931 by dan thompson in ue5-main branch]
2023-05-17 15:58:28 -04:00
dan thompson
042c6053e7 Typecast warning fixups
#jira UE-166462
#rb fabian.giesen
#preflight 6463ec86d62884a78fd92874

[CL 25514891 by dan thompson in ue5-main branch]
2023-05-17 15:57:20 -04:00
bryan sefcik
d205101cc8 Removed unnecessary private include modules.
#preflight 645da640cf788a25581110bb

[CL 25451545 by bryan sefcik in ue5-main branch]
2023-05-12 12:13:52 -04:00
dan thompson
6083992f93 Switch to xxhash for mip hashing.
#rb fabian.giesen
#jira UE-183751
#preflight 645d2b79ea1c7ba4d6b744d7

[CL 25438535 by dan thompson in ue5-main branch]
2023-05-11 19:32:41 -04:00
Steve Robb
0f44db07d5 Replaced some container operator new usage.
#rb james.hopkin
#jira none
#preflight 6459670f28155a0f41565a34

[CL 25384456 by Steve Robb in ue5-main branch]
2023-05-09 05:17:49 -04:00
Dan Thompson
9a6a7a84d9 Plumb the mip layout down to the child texture ddc key versions as certain child formats need to know mip dimensions in order to know if aspects of the build affect the textures, as well as note in the extended data whether the texture tiling is sensitive to LODBias so that textures that change layouts as a result of that are independent in the ddc.
This also fixes the missing include path for TextureFormat.Build.cs

#rb fabian.giesen
#rb charles.bloom
#preflight 6421fa27974dfaa53cb188e5

[CL 24808879 by Dan Thompson in ue5-main branch]
2023-03-27 16:39:53 -04:00
Dan Thompson
9bbb9204e0 Fixing incorrect printf specifier for non-TCHAR string type (thanks devin!)
#rb none
#fyi devin.doucette
#preflight 640a5a353c2db40029438375

[CL 24583868 by Dan Thompson in ue5-main branch]
2023-03-09 17:31:25 -05:00
Dan Thompson
3aa87998b2 Fix for shared linear texture encoding and DDC2/IBuild interface.
#rb fabian.giesen
#fyi devin.doucette
#preflight 640a29b5c41a0a2a772b8deb

[CL 24579796 by Dan Thompson in ue5-main branch]
2023-03-09 14:03:35 -05:00
Dan Thompson
0b9609b747 [Backout] - CL23414304
#fyi Dan.Thompson
Original CL Desc
-----------------------------------------------------------------
Cache TextureFormat on the BuildSettings so we don't have to look through the TPM whenever we want it.
#rb charles.bloom
#preflight 638f926c5624e6da5e0afa93
#preflight 638fa3c05624e6da5e12c8b9

[CL 23415924 by Dan Thompson in ue5-main branch]
2022-12-06 15:36:46 -05:00
Dan Thompson
34e354e063 Cache TextureFormat on the BuildSettings so we don't have to look through the TPM whenever we want it.
#rb charles.bloom
#preflight 638f926c5624e6da5e0afa93

[CL 23414304 by Dan Thompson in ue5-main branch]
2022-12-06 14:35:45 -05:00
Dan Thompson
96edde023f Removing PostTile and PostEncode hashes as they cause determinism issues when enabling shared linear texture encoding.
#rb none
#preflight 63780baa8b12eb83a7e9c702

[CL 23208960 by Dan Thompson in ue5-main branch]
2022-11-18 18:23:08 -05:00
Dan Thompson
fa34918d88 Update the texture build to route new information out:
1. Whether the source mips detects alpha
2. Several hashes to track the state of data at various stages of the build process.

Move the r.SharedLinearTextureEncoding out of the ConsoleManager as that's The Old Way.
Rename TextureDerivedDataVersion for uniqueness.
#rb devin.doucette
#rb charles.bloom
#preflight 6377fca7815e4b9b75681765

[CL 23206768 by Dan Thompson in ue5-main branch]
2022-11-18 17:09:58 -05:00
Dan Thompson
4ba968e031 Removing CompressionCacheGuid from texture build settings as it's not needed there.
#rb fabian.giesen
#preflight 636d72364a0097651f1cf37d

[CL 23088569 by Dan Thompson in ue5-main branch]
2022-11-10 17:21:42 -05:00
Devin Doucette
8dae547a96 Texture: Integrated the texture compiling manager with the derived data build scheduler
This allows for pausing of async texture compilation and limiting concurrent texture builds based on the same memory limits that the asset compiling manager uses.

#jira UE-141137
#jira UE-141139
#preflight 636a78af4d3c1d9d92d2ce5a
#rb Zousar.Shaker

[CL 23033009 by Devin Doucette in ue5-main branch]
2022-11-08 13:26:12 -05:00
Dan Thompson
8b4692d085 Remove "mutable" parts of the build settings. For platforms that need the mip dimensions, this is now piped down via a parameter instead of violating "const".
#rb fabian.giesen
#rb charles.bloom
#preflight 636987d7dc30a4ce96651026

[CL 23021179 by Dan Thompson in ue5-main branch]
2022-11-07 18:29:15 -05:00
charles bloom
77ac7664b2 Texture MipGen clamp mip filter if texture address mode is not wrap in both x&y
todo for the future to separate x/y mip gen clamp/wrap

#jira UE-162283
#preflight 63612d38ef6d25c67459c5ed
#rb alexander.suvorov

[CL 22921412 by charles bloom in ue5-main branch]
2022-11-02 13:53:39 -04:00
charles bloom
7b03388528 Normal Maps were not renormalizing normal vectors after generating mips
caused reduced length normals, which then bends them when we drop components for compression in BC5 or ASTC
don't change existing content, only normalize when new option bNormalizeNormals is enabled
note that ISPCTexComp is inconsistently doing normalization, no other tex formats do

#preflight 632270e0a514fd1e3751a141
#rb fabian.giesen

[CL 22028968 by charles bloom in ue5-main branch]
2022-09-15 10:49:25 -04:00
Dan Thompson
b66139e721 Shared Linear Texture Encoding [DDC2] -- Separates out the platform tiling code to allow for texture builds to reuse the linear texture that gets encodes with windows.
Primary Components:
    DDC2 texture build input/output revamped to support future FDerivedData references where the bulk data remains in the Zen server during cooks.
    Tiling code is separated out in to ITextureTiler interface so that tiling can be done without calling FChildTextureFormat::CompressImage[Ex]
    Adding mip dimensions to GetMipCountForBuildSettings

#rb fabian.giesen, zousar.shaker
#preflight 6304f87f516bef57ffada18d

[CL 21511157 by Dan Thompson in ue5-main branch]
2022-08-23 12:41:58 -04:00
bryan sefcik
de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00
Dan Thompson
39fc9af40d Migrate pixel format size calculations to Core so that texture build workers (and misc programs) can touch them without having to depend on RenderCore. By popular demand, brough over the RHI specific capabilities stuff as well.
#rb Mihnea.Balta
#preflight 62cdafda254b7ba6dbcf2501

[CL 21059272 by Dan Thompson in ue5-main branch]
2022-07-12 13:56:13 -04:00
charles bloom
ada7f6b1d8 Texture GetBuildRequiredEstimate better estimate of texture build memory needed
create new TextureBuildUtilities module that can be used from Engine or TextureBuildWorker
new cvar memory.WindowsPlatformMemoryGetStatsLimitTotalVirtualGB simulates a lower memory system

#rb fabian.giesen
#preflight 62b34bf8650c9d5857a38514

[CL 20786800 by charles bloom in ue5-main branch]
2022-06-22 20:21:16 -04:00
devin doucette
b2a07ea03e DDC: Merge from UE5/Main
#preflight 6288ff678828ea88c8af7034
#preflight 628ab5d93246d5019db76ed2
#rb none
#rnx

#ROBOMERGE-OWNER: devin.doucette
#ROBOMERGE-AUTHOR: Devin.Doucette
#ROBOMERGE-SOURCE: CL 20353148 via CL 20353832 via CL 20353839
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20355348 by devin doucette in ue5-main branch]
2022-05-24 16:40:25 -04:00