Commit Graph

166 Commits

Author SHA1 Message Date
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
charles bloom
91159a0815 TextureCompressorModule: GenerateMipChain detach free and delete test code
#preflight none
#rb dan.thompson
#rnx

[CL 25140973 by charles bloom in ue5-main branch]
2023-04-20 20:22:13 -04:00
charles bloom
a3e908ec8c TextureCompressorModule : two mip gens can run at the same time
#preflight none
#rb martins.mozeiko
#rnx

[CL 25139747 by charles bloom in ue5-main branch]
2023-04-20 19:09:10 -04:00
charles bloom
b4cc25d7bd TextureCompressorModule : fix bug introduced on Blur+NewFilters filter MipGen
#preflight none
#rb none
#rnx

[CL 25139593 by charles bloom in ue5-main branch]
2023-04-20 19:05:10 -04:00
charles bloom
4af88e0ef3 TextureCompressorModule : GenerateMipChain no need to use ping pong buffers and memcpy if the output and average filter are the same, we can work directly in the output mip chain
#preflight https://horde.devtools.epicgames.com/job/64417fc7f126d87e458e0e51
#rb martins.mozeiko
#rnx

[CL 25135591 by charles bloom in ue5-main branch]
2023-04-20 16:01:48 -04:00
charles bloom
905543b614 TextureCompressorModule : no need to run the same 2x2 mip gen filter twice
#rb none
#preflight none
#rnx

[CL 25132333 by charles bloom in ue5-main branch]
2023-04-20 14:18:42 -04:00
charles bloom
2b781f1c8c TextureCompressor better core utilization from improved ParallelFor usage
also detach the MipChain free to a task

#rb fabian.giesen
#preflight none

[CL 25121092 by charles bloom in ue5-main branch]
2023-04-19 20:47:37 -04:00
charles bloom
420b6f6adb TextureCompressorModule : run hashing for metadata on an async task
change FImage passed to TextureFormat to be const, it must not be changed becausing hashing is running threaded
remove early frees of intermediate image; this increases peak memory use

#preflight https://horde.devtools.epicgames.com/job/643ff4a3090323f9a3f7695e
#rb dan.thompson

[CL 25116608 by charles bloom in ue5-main branch]
2023-04-19 17:29:39 -04:00
charles bloom
2dc38fb568 TextureCompressorModule : trace scope slow MipHashBuilder step
#rb none
#preflight none

[CL 25099648 by charles bloom in ue5-main branch]
2023-04-18 21:25:36 -04:00
charles bloom
3609a87daf TextureCompressorModule : Parallel NormalizeMipChain
#preflight https://horde.devtools.epicgames.com/job/643f18b3b550f425acf0d7ca
#rb fabian.giesen

[CL 25098685 by charles bloom in ue5-main branch]
2023-04-18 19:46:35 -04:00
charles bloom
165a7dda01 TextureCompressorModule : fix some int32 overflows
#rb fabian.giesen
#jira none
#preflight https://horde.devtools.epicgames.com/job/6435d468fa5b95890a6ce7df

[CL 24999480 by charles bloom in ue5-main branch]
2023-04-11 17:53:11 -04:00
charles bloom
aa956df38a fix many texture and image int64 issues
can now successfully import over 32K textures to VT

#preflight https://horde.devtools.epicgames.com/job/6435ab7900398d6f88e8e808
#rb fabian.giesen
#jira none

[CL 24996140 by charles bloom in ue5-main branch]
2023-04-11 15:18:46 -04:00
charles bloom
197dfb19e6 nop just comments, clean up some todo Oodle marks
#rb none
#preflight none

[CL 24950141 by charles bloom in ue5-main branch]
2023-04-06 14:21:41 -04:00
charles bloom
2f71a4cc70 fix crash in Texture when using Downscale on very skew textures
#preflight none
#rb none

[CL 24867858 by charles bloom in ue5-main branch]
2023-03-31 02:41: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
6acfb3256c [Backout] - CL24678894
#fyi Dan.Thompson
Original CL Desc
-----------------------------------------------------------------
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.
#rb fabian.giesen
#rb charles.bloom
#preflight 641378f03f3d31c94a2e86b5
#preflight 64149d297d1280ffe750d78e

[CL 24691763 by Dan Thompson in ue5-main branch]
2023-03-17 13:13:02 -04:00
Dan Thompson
98bcf4f1cb 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.
#rb fabian.giesen
#rb charles.bloom
#preflight 641378f03f3d31c94a2e86b5

[CL 24678894 by Dan Thompson in ue5-main branch]
2023-03-16 16:42:02 -04:00
Dan Thompson
3be34c6c93 Imported partial mip chains must be generated out to a full mip chain.
#rb charles.bloom
#preflight 641363f68354cad0fab4135a

[CL 24676337 by Dan Thompson in ue5-main branch]
2023-03-16 14:55:10 -04:00
eric renaudhoude
e44e8f11af ImageCore: Extracting the working color space transformation method into the public namespace.
#jira none
#rb charles.bloom
#preflight 641091cdc41a0a2a7730295c
#rnx

[CL 24645734 by eric renaudhoude in ue5-main branch]
2023-03-14 18:01:33 -04:00
Dan Thompson
5a737ea6bc Texture tiling fix.
Certain platforms that tile textures will tile non pow2 textures with mips different than non pow2 textures without mips, so we need to plumb down information about the mip chain to the tiling texture formats.
#rb fabian.giesen
#preflight 64068553aa00423335f30765

[CL 24546549 by Dan Thompson in ue5-main branch]
2023-03-07 15:15:48 -05:00
Dan Thompson
e3b465915d Fix for longlat textures and LeaveExistingMips calculating the wrong mip count.
#preflight 63dd6de01466610c64329794

[CL 23996865 by Dan Thompson in ue5-main branch]
2023-02-03 15:44:56 -05:00
charles bloom
55ecdcc513 TextureCompressorModule : remove unnecessary and inconsistent conditional on ParallelFor in AdustImage
#rb none
#preflight 63c6d8bd2e714f64ad3d91b4

[CL 23740228 by charles bloom in ue5-main branch]
2023-01-17 12:39:52 -05:00
Dan Thompson
f3d53d2ba3 Fix for mip generation for child platforms unnecessarily linearizing.
TextureFormatOodle is the only format that returns true for CanAcceptNonF32Source(), which allows the build system to occasionally avoid converting to an F32 input to the compressor. However, the ChildTextureFormat for offline platform processing did not forward this function so this conversion was happening unnecessarily.

This manifested as a DDC determinism issue with the PreEncodeHash when enabling shared linear encoding, where the output mip data would be the same (as the F32 conversion would round trip without change), however the input to the convertor would change between platforms.

Since Oodle is the only format that routes this, we can invalidate only this format and avoid a worldwide rebuild.

#rb charles.bloom
#preflight 638fcd007e0feab0b77ad3f3

[CL 23419050 by Dan Thompson in ue5-main branch]
2022-12-06 18:20:21 -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