Commit Graph

152 Commits

Author SHA1 Message Date
ben marsh
e231296ef7 LiveCoding: Tweaks to live coding settings.
* Compile dropdown now just contains a checkbox for enabling live coding.
* Compile dropdown has a link to open the editor preferences window.
* Live coding can be enabled from the editor settings window.
* Option to show the console on startup is now folded into the startup mode.
* Options in the editor settings window are greyed out unless live coding is enabled.

#rb none
#jira

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5352692 in //UE4/Release-4.22/... via CL 5364901
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5424743 by ben marsh in Dev-Core branch]
2019-03-18 03:41:36 -04:00
ben marsh
77ef8ea8b8 LiveCoding: Tidy up console output.
#rb none
#jira

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5350764 in //UE4/Release-4.22/... via CL 5364832
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5424721 by ben marsh in Dev-Core branch]
2019-03-18 03:40:32 -04:00
ben marsh
095395fc36 LiveCoding: Suppress dev channel log messages from console. Add a new server log channel that they are written to instead.
#rb none
#jira UE-71257

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5350628 in //UE4/Release-4.22/... via CL 5364828
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5424720 by ben marsh in Dev-Core branch]
2019-03-18 03:40:29 -04:00
ben marsh
92194d06b6 Move live coding settings back under the editor preferences window, since it's a user-specific thing.
#rb none
#jira UE-71126

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5350227 in //UE4/Release-4.22/... via CL 5364819
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5424718 by ben marsh in Dev-Core branch]
2019-03-18 03:40:25 -04:00
ben marsh
0c9b49eff3 LiveCoding: Disable the editor compile button while a compile is in progress.
#rb none
#jira UE-71077

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 5343160 in //UE4/Release-4.22/... via CL 5343162
#ROBOMERGE-BOT: CORE (Main -> Dev-Core)

[CL 5407914 by ben marsh in Dev-Core branch]
2019-03-15 03:25:40 -04:00
ben marsh
c4ddf4689b Restore code that was accidentally commented out while debugging.
#rb none
#jira
#rnx

#ROBOMERGE-SOURCE: CL 5341380 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5341387 by ben marsh in Main branch]
2019-03-07 16:01:49 -05:00
ben marsh
b02ec9e909 LiveCoding: Expose a Tick() function so that systems that don't use fire EndFrame() callbacks can still tick the live coding module. Also add a -LiveCoding command line argument to force it on.
#rb none
#jira

#ROBOMERGE-SOURCE: CL 5340479 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5340483 by ben marsh in Main branch]
2019-03-07 15:21:21 -05:00
ben marsh
3ddbc6bee3 Better handling of window focus when compiling for live code.
* Console window is made visible and brought to the front when a compile is triggered.
* Patched application window is brought to the front once patching is complete.

#rb none
#jira UE-71128

#ROBOMERGE-SOURCE: CL 5337696 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5338036 by ben marsh in Main branch]
2019-03-07 11:58:51 -05:00
Marcus Wassmer
459dd9960c Force integrate 5317515 from release-4.22 to fix some issues with 'undo'.
#rb none

[CL 5337699 by Marcus Wassmer in Main branch]
2019-03-07 11:25:32 -05:00
brandon schaefer
b33d80ee25 Live coding is only available for Win32/Win64, dont try to include diasdk dir for other platforms
#jira none
#rb Ben.Marsh

#ROBOMERGE-SOURCE: CL 5318794 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5337033 by brandon schaefer in Main branch]
2019-03-07 09:13:59 -05:00
Juan Canada
d2f93b57b2 Undo //UE4/Main/... changelist 5335728
#rb marcus.wassmer

[CL 5335770 by Juan Canada in Main branch]
2019-03-06 23:59:18 -05:00
Juan Canada
27b0d7a824 Copying //UE4/Private-Woodchuck-Staging[at]5316917 to Release-4.22 (//UE4/Release-4.22)
#rb none
#JIRA

#ROBOMERGE-OWNER: Juan.Canada
#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 5317515 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5335728 by Juan Canada in Main branch]
2019-03-06 23:42:45 -05:00
ben marsh
12df3f4436 Disable warning when building xxhash.c.
#rb none
#jira
#rnx

#ROBOMERGE-SOURCE: CL 5312346 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5316165 by ben marsh in Main branch]
2019-03-06 13:30:36 -05:00
ben marsh
81fd979e43 Suppress warning in static analysis.
#rb none
#jira
#rnx

#ROBOMERGE-SOURCE: CL 5312269 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5316164 by ben marsh in Main branch]
2019-03-06 13:30:34 -05:00
ben marsh
d4b768f28a Fix difference in scoping rules for extern'd variables declared inline under Clang.
#rb none
#rnx
#jira

