Commit Graph

77 Commits

Author SHA1 Message Date
zousar shaker
418cb0c3ad Avoid a deadlock when running Oodle texture compression on low core count machines. Suggested by andriy.tylychko in this JIRA:
https://jira.it.epicgames.com/browse/UE-119594
as a temporary measure until arne.schober has a chance to put in place a long term fix.

#rb devin.doucette
[FYI] andriy.tylychko
[FYI] arne.schober

#ROBOMERGE-SOURCE: CL 16853912 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16853923 by zousar shaker in ue5-release-engine-test branch]
2021-07-14 15:32:19 -04:00
aurel cordonnier
ac03f43735 [Backout] - CL16609377
[FYI] alexander.suvorov
Original CL Desc
-----------------------------------------------------------------
#jira UE-87812
Allow color adjustment for cubemaps created from longlat sources, use proper color space for imported HDR textures.
#rb Julien.StJean
[FYI] charles.bloom
#preflight 60ba698e884c6300012adbac

#ROBOMERGE-SOURCE: CL 16624208 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16624214 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-10 11:45:40 -04:00
alexander suvorov
e10197b869 #jira UE-87812
Allow color adjustment for cubemaps created from longlat sources, use proper color space for imported HDR textures.
#rb Julien.StJean
[FYI] charles.bloom
#preflight 60ba698e884c6300012adbac

#ROBOMERGE-SOURCE: CL 16609377 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16609393 by alexander suvorov in ue5-release-engine-test branch]
2021-06-09 14:24:07 -04:00
alexander suvorov
7c699ad11b Use proper argument types in ITextureCompressorModule::GenerateBaseCubeMipFromLongitudeLatitude2D.
#rb none

[CL 16548875 by alexander suvorov in ue5-main branch]
2021-06-03 12:46:35 -04:00
alexander suvorov
ecd2b6b8c6 #jira UE-87812
Disable deprecated cubemap processing originally designed for ambient lighting.
#rb james.doverspike
#fyi charles.bloom

[CL 16546734 by alexander suvorov in ue5-main branch]
2021-06-03 09:33:38 -04:00
Julien StJean
9471813de1 Added the capacity to import a 2d texture as a cube texutre when using interchange (for HDRI images).
#jira UETOOL-3484
#rb Alexis.Matte
#preflight 60b536bf3c6c4e000166feeb

[CL 16510736 by Julien StJean in ue5-main branch]
2021-05-31 16:30:35 -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
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
Zousar Shaker
6521df7bb5 Attempt #2 (with issues fixed from last time): Extract texture format indexing and interfaces from the TargetPlatformManager and instead put it into a new type: TextureFormatManager instead. TargetPlatformManager retains the same API for querying texture format information, it just forwards to the TextureFormatManager instead. This is to facilitate the use of TextureCompressor from standalone executables that shouldn't depend on TargetPlatformManager.
#rb ben.ingram

Undo //UE5/Main/Engine/Source/... changelist 16172520

[CL 16185594 by Zousar Shaker in ue5-main branch]
2021-05-03 14:05:29 -04:00
Zousar Shaker
64b4edb93a Undo //UE5/Main/Engine/Source/... changelist 16165786
[CL 16172520 by Zousar Shaker in ue5-main branch]
2021-04-30 16:07:56 -04:00
Yuriy ODonnell
7e26875b5a Initialize TextureFormatManager in FTextureCompressorModule::StartupModule. Fixes crash on startup due to TFM singleton being created from a task thread.
#rb Ola.Olsson
#fyi Zousar.Shaker

[CL 16166753 by Yuriy ODonnell in ue5-main branch]
2021-04-30 05:44:53 -04:00
Zousar Shaker
5120294eb3 Extract texture format indexing and interfaces from the TargetPlatformManager and instead put it into a new type: TextureFormatManager instead. TargetPlatformManager retains the same API for querying texture format information, it just forwards to the TextureFormatManager instead. This is to facilitate the use of TextureCompressor from standalone executables that shouldn't depend on TargetPlatformManager.
#rb ben.ingram

