78 Commits

Author SHA1 Message Date
devin doucette
01cb852a23 Deprecated the old names and paths for TSharedString
#rb Zousar.Shaker
#rnx

[CL 34567121 by devin doucette in ue5-main branch]
2024-06-21 12:52:32 -04:00
dan thompson
0a6eb11037 Preview Platform Textures
-- Added Decode interface to texture formats to return to PC viewable formats.
-- Added Detile interface to return textures to linear layout for relevant platforms.
-- Reworked the IBuild "DDC2" texture build usage to be more straightforward for chaining multiple build steps (i.e. Encode -> Tile -> Detile -> Decode).
-- Added UI to the texture editor to select a target platform to view.
-- Fixed a bug with DDC2 and CPU Copy textures (they didn't work at all)
#rb Devin.Doucette, fabian.giesen, charles.bloom
#jira UE-149124

[CL 33116818 by dan thompson in ue5-main branch]
2024-04-19 16:57:52 -04:00
charles bloom
0427710933 TextureFormatASTC : make BC7 HQ mapping configurable with new config DefaultASTCQualityBySizeHQ and respect per-texture quality override
only affects astenc not ISPC
#rb fabian.giesen

[CL 32837387 by charles bloom in ue5-main branch]
2024-04-09 16:05:47 -04:00
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
ben woodhouse
31208ca2a1 Add a new set of ASTC pixel formats for storing high precision normals in RG channels. The texture is encoded as LA for higher precision, swizzled to RG at runtime for shader compatibility with BC5. Requires RHI support.
Runtime pixel formats are named  PF_ASTC_<blocksize>_NORM_RG. Use texture format name ASTC_NormalRG_Precise for encoding.

[CL 25563983 by ben woodhouse in ue5-main branch]
2023-05-22 10:41:55 -04:00
bryan sefcik
7477d1237b Readded "TextureFormatIntelISPCTexComp" so "TextureFormatIntelISPCTexComp" is loaded before ASTC.
#preflight 6462c6dde80b4729366c75da

[CL 25483231 by bryan sefcik in ue5-main branch]
2023-05-15 20:06:48 -04:00
bryan sefcik
da92084a12 Optimized out more private modules includes and dependencies.
#preflight 64627c382965f6ea8ea83bd6

[CL 25479683 by bryan sefcik in ue5-main branch]
2023-05-15 16:26:12 -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
charles bloom
c4865d0292 TextureFormatASTC fix build
#rb none
#preflight none
#jira none

[CL 25116743 by charles bloom in ue5-main branch]
2023-04-19 17:33:00 -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
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
Dmitriy Dyomin
e72a9af7da Use ARM astcenc by default for ASTC texture compression
#jira UE-152945
#preflight trivial

[CL 24518700 by Dmitriy Dyomin in ue5-main branch]
2023-03-05 22:58:47 -05:00
Dmitriy Dyomin
1221e5705d Added support for ASTC Luminace+Alpha encoded normal maps
#jira none
#preflight 6404782e1d304a5471847436

[CL 24518576 by Dmitriy Dyomin in ue5-main branch]
2023-03-05 21:08:09 -05:00
Dmitriy Dyomin
b7a6440333 Update ASTC encoder to version 4.2.0 and integrate it as a library
#rb charles.bloom, fabian.giesen
#preflight 64034ea5a20ddf1bf41816df

[CL 24513276 by Dmitriy Dyomin in ue5-main branch]
2023-03-04 09:20:19 -05:00
Dmitriy Dyomin
89d7af656d Fixed: broken ASTC HDR compression
#jira none
#preflight 63b3f15cc6265e21bcdc1a81
#rb wei.iu
#fyi charles.bloom, jeannoe.morissette

[CL 23565227 by Dmitriy Dyomin in ue5-main branch]
2023-01-03 08:20:10 -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
464ba56fe9 astcenc use correct gamma space encoder mode
TextureFormatASTC

#preflight 6321fb97b602881e8e296eb3
#rb dan.thompson

[CL 22012868 by charles bloom in ue5-main branch]
2022-09-14 14:57:08 -04:00
charles bloom
1db99db5b7 fix astcenc swapping RB in TextureFormatASTC
also new cvars to run the decoder and leave temp files :
cook.ASTCDebugLeaveTempFiles=1
cook.ASTCDebugWriteDecodedImage=1

#preflight 631f61f822433f4f5c69f181
#rb none

[CL 21982673 by charles bloom in ue5-main branch]
2022-09-13 10:45:34 -04:00
charles bloom
6c14f474e8 update ASTCenc to 3.7
ASTCenc is not currently used (ISPCTexcomp is)

#preflight 62f42bda466f8c150dc1445a
#rb fabian.giesen

[CL 21328759 by charles bloom in ue5-main branch]
2022-08-10 18:42:49 -04:00
charles bloom
3cf577ad9a comments only : clean up some todo marks
#rb none
#preflight none

[CL 21326622 by charles bloom in ue5-main branch]
2022-08-10 17:26:50 -04:00
charles bloom
60eb0735b4 reduce texture build memory use by freeing source images when no longer needed
#preflight 62b72389ff7f5dd87e2f5573
#rb fabian.giesen,dan.thompson

[CL 20830728 by charles bloom in ue5-main branch]
2022-06-27 10:44:18 -04:00
Dan Thompson
0c889685e3 Updating the mip packing and tiling interfaces to not require image bits. This is required to determine memory layouts for textures prior to launching texture builds.
#rb fabian.geisen
#preflight 62a90ea9943e7bb256c39717

[CL 20659876 by Dan Thompson in ue5-main branch]
2022-06-14 19:00:42 -04:00