105 Commits

Author SHA1 Message Date
josh adams
f4a4b1ec3d - Changed dir watcher on Mac to use an FRWLock protecting an array instead of GameThreadCall that was causing trouble when cooking
#rb roman.dzieciol
#jira UE-208803, UE-208811

[CL 32023184 by josh adams in ue5-main branch]
2024-03-05 12:02:59 -05:00
josh adams
7f0dda88b8 - Hopeful fix for some threading issues
- Will need to go to 5.4
#rb calvin.zheng
#jira UE-208120

[CL 31915769 by josh adams in ue5-main branch]
2024-02-29 13:25:37 -05:00
josh adams
1490a189af - Split Mac target/deployment versions to have editor and non-editor versions
- Moved them into SDK.json
- Fixed up some deprecation warnings when tarrgeting macOS 13
- IOS is still using old .ini project setting method
#rb adam.kinge, carl.lloyd, zack.neyland

[CL 31651333 by josh adams in ue5-main branch]
2024-02-20 13:42:11 -05:00
steve robb
6d5b974842 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30735396 by steve robb in ue5-main branch]
2024-01-19 19:41:56 -05:00
matt peters
f227506cb2 AssetRegistry+DirectoryWatcher: Fix indefinite delay of directory change notifications (and therefore new asset notifications) from FDirectoryWatcherWindows when a dialog box is active. MsgWaitForMultipleObjects is both slower then SleepEx for the processing of notifications, and suffers from the indefinite delay which SleepEx does not.
#rb Patrick.Enfedaque
#rnx

[CL 30014037 by matt peters in ue5-main branch]
2023-11-30 09:29:45 -05:00
danny couture
bce050145e Add Insights trace for FDirectoryWatcherWindows::Tick
#rnx
#rb trivial

[CL 28081625 by danny couture in ue5-main branch]
2023-09-21 07:07:57 -04:00
joe kirchoff
fc49b3b34f Fix C4855: implicit capture of 'this' via '[=]' is deprecated in '/std:c++20'
#rnx

[CL 26110412 by joe kirchoff in ue5-main branch]
2023-06-19 19:55:34 -04:00
marc audy
d1f48fc5c8 Fix implicit capture of this using [=] deprecated in C++20
#jira
#rnx

[CL 25989494 by marc audy in ue5-main branch]
2023-06-14 15:07:58 -04:00
William Belcher
51883b4c5b QOL: Enable the Slate based file browser on Windows when using the NullPlatform
#rb
#jira UE-181579
#preflight https://horde.devtools.epicgames.com/job/642a4b9e89339023eb527855
#fyi

[CL 24986815 by William Belcher in ue5-main branch]
2023-04-10 20:48:21 -04:00
rex hill
c34711b366 Fix directory watcher not re-adding assets when remove and rescan event is generated
#rb matt.peters
#preflight 6400ebd7a20ddf1bf44cbd39

[CL 24489279 by rex hill in ue5-main branch]
2023-03-02 15:39:34 -05:00
wouter burgers
688392233c DirectoryWatcher: Fixed buffer overflow not resulting in a FCA_RescanRequired.
#preflight none

[CL 24336773 by wouter burgers in ue5-main branch]
2023-02-21 06:00:18 -05:00
Francis Hurteau
febc04ca18 Activating truncation warnings for
Analytics, AnalyticsET, Cbor, Serialization, XMLParser, DerivedDataEditor, DirectoryWatcher, LogVisualizer, InputCore

fixing a few addtional truncation warnings in SDerivedDataDialogs

#jira UE-166274
#rb Devin.Doucette
#preflight 63c05622305002c6417a8bd3

[CL 23668557 by Francis Hurteau in ue5-main branch]
2023-01-12 15:27:09 -05:00
francis hurteau
239f9e142c Truncation warning fixes for multiple core modules:
Analytics, AnalyticsET, Cbor, Serialization, XMLParser, DerivedDataEditor, DirectoryWatcher, LogVisualizer, OutputLog, InputCore

#jira UE-166274
#rb Devin.Doucette
#preflight 63c01436d862fdd347e2dd74

[CL 23664694 by francis hurteau in ue5-main branch]
2023-01-12 11:57:28 -05:00
Matt Peters
a4520068a4 AssetRegistry,DirectoryWatcher: Add new event type to DirectoryWatcher, to handle notifications on Windows that the directory needs to be rescanned.
Handle this event type in AssetRegistry and rescan.
#jira UE-169292
#preflight 63bf25a66729b05ec9783672
#rb Tim.Smith
#rnx

[CL 23661435 by Matt Peters in ue5-main branch]
2023-01-12 08:21:02 -05:00
bryan sefcik
f58e75e476 Pass 2 on cleaning up build.cs files.
#jira
#preflight 631b7a79304480f8f8b48580

[CL 21931324 by bryan sefcik in ue5-main branch]
2022-09-09 19:41:38 -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
bryan sefcik
b1e7f6fc29 Fixed compile issues found by compiling editor with -NoPCH -DisableUnity.
#jira

#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21121764 via CL 21121765 via CL 21121766
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21143035 by bryan sefcik in ue5-main branch]
2022-07-17 23:54:03 -04:00
Matt Peters
15e8a77848 DirectoryWatcherWindows: Handle ERROR_INVALID_PARAMETER when buffer size is too large to watch a network file share.
#jira UE-158824
#rb Bob.Tellez, Sebastian.Thomeczek
#preflight 62cc939a604402cc47f03bc0