#ROBOMERGE-SOURCE: CL 5312261 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5316163 by ben marsh in Main branch]
2019-03-06 13:30:32 -05:00
ben marsh
0a76cfc192 Fix copyright notices.
#rb none
#jira
#rnx

#ROBOMERGE-SOURCE: CL 5307349 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5314652 by ben marsh in Main branch]
2019-03-06 12:44:19 -05:00
ben marsh
fd2bcd780a Fixes for static analysis warnings.
#rb none
#jira

#ROBOMERGE-SOURCE: CL 5307320 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5314647 by ben marsh in Main branch]
2019-03-06 12:44:16 -05:00
ben marsh
98e1efb0da Prevent LiveCodingServer module building for targets by default.
#rb none
#rnx
#jira

#ROBOMERGE-SOURCE: CL 5305237 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5309055 by ben marsh in Main branch]
2019-03-05 18:49:28 -05:00
ben marsh
cf183af67c Integrating live coding feature (aka Live++) into UE4.
Allows fast iteration of C++ changes without restarting the application. To use, select the "Live Coding (Experimental)" mode from the drop down menu next to the editor's compile button, or type "LiveCoding" into the console for a monolithic build. Press Ctrl+Alt+F11 to find changes and compile.

Changes vs standalone Live++ version:

* UBT is used to execute builds. This allows standard UE4 adaptive unity mode, allows us to reuse object files when we do regular builds, supports using any build executor allowed by UBT (XGE, SNDBS, etc..).
* Adding new source files is supported.
* Custom visualizer for FNames is supported via a weakly linked symbol in a static library (Engine/Extras/NatvisHelpers).
* Settings are exposed in the editor's project settings dialog.
* Standalone application has been rewritten as a Slate app ("LiveCodingConsole"). There is an additional option to start the program as hidden, where it will not be visible until Ctrl+Alt+F11 is hit. Similarly, closing the window will hide it instead of closing the application.
* Does not require a standalone licensed version of Live++.

Known issues:

* Does not currently support class layout changes / object reinstancing

#rb none
[FYI] Marc.Audy, Stefan.Boberg, Nick.Penwarden
#jira

#ROBOMERGE-SOURCE: CL 5304722 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5309051 by ben marsh in Main branch]
2019-03-05 18:49:25 -05:00
jonas meyer
5894631e90 Move default graphics RHI to windows target settings
#rb rolando.caloca
#jira UE-70479

#ROBOMERGE-SOURCE: CL 5277239 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5277254 by jonas meyer in Main branch]
2019-03-04 05:11:39 -05:00
jonas meyer
f2504103c4 The files added in ShaderDebugInfo are now put into a unique folder based on the StaticParameters. This allows you to see and compare shaders from multiple permutations.
Also, in the d3d11 compiler, A description of the different parameters are appended at the end, for information
#rb rolando.caloca chris.bunner


#ROBOMERGE-OWNER: jonas.meyer
#ROBOMERGE-AUTHOR: jonas.meyer
#ROBOMERGE-SOURCE: CL 5061991 via CL 5062517

[CL 5062687 by jonas meyer in Main branch]
2019-02-19 11:08:05 -05:00
marcus wassmer
33106628c6 Add DXC runtime requirements to fix binary builds
#rb none
#jira UE-69482

#ROBOMERGE-SOURCE: CL 4892140 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 4892143 by marcus wassmer in Main branch]
2019-02-04 17:21:10 -05:00
Yuriy ODonnell
e14bcf53e8 Implemented support for wave operation intrinsics (Shader Model 6.0) as an extension of SP_PCD3D_SM5, available when running on compatible hardware and D3D12.
Wave intrinsics can be enabled for a shader by providing CFLAG_WaveOperations to the compiler flags in ModifyCompilationEnvironment().
Run-time availability must be queried by checking GRHISupportsWaveOperations before trying to use a shader that uses wave intrinsics.

Removed all RHI_RAYTRACING define checks from D3DShaderCompiler.cpp.

#lockdown rolando.caloca
#rb rolando.caloca
#jira UE-69133

[CL 4824116 by Yuriy ODonnell in Dev-Rendering branch]
2019-01-28 13:41:26 -05:00
Rolando Caloca
732810a13b DR - Copying //UE4/Dev-Main@4785067 to //UE4-DevRendering
#rb none
#rnx
#lockdown Marcus.Wassmer

[CL 4790611 by Rolando Caloca in Dev-Rendering branch]
2019-01-23 17:01:56 -05:00
Yuriy ODonnell
fb5c2d1ad6 Renamed D3D11ShaderCompiler.cpp -> D3DShaderCompiler.cpp, as it is now used for both DXBC and DXIL shader compilation.
#rb Rolando.Caloca

[CL 4756477 by Yuriy ODonnell in Dev-Rendering branch]
2019-01-18 17:33:00 -05:00