Commit Graph

3221 Commits

Author SHA1 Message Date
Yuriy ODonnell
ce3ca9775c Fixed compile errors when compiling Win64 Clang Editor config due to FLocTextHelper move ctor and assignment.
FLocTextConflicts ConflictTracker member is explicitly marked non-copyable / movable, therefore default move for FLocTextHelper can't be generated. There is currently no reason for FLocTextHelper to be movable, therefore default move ops are now simply removed from code. Move ops can be added to FLocTextConflicts if necessary in the future.

#rb arciel.rekman
#jira UE-72151
#lockdown cristina.riveron

[CL 5773428 by Yuriy ODonnell in 4.22 branch]
2019-04-08 08:17:30 -04:00
Alexis Matte
8bc54c54c5 HLOD system fixes for 4.22.1
#jira UE-72239
#rb none
#lockdown nick.penwarden

[CL 5744543 by Alexis Matte in 4.22 branch]
2019-04-04 13:17:07 -04:00
Ben Marsh
0b8abb31d2 Live Coding: Fixes issue linking patch DLLs with Visual Studio Express, due to PATH environment variable not including path to mspdb140.dll.
Now stores the linker environment block in the live coding manifest, and adds it to the cache before executing the linker.

#rb none
#jira UE-72324

[CL 5740602 by Ben Marsh in 4.22 branch]
2019-04-04 11:55:49 -04:00
Nick Shin
b30521d713 HTML5 - 4.22.1 - update browser paths for launch on menu
#jira UE-71886  FireFox Quantum 67.0b3 fails to launch on correctly
#rnx
#rb none
#lockdown jack.porter

[CL 5710978 by Nick Shin in 4.22 branch]
2019-04-03 12:51:31 -04:00
Cosmin Sulea
9fb3475658 UE-69183 - iOS Device Output Log doesn't recover previously disconnected device
#jira UE-69183
#rb Jack.Porter
#lockdown nick.penwarden

[CL 5466613 by Cosmin Sulea in 4.22 branch]
2019-03-20 04:40:26 -04:00
Phillip Kavan
501a987f2b Fix for a regression that caused nativized widget Blueprint class property delegates to no longer be invoked at runtime.
Also addresses a non-regression issue with nativized child widgets that utilize the WidgetTree instance from a parent class.

#jira UE-66681, UE-71564
#rb Jason.Stasik
#fyi Nick.Darnell
#lockdown Cristina.Riveron

[CL 5459757 by Phillip Kavan in 4.22 branch]
2019-03-19 17:02:41 -04:00
Steve Robb
fe9a438105 Fix for warnings about engine classes being hot reloaded when they haven't even changed.
#jira UE-71581
#rb none
#fyi jamie.dale
#lockdown cristina.riveron

[CL 5459196 by Steve Robb in 4.22 branch]
2019-03-19 15:55:51 -04:00
Graeme Thornton
1426faf9b3 Created a new interface to RSA functionality that is independent of key size (unlike the old TBigInt version). Internally, RSA functions are implemented by OpenSSL on Windows/Mac/Linux an falling back to the TBigInt implementation for other platforms
- Future plan would be not to use OpenSSL directly, but to go via PlatformCrypto or something like it which could provide platform specific RSA functionality if it exists
- Also contains some compensation code for platforms that are still stuck on an older version of OpenSSL (everything except windows)
- On platforms that use OpenSSL < 1.1.1, register a locking callback so we can provide mutexes and stop it crashing horribly when the same RSA key is used concurrently on different threads

Changed default key size in the CryptoKeys plugin to 4096 bits.

#jira UE-71377
#rb ian.fox, robert.manuszewski, ryan.gerleve

[CL 5447433 by Graeme Thornton in 4.22 branch]
2019-03-19 07:30:08 -04:00
Ben Marsh
339de68518 LiveCoding: Add support for lazy loading modules. This lets us enable live coding for the entire engine without a large startup penalty. Project modules are still preloaded by default.
#rb none
#jira

