373 Commits

Author SHA1 Message Date
adam kinge
a53e767cf7 Only iOS and tvOS currently support device connection type specific icons
#jira UE-190844
#rb jack.porter
#rnx
#lockdown jack.porter

[CL 27022277 by adam kinge in 5.3 branch]
2023-08-11 00:43:13 -04:00
dan elksnitis
6286f1559f [shaders]
- Remove the condition causing SCW to automatically exit after a single job if HLSLcc was used. This doesn't appear to be beneficial; HLSLcc uses a lot of memory but does not appear to leak it, so we're wasting time spinning up new processes unnecessarily here. This allows us to deprecated the associated field in the compiler output and function in IShaderFormat.
- Strip out compiler invocations stats; this was not accurate in some cases and it was decided after discussion that at this point the effort to fix the problems was not worth the utility we get from it.

#rb Jason.Nadro
#rb Laura.Hermanns

[CL 26256807 by dan elksnitis in 5.3 branch]
2023-06-27 10:08:04 -04:00
dan elksnitis
00685561cc [shaders]
- Add option to independent preprocessing IShaderFormat API to allow a "secondary" preprocess & compile if a RequiresSecondaryCompile predicate implemented in the shader format returns true; this predicate takes as input the compile input, environment,  and the output of the first execution of the preprocess function. This is intended to handle the usage of UESHADERMETADATA pragmas (set in the preprocess output) by some backends to indicate a secondary compilation is required to target the variant hardware (setting additional #defines and potentially different compiler arguments). Other backends have an additional requirement that any stereo shaders also require separate compilation for each target, which can be handled by querying the FShaderCompilerEnvironment in this same predicate.
- Move the combining of outputs in the secondary compile case into the core shader system so it doesn't need to be copypasta'd in any shader format backends which require the aforementioned secondary compilation, exposing an API function which returns the particular "key" used to identify these combined shader outputs in the RHI.
- Rework the internal compilation/preprocess functions so a minimal amount of code needs to be wrapped in __try/__except (allowing objects with destructors to be created in the higher level functions).

#rb Massimo.Tristano

[CL 25977467 by dan elksnitis in ue5-main branch]
2023-06-14 10:11:27 -04:00
jimmy smith
ac34b71821 Fix for editor crash on startup
#rb josh.adam aaron.mcleran

[CL 25960030 by jimmy smith in ue5-main branch]
2023-06-13 15:15:40 -04:00
dan elksnitis
06395bee56 [shaders] add Hash field to FShaderCompilerInput so debug output of InputHash.txt works correctly whether or not the preprocessed cache is enabled, and the IShaderFormat API for debug output of independent-preprocessing-enabled backends is cleaner
#rb Jason.Nadro

[CL 25814977 by dan elksnitis in ue5-main branch]
2023-06-06 09:55:43 -04:00
josh adams
f6381544e2 - Allow a project to override the Main SDK version for a platform (the platform's project Engine.ini would set
[OverrideSDK]
  SDKVersion=x.y.z
and AutoSDK, or anything using GetMainVersion(), would use that version string instead
- If multiple targets are built in one run of UBT/UAT, it will error out because there is no support to switch SDKs (and builds happen in parallel, etc)
- This is not a complete solution, because it can cause problems with shared tools like ShaderCompileWorker, when different projects are on different SDKs and they have one SCW to share
- Renamed GetMainVersion to GetMainVersionInternal(), and wrapped that in a new non-vitual GetMainVersion() that calls GetMainVersionInternal() (and handles the ini overrides)
#rb david.harvey,dave.barrett
#jira UE-185364
#preflight 647a12e7b0670733186c928e

[CL 25767233 by josh adams in ue5-main branch]
2023-06-02 13:42:59 -04:00
jimmy smith
13dbfcba26 READD: Chunked Seektables for BinkAudio (with Fixes)
#rb dan.thompson igor.dallavanzi

[CL 25645493 by jimmy smith in ue5-main branch]
2023-05-26 12:21:41 -04:00
adam kinge
b31af19cc7 Fix display of multiple iOS/tvOS devices in the QuickLaunch menu within the editor. The iOS icon will now show the type of device connection (wifi/usb)
- On a mouse hover over the mobile device (includes Android), show additional info about the OS version and model of the device
  - fixes top level device not showing the last selected device
  - don't reshow the selected device in the sub-menu

#jira UE-176230
#rb josh.adams
#preflight 646d3a424422ba05f4c29427

[CL 25601745 by adam kinge in ue5-main branch]
2023-05-24 09:39:39 -04:00
jimmy smith
3b948e43be [Backout] - CL25419229
[FYI] jimmy.smith
Original CL Desc
-----------------------------------------------------------------
Chunked Seektables for BinkAudio
#rb dan.thompson igor.dallavanzi

[CL 25497743 by jimmy smith in ue5-main branch]
2023-05-16 17:05:51 -04:00
jimmy smith
201ef64f16 Chunked Seektables for BinkAudio
#rb dan.thompson igor.dallavanzi

[CL 25420189 by jimmy smith in ue5-main branch]
2023-05-10 20:29:00 -04:00
Stu McKenna
33933e245f - Include the VVM format to ensure we find the format
- Without doing this the found formats might not contain the format leading to a crash when compiling with the VVM

#rb Dan.Elksnitis
#jira UE-185063
#rnx
#preflight 645405e8023fe5d3ad3fbb52

[CL 25343124 by Stu McKenna in ue5-main branch]
2023-05-04 17:36:58 -04:00
dan elksnitis
b52faed5d5 [shaders]
- add new IShaderFormat API for separate preprocessing and compilation; backends can implement one or the other depending on the return value of SupportsIndependentPreprocessing
- add support for executing preprocessing in the cook process prior to job submission and constructing job input hashes based on preprocessed source (and a subset of the environment used as compile inputs). controlled by a cvar for now and disabled by default
- add a BaseShaderFormat class in ShaderCompilerCommon which implements common behaviour for output of debug data - note this function is only called for formats which support independent preprocessing, so is expected to be used only by formats which have been converted to use this API
- add new cvars for output of some additional shader debug data - 1. a txt file containing the input hash a.k.a. job cache key 2. a text file containing all diagnostic messages (errors and warnings) for the job
- minor change to how input hashes are constructed for pipeline jobs - sum hashes as 256-bit ints instead of adding to a buffer and re-hashing. faster and simpler, and also more collision resistant (sum of two well distributed hashes equally well distributed)

#rb Jason.Nadro
#rb Yuriy.ODonnell
#preflight 64512c88c86798f650b953d3

[CL 25317218 by dan elksnitis in ue5-main branch]
2023-05-03 10:17:48 -04:00
Matt Peters
7ecf3f6906 SavePackage support for OnlyEditorOnly: Remove exports that are private and are only referenced by editoronly properties from the cookable exports. Remove imports and softobjectpaths that are only referenced from these OnlyEditorOnly exports from the cooked package's imports. For editor saves, mark these OnlyEditorOnly-referenced imports and softobjectpaths as editoronly dependencies. Also return the list of ImportPackages and SoftPackageReferences to the cooker so it can add them to the cook.
#rb Francis.Hurteau
#rnx
#preflight 643554b61b3664fdfaa9ef1b

[CL 24989912 by Matt Peters in ue5-main branch]
2023-04-11 09:00:33 -04:00
gwennael arbona
a17fdde006 Instrument loading times of PS4 & Switch target platform modules
#preflight 641c21eeec01de16647b08f0
#rb john.huelin, wojciech.krywult


RESOLUTION: fixed conflict with new "impl" method

[CL 24762328 by gwennael arbona in ue5-main branch]
2023-03-23 11:22:16 -04:00
charles bloom
0c583e951f remove unnecessary code dupes of GetRunningTargetPlatform
#preflight https://horde.devtools.epicgames.com/job/6407b706fb10f393c215eb82
#rb fabian.giesen

[CL 24552030 by charles bloom in ue5-main branch]
2023-03-07 19:12:38 -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
dan elksnitis
be95382d48 [shaders] factor out single-input compilation and exception handling into shared utility functions
#preflight 63caa36ad45afa2a8f236855
#rb Jason.Nadro
#rb Laura.Hermanns
#rb Yuriy.ODonnell

[CL 23789494 by dan elksnitis in ue5-main branch]
2023-01-20 09:39:05 -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
henrik karlsson
b5164ac775 Fixes to make modules compile with IWYU. We've added to IWYU toolchain so it compiles "orphaned" headers which does not have a owning cpp file. This identified lots of headers that couldn't be compiled by themselves (or if they were to included first)
Change consist of only forward declaration and additional includes

#preflight 63789c1de30d438849c48188
#rb none

[CL 23218412 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:23 -05:00
Matt Peters
3fc09ce67b Multiprocess editor support: Add the parameter -MultiprocessId=<N> to allow instances of the engine to have a unique id in their group of multiprocess instances.
MPCook and Shaders: Change ShaderSymbolExport to export to different .zip files when in a -MultiprocessId environment.
Add part of the implementation for merging the different zip files created by CookWorkers together. The rest of the implementation requires reading from .zip files and will be coming in a future change.

#rb Christopher.Waters, Zousar.Shaker
#rnx
#preflight 6377fcedfa348e8480e25a2b

[CL 23209604 by Matt Peters in ue5-main branch]
2022-11-18 18:47:21 -05:00
henrik karlsson
5b96352978 Fixes for c++ headerunits/modules.
* Adding forward declarations
* Adding "inline" in front of const/constexpr variables in headers
* Adding includes
* A few moves of ctor/dtor to cpp file

#preflight 6372b3ac0c74adb48b49f313
#rb none

[CL 23130896 by henrik karlsson in ue5-main branch]
2022-11-14 19:59:41 -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
eric knapik
6c7224f931 #jira: FORT-509651
Add new interface function AllowsDevelopmentObjects to ITargetPlatform
This function makes a clearer distinction for what assets will be considered development vs what assets should be considered EditorOnly
A platform should be allowed to cook editor only objects but not development. The inclusion of AllowsDevelopmentObjects creates that distinction

[REVIEW] [at]Bob.Tellez, [at]Josh.Adams, [at]Graeme.Thornton, [at]Matt.Peters
#preflight 63601c7b4e6fb7f504a7d311

[CL 22917958 by eric knapik in ue5-main branch]
2022-11-02 11:46:13 -04:00
henrik karlsson
4a36cfe8ff Moved operator== to be hidden friend instead of put directly in global namespace
Moved GetTypeHash function to be hidden friend instead of put directly in global namespace.

Note that the function/operator needs to be fully inlined in the type or placed in the cpp. If the function is added as friend but then implemented outside the type then hidden friend optimization won't work.

This should improve compile time somewhat according to msvc devs.

#rb Steve.Robb
#preflight 6360b7052b5338aceb26471b

[CL 22889837 by henrik karlsson in ue5-main branch]
2022-11-01 15:50:27 -04:00
Zak Middleton
73efd27f6c #ue5 - Truncation fixes for modules:
StatsViewer
StatusBar
TargetDeviceServices
TargetPlatform
Teleporter
TimeManagement
TranslationEditor
ViewportInteraction
Virtualization
WindowsPlatformFeatures
WindowsTargetPlatform

#jira UE-160837, UE-160843
#rb Andrew.Davidson, Dave.Jones2
#preflight 636024751c75ff834a526197

[CL 22873932 by Zak Middleton in ue5-main branch]
2022-10-31 18:33:27 -04:00