Commit Graph

126 Commits

Author SHA1 Message Date
dan thompson
2ed61a6050 Updating FCompressedImage2D to NumSlices from SizeZ, for clarity.
Tested cooked build diff for sanity as this should only ever affect in-memory editor values.

#jira UE-149124
#rb fabian.giesen

[CL 31997496 by dan thompson in ue5-main branch]
2024-03-04 14:39:15 -05:00
charles bloom
39340c3b2b TextureFormatOodle BC6H : use RGBA16F instead of 32F intermediate surface in most cases
bump DDC key for BC6 output
#rb fabian.giesen

[CL 31869364 by charles bloom in ue5-main branch]
2024-02-28 08:36:05 -05:00
charles bloom
4b4e8649bd TextureCompressorModule::GetOutputAlphaFromKnownAlphaOrFallback to clean up common patterns of trying to query alpha
TextureFormatOodle : yes you can free the float mip immediately because hashing is no longer on an async task
FImage::FreeData with async detach option
validate VT sizes better to prevent crashes

#jira UE-183888

#rb dan.thompson, fabian.giesen

[CL 31815947 by charles bloom in ue5-main branch]
2024-02-26 16:02:58 -05:00
fabian giesen
3bc4e4f167 Oodle 2.9.12
#rb Dan.Thompson

[CL 30817716 by fabian giesen in ue5-main branch]
2024-01-23 16:22:43 -05:00
charles bloom
42f4d646e0 TextureFormatOodle : make the Oodle Texture DLLs load on first use rather than at startup
saves DLL load/unload time in the editor

#rb fabian.giesen
#rnx

[CL 29577797 by charles bloom in ue5-main branch]
2023-11-08 17:58:25 -05:00
fabian giesen
e6737fe03c Oodle 2.9.11
Also add official VisionOS, Win ARM64 libs.

#rb charles.bloom

[CL 28509461 by fabian giesen in ue5-main branch]
2023-10-05 14:43:38 -04:00
alexander suvorov
aae1e9742d Expose Preserve Extremes Oodle encoding option in Texture Editor UI.
#jira UE-161928
#rb Dan.Thompson

[CL 27571641 by alexander suvorov in ue5-main branch]
2023-09-01 19:25:25 -04:00
charles bloom
6010bd0780 Use 2xU16 instead of 4xU16 for BC4/5 texture image format in TextureFormatOodle
#preflight https://horde.devtools.epicgames.com/job/64408bad73470c177cbf749a
#rnx
#rb fabian.giesen

[CL 25129718 by charles bloom in ue5-main branch]
2023-04-20 12:32:12 -04:00
charles bloom
7484e2248d TFO: make Unsupported OodleTextureSdkVersion a warning instead of an error and still do a valid texture encode
#rb none
#preflight none

[CL 25120800 by charles bloom in ue5-main branch]
2023-04-19 20:28:52 -04:00
fabian giesen
be2d20840a Oodle 2.9.10b
#rb charles.bloom
#preflight 6440590cbf10538466cb1bc1

[CL 25120387 by fabian giesen in ue5-main branch]
2023-04-19 19:53:52 -04:00
charles bloom
1bbb1b066b [Backout] - CL25105799
[FYI] charles.bloom
Original CL Desc
-----------------------------------------------------------------
Oodle 2.9.10

#rb dan.thompson
#preflight 643db4209566b6145001370a

[CL 25116854 by charles bloom in ue5-main branch]
2023-04-19 17:35:31 -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
fabian giesen
6967479223 Oodle 2.9.10
#rb dan.thompson
#preflight 643db4209566b6145001370a

[CL 25076606 by fabian giesen in ue5-main branch]
2023-04-17 17:22:50 -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
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
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
charles bloom
2cb02ca145 TFOodle and OodleDXTTextureFormat : rename insights scopes to make it clear which is which
#rb fabian.giesen
#preflight none

[CL 24197528 by charles bloom in ue5-main branch]
2023-02-13 20:10:26 -05:00
fabian giesen
de13e1a64f Update to Oodle 2.9.9
#rb dan.thompson
#preflight 63e41180e042058d699b25c7

[CL 24083736 by fabian giesen in ue5-main branch]
2023-02-08 17:07:57 -05:00
charles bloom
a0cb917883 Oodle Texture nicer display names for information tab
#rb dan.thompson
#preflight none

[CL 23953046 by charles bloom in ue5-main branch]
2023-02-01 13:24:48 -05:00
henrik karlsson
ea8ea49aa2 [UBT]
* Changed lots of modules to use IWYUSupport instead of bEnforceIWYU (which is being deprecated)

#preflight 63bc8486c45a2c81e0b14fe8
#rb none

[CL 23641460 by henrik karlsson in ue5-main branch]
2023-01-11 01:32:59 -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
henrik karlsson
f01581365c Disabled IWYU on some modules that was too much work to make them compile in a IWYU environment. These should be revisited and fixed up to work with IWYU at some point
#preflight 63789b0c170bc34a93a869e5
#rb none

[CL 23218413 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:29 -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