[CL 5437980 by Ben Marsh in 4.22 branch]
2019-03-18 18:06:51 -04:00
Mark Satterthwaite
4539585690 Missed some Metal shader defines from CL #5419941 that were then causing compile errors on the builders.
#jira UE-71698
#rb none

[CL 5434778 by Mark Satterthwaite in 4.22 branch]
2019-03-18 15:57:12 -04:00
Mark Satterthwaite
fd8b66669b Make RWBuffer's use raw Metal T* buffers so that we don't run into problems where texture_buffer/texture2d can't be both read & write at the same time on iOS. This will be slower but it will work on more iOS/tvOS devices. This does not affect macOS.
#jira UE-71589
#rb none

[CL 5419941 by Mark Satterthwaite in 4.22 branch]
2019-03-15 14:30:29 -04:00
Mark Satterthwaite
514402141b In order to keep up with the HLR the desktop renderers now require Metal 2.0 or later on Apple's platforms - Metal 1.2 just isn't sufficient.
#rb none
#jira UE-71589

[CL 5415631 by Mark Satterthwaite in 4.22 branch]
2019-03-15 12:04:24 -04:00
Ben Marsh
098d10583d Fix issues related to hot-reload and LiveCoding co-existing.
* Removed code to invalidate makefiles when adding new source files. UBT should be reliable enough to make this determination itself nowadays, and ignored -invalidatemakefilesonly argument was causing modules to be recompiled.
* Fixed incorrect config section name when determining whether to allow hot reload from IDE. Now prevents hot reload from IDE when live coding is enabled.
* Added error message when trying to add a new class with Live Coding enabled.
* Added error messages when trying to start Live Coding after a hot reload has taken place.
* Added error messages when trying to hot reload with Live Coding enabled.

#jira UE-71253
#rb none

[CL 5403464 by Ben Marsh in 4.22 branch]
2019-03-14 17:51:49 -04:00
Rolando Caloca
8ceadc9ce3 UE4.22 - Fix invalid RWBuffer translation on OpenGL
#rb none
#jira UE-71397
#rnx

[CL 5399467 by Rolando Caloca in 4.22 branch]
2019-03-14 14:11:01 -04:00
Rolando Caloca
6bc186fd3f UE4 - Fix invalid IR on hlslcc potentially causing a crash
#rb none
#fyi Jonas.Meyer
#rnx
#jira UE-71397

[CL 5399410 by Rolando Caloca in 4.22 branch]
2019-03-14 14:04:00 -04:00
Jonas Meyer
7ac8c31b7d Bump shader version for jira UE-71386.
Followup change to the vulkan nan fix.
hlslcc was not generating conditional moves for swizzles, causing the proposed fix to generate a lot of code. this is fixed with this change

#jira UE-71386
#rb rolando.caloca

Code Before:
{
		bvec4 v138 = bvec4(false,false,false,false);
		v138.xyzw = lessThan(floatBitsToUint(v137),uvec4(2139095040u,2139095040u,2139095040u,2139095040u));
		vec4 v139 = vec4(0.000000,0.000000,0.000000,0.000000);
		if (not(v138).x)
		{
			v139.x = 0.000000;
		}
		else
		{
			v139.x = v137.x;
		}
		if (not(v138).y)
		{
			v139.y = 0.000000;
		}
		else
		{
			v139.y = v137.y;
		}
		if (not(v138).z)
		{
			v139.z = 0.000000;
		}
		else
		{
			v139.z = v137.z;
		}
		if (not(v138).w)
		{
			v139.w = 0.000000;
		}
		else
		{
			v139.w = v137.w;
		}
		imageStore( RWLightScattering, ivec3(gl_GlobalInvocationID), v139.xyzw);
	}

