Commit Graph

379 Commits

Author SHA1 Message Date
christopher waters
bd8fabd199 Fixing UAVMask support.
- Removed OutputMask since nothing was using it anymore.
- Made UAVMask an optional output from FXC compiles, only d3d11 reads it.
- UAVMask now created from entire set of UAVs and not just UAVs in Uniform Buffers.

#jira none
#rb mihnea.balta

#ROBOMERGE-SOURCE: CL 15643920 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)

[CL 15643927 by christopher waters in ue5-main branch]
2021-03-08 15:13:56 -04:00
Arciel Rekman
751815e225 Load d3dcompiler_*.dll explicitly (UE-108348).
- This makes shader compilation predictable and resolves the issue with Incredibuild failing to run SCWs on systems without the library.

#rb Chris.Waters, Rolando.Caloca, Lukas.Hermanns
#review-15600065 @Chris.Waters, @Rolando.Caloca, @Lukas.Hermanns
#robomerge Release-5.0-EarlyAccess
#jira UE-108348

[CL 15600059 by Arciel Rekman in ue5-main branch]
2021-03-03 22:25:04 -04:00
dmitriy dyomin
1b97990bd1 Support compressed volume textures on iOS and Android (ASTC)
Removed bSupportsVolumeTextureCompression as all platforms support it now, only Switch fallbacks to uncompressed
#jira UE-108841
#rb jack.porter

#ROBOMERGE-SOURCE: CL 15566901 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15566914 by dmitriy dyomin in ue5-main branch]
2021-03-02 02:21:19 -04:00
chris kulla
fa647ce8c0 Add support for warning as errors when compiling shaders
This adds support for a new compilation flag that enables warnings as errors. Support was added for most of the main platforms. This feature has to opted into since many shaders currenntly contain small warnings, however this gives the ability for developpers to locally opt-in to this behavior to slowly sanitize code.

A global CVar: r.Shaders.WarningsAsErrors was also added, which will force every shader to be (re)built with this enabled for even more thorough checking.

#rb Jason.Nadro, Lukas.Hermanns, Rolando.Caloca

[CL 15383543 by chris kulla in ue5-main branch]
2021-02-10 20:30:29 -04:00
Yuriy ODonnell
2565f44a7b More verbose error message on DXC compile failure. Helps to differentiate shader compile errors from compiler crashes.
#rb Lukas.Hermanns

[CL 15349245 by Yuriy ODonnell in ue5-main branch]
2021-02-06 07:48:09 -04:00
Lukas Hermanns
a4dfdcd0ad Moved dxil.dll from DirectX folder into ShaderConductor binary folder and load dxil.dll manually to ensure it's always loaded from that location.
#rb Yuriy.ODonnell, Emil.Persson, Kenzo.Terelst
#fyi Mihnea.Balta, Rolando.Caloca, Graham.Wihlidal
#jira none
#rnx

[CL 15337426 by Lukas Hermanns in ue5-main branch]
2021-02-05 10:29:11 -04:00
Lukas Hermanns
a015b2c2e3 Use custom built dxc.exe for D3D shader compilation batch scripts.
#rb Yuriy.ODonnell
#fyi Graham.Wihlidal, Emil.Persson, Kenzo.Terelst
#jira none
#rnx

[CL 15284807 by Lukas Hermanns in ue5-main branch]
2021-02-02 17:12:57 -04:00
Yuriy ODonnell
8789e0bb07 Include shader compiler DLL version in FShaderFormatD3D/Vulkan::GetVersion(), similar to how it's done for other platforms.
#rb Lukas.Hermanns

[CL 15276007 by Yuriy ODonnell in ue5-main branch]
2021-02-01 18:54:58 -04:00
Josh Adams
b0e4357576 - UBT Code changes to remove 32-bit Windows support (C++ code for 32-bit still exists)
#rb marc.audy (concept, not each file)

[CL 15265424 by Josh Adams in ue5-main branch]
2021-01-31 15:09:58 -04:00
christopher waters
d1e9a0ce0b Adding ERHIFeatureLevel::SM6 and SP_PCD3D_SM6. Initially, both are disabled by default. The shader model is enabled with r.D3D12.AllowShaderModel6 and the feature level is only used when the shader model is enabled and the PC runtime supports 12_1 and SM6.5. The idea here is to raise these requirements to 12_2 and SM6.6 when those come online.
#jira none
#rb kenzo.terelst, arciel.rekman, lukas.hermanns, mihnea.balta, yuriy.odonnell

