237 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
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
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
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
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
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
christopher waters
41c44beead Cleaning up deprecated items in "Shader" files for 5.2
#jira none
#rb yuriy.odonnell
#preflight 633cab5d0e66c104f1daed41

[CL 22356197 by christopher waters in ue5-main branch]
2022-10-05 11:38:15 -04:00
david harvey
10b05a8cf3 Capture platform-specific project analytics for launching, cooking & packaging in the editor.
#jira UE-142191
#rb Brian.White, Wojciech.Krywult
#preflight 6319a11bd135b61bc5f729c9

[CL 21907474 by david harvey in ue5-main branch]
2022-09-08 19:33:14 -04:00
brian white
96026b3ca9 Add Project Launcher Profile setting for Original Release Version to support those platforms that need it (in addition to the Based On Release Version setting). The setting will only appear for those platforms that opt-in via the platform specific version of FGenericPlatformProperties.
#jira UE-155733
#rb David.Harvey Wojciech.Krywult
#preflight https://horde.devtools.epicgames.com/job/630e11c4501b64ba333ffca8
#rnx

[CL 21700049 by brian white in ue5-main branch]
2022-08-30 10:10:23 -04:00
serge bernier
77a2d486ea -Use Depth and velocity pass on Xb1 and Ps4 (VelocityParallel).
- Saves ~0.3ms on PS4/XB1 (Dynres = 100%).
-Add possibility to disable grass velocity output when WPO velocity is enable (only effective when r.velocity.enablevertexdeformation != 0 and r.OptimizedWPO = true)

#rb [at]jeremy.moore

[CL 21524947 by serge bernier in ue5-main branch]
2022-08-23 19:21:36 -04:00
christopher waters
0be910ed72 Adding SupportsRayTracing to platform properties. This is checked in addition to the project/platform settings for RayTracing but is opt-in per platform instead of always enabled if the setting is enabled.
This has the effect of reducing the number of platforms that say they support RayTracing which directly reduces the number of shader platforms that "support" RayTracing.

#jira none
#rb yuriy.odonnell
#preflight 62f43891b43215cf6c35e4b0

[CL 21391739 by christopher waters in ue5-main branch]
2022-08-15 15:16:19 -04:00
bryan sefcik
de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00