Code After

	{
		bvec4 v138 = bvec4(false,false,false,false);
		v138.xyzw = lessThan(floatBitsToUint(v137),uvec4(2139095040u,2139095040u,2139095040u,2139095040u));
		vec4 v139 = vec4(0.000000,0.000000,0.000000,0.000000);
		v139.x = (not(v138).x)?(0.000000):(v137.x);
		v139.y = (not(v138).y)?(0.000000):(v137.y);
		v139.z = (not(v138).z)?(0.000000):(v137.z);
		v139.w = (not(v138).w)?(0.000000):(v137.w);
		imageStore( RWLightScattering, ivec3(gl_GlobalInvocationID), v139.xyzw);
	}

[CL 5382705 by Jonas Meyer in 4.22 branch]
2019-03-13 10:53:17 -04:00
Graeme Thornton
0470468f87 Improvements to RSA key generation and pak signing
- CryptoKeys plugin can now be told how many bits to use for keys. Defaults to 2048 as a happy medium between security and performance
- After creating the OpenSSL RSA key, use the exp/mod values directly rather than recomputing from primes
- Added RSA.h with some TBigInt based helpers for RSA keys
- Added FPakSignatureFile to wrap the contents of the pak .sig file, including determining that it is of a new format that supports versioning. Wraps the encryption and decryption of he master table hash
- Changed pak master signature hash from crc to SHA1
- Modified access to executable embedded public key data so that it is just an array of bytes. Will allow custom key sizes in the future.

#rb joe.barrett, stefan.boberg
#jira UE-71280, UE-71377

[CL 5381335 by Graeme Thornton in 4.22 branch]
2019-03-13 09:47:41 -04:00
Jonas Meyer
3d13920a21 Fix nans on vulkan.
hlslcc was incorrectly converting conditionals to mix. When one of the operand is a nan, this conversion is incorrect, as the nan will propagate, and thus we get weird bugs where the nans stick around.
#jira UE-71386
#rb rolando.caloca emil.persson

[CL 5380320 by Jonas Meyer in 4.22 branch]
2019-03-13 07:53:00 -04:00
Ben Marsh
3a8d4dd9d6 LiveCoding: Fix determination of whether a module is part of a project plugin. Such modules report "false" for FModuleStatus.bIsGamePlugin.
#rb none
#jira UE-71399

[CL 5365389 by Ben Marsh in 4.22 branch]
2019-03-11 20:23:51 -04:00
Ben Marsh
0c4e906ca2 LiveCoding: Fix the "Show Console" button being disabled until the first compile.
#rb none
#jira UE-71379

[CL 5362145 by Ben Marsh in 4.22 branch]
2019-03-11 15:30:57 -04:00
Ben Marsh
7642cccb91 LiveCoding: Allow editor thread to keep running while server is processing modules.
#rb none
#jira UE-71269

[CL 5361379 by Ben Marsh in 4.22 branch]
2019-03-11 14:31:39 -04:00
Ben Marsh
2ef7a96902 LiveCoding: Explicitly batch all EnableModules() commands, to prevent user command thread preempting the editor thread before it's finished adding everything. Prevents "Live coding ready" messages being spammed in the console window.
#rb none
#jira UE-71270

[CL 5361279 by Ben Marsh in 4.22 branch]
2019-03-11 14:12:36 -04:00
Ben Marsh
09cfa1adff Fix "Compile" button in toolbar using legacy hot reload when live coding startup is set to manual.
#rb none
#jira UE-71359

[CL 5361201 by Ben Marsh in 4.22 branch]
2019-03-11 13:57:27 -04:00
Ben Marsh
6ad306d80c LiveCoding: Fix setting for enabling/disabling live coding not being saved when modified via the toolbar.
#rb none
#jira UE-71362

[CL 5360814 by Ben Marsh in 4.22 branch]
2019-03-11 13:38:48 -04:00
Johan Duparc
d33c481856 Fix crash on edit after ProxyLOD merge
#jira UE-70972
#rb JeanLuc.Corenthin

[CL 5355841 by Johan Duparc in 4.22 branch]
2019-03-08 19:26:25 -05:00