[CL 15222057 by christopher waters in ue5-main branch]
2021-01-27 16:08:00 -04:00
Josh Adams
e23157fc94 - Removing unused ITargetDevice functionality (like Deploy and Run in C++). These are are supported in some platforms but not all, and are only used by undocumented UFE "commands". UAT is expected to handle all of this.
#rb brandon.schaefer

[CL 15178023 by Josh Adams in ue5-main branch]
2021-01-25 11:21:44 -04:00
Tim Smith
dcfdb67af4 Fixing compile issues with LiveCodingServer.
#rb trivial
#rnx
#jira UE-106463

[CL 15137005 by Tim Smith in ue5-main branch]
2021-01-19 12:58:35 -04:00
Tim Smith
bbe145fc4d Refixing a PVS warning stomped by the integration
#rb trivial
#jira none
#rnx

[CL 15136209 by Tim Smith in ue5-main branch]
2021-01-19 11:40:24 -04:00
Tim Smith
e599eed6a4 Integration of Live++ 1.6.4 (2021/18/01)
This fixes and re-enables a feature of 1.6 that didn't work in an Unreal environment.

#jira none
#rb trivial
#rnx

[CL 15131026 by Tim Smith in ue5-main branch]
2021-01-18 13:02:32 -04:00
Tim Smith
d193b70a3b Fixing PVS 7.7 Issues:
warning V781: The value of the 'XYZ' index is checked after it was used. Perhaps there is a mistake in program logic.

#rb trivial
#jira UE-91644

[CL 15066377 by Tim Smith in ue5-main branch]
2021-01-13 09:08:55 -04:00
Martin Ridgers
51437d6cf8 Fixed static analysis warning. The warning is correct; _setjmp is declared with and without the _Out_ annotation in setjmp.h and intrin.h respectively. It is however, harmless in this instance.
#rb none
#rnx

[CL 14968921 by Martin Ridgers in ue5-main branch]
2020-12-30 11:10:50 -04:00
Tim Smith
76cec15371 Fixing a PVS warning. Changing the code to avoid the + operator since PVS is having issues interpreting the code in this instance.
#rb trivial
#jira UE-104645

[CL 14946615 by Tim Smith in ue5-main branch]
2020-12-17 10:05:33 -04:00
Tim Smith
ca0e8a4101 Fixing a few PVS warning. The memcpy issue is intentional by the 3rd party library.
#rb trivial
#jira UE-104645

[CL 14940455 by Tim Smith in ue5-main branch]
2020-12-16 13:43:24 -04:00
Tim Smith
0789d2c5bb Fixing a patching issue with Live coding. If multiple modules are loaded, then depending on which module is being updated, it might fail locating an address region. Disabling a new Live++ 1.6.3 feature for now to prevent this from happening.
#rb trivial
#rnx

[CL 14940186 by Tim Smith in ue5-main branch]
2020-12-16 13:03:26 -04:00
Tim Smith
cae58c2372 Crash fix in LC_ClientStartupThread.cpp. If LPP is initialized but not started, the editor/game/cooker could crash on shutdown.
#rb trivial

[CL 14932140 by Tim Smith in ue5-main branch]
2020-12-15 12:53:25 -04:00
Tim Smith
b48b94b010 Integration of Live++ 1.6.3
#rb none
#rnx

[CL 14926202 by Tim Smith in ue5-main branch]
2020-12-15 09:27:44 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
christopher waters
c53cd84637 Make sure we use the checked in version of d3dcompiler_47.dll when loading the d3d shader format. Also make sure that version goes along in SN-DBS.
#jira none
#rb arciel.rekman, lukas.hermanns

[CL 14883307 by christopher waters in ue5-main branch]
2020-12-08 17:50:55 -04:00
Tim Smith
f678576713 Added a limit to the number of actions live coding will handle by default. The user can change these limits and even request that the compilation try again withot enforcing the limit.
#rb ben.marsh
#jira UE-81480

[CL 14878398 by Tim Smith in ue5-main branch]
2020-12-08 09:47:08 -04:00
zach bethel
0d7dc4d4ed Refactor of uniform buffer binding to allow for runtime selection of static or per-shader binding. This is a necessary precursor to moving the View uniform buffer to use static bindings on mesh passes; it is used in so many places that both binding models are required to preserve compatibility. Added validation to catch when a uniform buffer is bound using both methods at the same time. Added CVar to RHI transition validation to control whether to break in the debugger on a transition failure.
#rb christopher.waters

[CL 14873973 by zach bethel in ue5-main branch]
2020-12-07 17:42:32 -04:00