[CL 16165786 by Zousar Shaker in ue5-main branch]
2021-04-30 00:28:32 -04:00
charles bloom
a5ee4d69bf remove duplicate Color::ComputeLuminance , use GetLuminance
also fix bug in ProxyLOD AverageColor , iterating on Size instead of 4

#rb none

[CL 16047335 by charles bloom in ue5-main branch]
2021-04-18 13:54:06 -04:00
danny couture
d5ba6e94d9 Remove BackgroundPriority to let the ParallelFor auto select the best priority depending on which thread is launching the paralllelfor
i.e. This allows latency sensitive texture compression parallelfor from the gamethread to benefit from all the foreground threads and complete faster

#rb Arne.Schober

[CL 15387719 by danny couture in ue5-main branch]
2021-02-11 11:01:47 -04:00
Arne Schober
df09d6779f U5 - Move TextureCompression into ParallelFor
[CL 15378859 by Arne Schober in ue5-main branch]
2021-02-10 15:26:28 -04:00
Jeremy Moore
4298fbf748 Add flag to support texture build not stripping the alpha channel.
This has a single use case: We build streaming virtual textures from runtime virtual textures and we want to ensure the format doesn't change just because the alpha channel is all 1.
#jira none
#rb danny.couture

[CL 15275121 by Jeremy Moore in ue5-main branch]
2021-02-01 17:30:41 -04:00
danny couture
6bfd85065f Make ParallelFor automatically pick the right scheduling priority to avoid low prio task interfering with the game and render threads causing huge stalls
- This dramatically improves editor framerate under high load
Cleanup all the hacks that are not needed anymore

#rb Andriy.Tylychko

[CL 14676999 by danny couture in ue5-main branch]
2020-11-06 11:20:53 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
Uriel Doyon
86b86e6713 Fixed texture LODGroup settings not being correctly setup at engine initialization.
Enabled back checks on power of 2 textures when generating mips.
#rb josh.adams
#jyi rolando.caloca
#jira UE-101452

[CL 14550682 by Uriel Doyon in ue5-main branch]
2020-10-22 18:13:26 -04:00
Rolando Caloca
42065199d1 UE5 - Update to 14516366
#rnx
#jira UE-101247
#rb Uriel.Doyon

[CL 14516381 by Rolando Caloca in ue5-main branch]
2020-10-19 14:22:47 -04:00
Rolando Caloca
c80d9f045a UE5 - Update to 14516198
#rnx
#jira UE-101247
#rb Uriel.Doyon

[CL 14516366 by Rolando Caloca in ue5-main branch]
2020-10-19 14:19:59 -04:00
Rolando Caloca
ed2c58a60c UE5 - Fix check for mip generation of odd-sized textures
#rb Danny.Couture, Uriel.Doyon
#jira UE-101247
#rnx

[CL 14514844 by Rolando Caloca in ue5-main branch]
2020-10-19 12:21:37 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
danny couture
90ed5f144f Optimize NVTT texture compression using AVX2
- Load the proper delay-loaded dll depending on instruction support of the current platform.
  - Replaced reciprocal approximation with proper division.
    - This improves performance as the division is faster than a reciprocal with refinement on recent CPUs.
    - This improves quality as the division provides higher precision.
    - It fixes a nasty non-determinism in the DDC because reciprocal yield different results on different CPUs.
  - Configured so that AVX2 and SSE2 results are exactly the same (see config.h).
  - More details can be found in config.h

  - 80.773s -> 47.547s for single-threaded 8k texture compression
  - 18m34s -> 14m50s for recompressing all textures of Reverb P_World during level loading.

#rb Francis.Hurteau, Geoff.Evans

[CL 14362917 by danny couture in ue5-main branch]
2020-09-22 05:48:20 -04:00