[CL 21047869 by Matt Peters in ue5-main branch]
2022-07-11 17:34:29 -04:00
jason stasik
80c3874b45 Fix unbound delegate crash in directory watcher
#rb rex.hill
#preflight 62a3868b183031ae1a23263e

#ROBOMERGE-AUTHOR: jason.stasik
#ROBOMERGE-SOURCE: CL 20600916 via CL 20603516 via CL 20604367 via CL 20604526
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20605936 by jason stasik in ue5-main branch]
2022-06-10 20:32:16 -04:00
Brandon Schaefer
63ef18436c Split logic as previous change may likely introduce some bad issues
#jira none
#rb none
#fyi Michael.Sartain
#preflight none

[CL 19230678 by Brandon Schaefer in ue5-main branch]
2022-03-02 17:06:27 -05:00
Brandon Schaefer
867e4ae5d9 Fix EngineTest for Linux. IgnoreSub dir was not correctly adding files added for the root level item
#jira none
#rb none
#fyi Michael.Sartain
#preflight none

[CL 19229751 by Brandon Schaefer in ue5-main branch]
2022-03-02 16:30:32 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
michael sartain
e45c0dae31 Add subdirectory changes to list of changes in Linux directory watcher
Previously, we only added the new directory and not the contents. The new AssetDataGatherer has this assumption now though:

  // Note that we AddDiscovered but do not scan the directory
  // Any files and paths under it will be added by their own event from the directory watcher, so a scan is unnecessary.
  // The directory may also be scanned in the future because a parent directory is still yet pending to scan,
  // we do not try to prevent that wasteful rescan because this is a rare event and it does not cause a behavior problem

When we iterate the contents of a new directory we now add them to the FileChanges array to match the above.

[at]Brandon.Schaefer, [at]Will.Damon
#jira UE-131552

#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 17907948 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)

[CL 17907958 by michael sartain in ue5-release-engine-test branch]
2021-10-25 12:35:37 -04:00
michael sartain
c58e7a5d79 Clean up Linux inotify warnings and potential leaks
We still have some duplicate inotify watches, but this first pass will spew a lot more information when we hit inotify limits.

Adds a "DumpINotifyStats" command in non-release builds
  Spews global inotify & UE stats, along with physical count of directories, etc.

Canonicalize directory path in FDirectoryWatcherLinux::RegisterDirectoryChangedCallback_Handle
  Shootergame was adding 141 duplicate watches for Samples/Games/ShooterGame/Content w/o this. Was 1136, is now 995.

Change PathsToWatchDescriptors tmap to PathNameHashSet
  Don't need to store full paths for each watch directory twice

Fix bugs in TestPAL in addition to adding DumpStats() command, which looks ~ like this:

LogDirectoryWatcher: Warning: inotify limits
LogDirectoryWatcher: Warning:   max_queued_events: 16384
LogDirectoryWatcher: Warning:   max_user_instances: 128
LogDirectoryWatcher: Warning:   max_user_watches: 65536
LogDirectoryWatcher: Warning: inotify per-process stats
LogDirectoryWatcher: Warning:   systemd (pid 2239) watches:23 instances:3
...
LogDirectoryWatcher: Warning:   plugin_host-3.3 (pid 395041) watches:62 instances:1
LogDirectoryWatcher: Warning:   plugin_host-3.8 (pid 395044) watches:62 instances:1
LogDirectoryWatcher: Warning:   TestPAL (pid 396852) watches:2 instances:1
LogDirectoryWatcher: Warning: Total inotify Watches:392 Instances:28
LogDirectoryWatcher: Warning: Current watch requests
LogDirectoryWatcher: Warning:   /var/tmp/DirectoryWatcherTest396852: 2 watches
LogDirectoryWatcher: Warning:   Total count:2

The above is also dumped (once) when we fail to init or add a inotify watch.

Need to create better documentation and add a pointer to it, similar to what VSCode does: (hat tip Brandon)

    https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc

Related bugs:

; FPS BP Cooking Content - errno = 28, Out of inotify watches
https://jira.it.epicgames.com/browse/UE-125210

; inotify Warnings when Cooking Content for Linux
https://jira.it.epicgames.com/browse/UE-119696

; Time Niagara Sequencer failed to play | Error: Couldn't find file for package
https://jira.it.epicgames.com/browse/UE-89750

; inotify warnings from Linux command line builds
https://jira.it.epicgames.com/browse/UE-76562

[at]Brandon.Schaefer, [at]James.Singer
#jira UE-76562, UE-89750, UE-119696, UE-125210

#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 17498916 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17498920 by michael sartain in ue5-release-engine-test branch]
2021-09-13 19:05:02 -04:00
michael sartain
eaa206206c Fix FDirectoryWatchRequestLinux::ProcessChanges() to handle UTF8 filenames
ANSI_TO_TCHAR should be UTF8_TO_TCHAR for event name

[FYI] Brandon.Schaefer
#jira UE-50360
#rb none

#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 17452991 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17452999 by michael sartain in ue5-release-engine-test branch]
2021-09-07 22:23:47 -04:00