Commit Graph

536 Commits

Author SHA1 Message Date
Yuriy ODonnell
6db429d732 ShaderMinifier - Add experimental CFLAG_RemoveDeadCode to run shader rewriting step that removes unused functions and types from shader source before compilation to improve compile times
#rb Jason.Nadro
#preflight 632363a75a44869a7d025585

[CL 22036834 by Yuriy ODonnell in ue5-main branch]
2022-09-15 15:45:20 -04:00
Yuriy ODonnell
e741d25317 Add CVar r.RayTracing.RequireSM6 (default=0) to explicitly control when ray tracing shaders/features should be available, instead of relying on project target platform shader model settings. This is required because target platform settings are not available when running a packaged game.
The engine uses GRayTracingPlaformMask to compute ShouldCompilePermutation() for shaders. This is filled based on platform settings and capabilities when running the editor. When running a standalone game, the mask is filled purely based on whether ray tracing is enabled for the project (r.RayTracing) and the current runtime environment supports it (GRHISupportsRayTracing).

The new CVar is meant to be consistent between the cook time and run time. This is achieved by setting GRHISupportsRayTracing=false when running on SM5 if r.RayTracing.RequireSM6 is 1.

#rb christopher.waters
#preflight 631f8c8680642a7fa783ca18
#jira UE-163012

[CL 21971785 by Yuriy ODonnell in ue5-main branch]
2022-09-12 16:27:08 -04:00
florin pascu
dbcd6198d0 Add the Frequency name to the "Unrecognized shader frequency" Shader Compiler error
#jira none
#rb Carl.Lloyd
#preflight 6319e1662b7fe03eb6a70f52

[CL 21907568 by florin pascu in ue5-main branch]
2022-09-08 19:36:17 -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
Yuriy ODonnell
bdcb1cc814 Move duplicated implementations of ParseRayTracingEntryPoint() to ShaderCommon module
#preflight 631a28a0967ffc68fbe3d8a7
#rb jason.nadro

[CL 21900443 by Yuriy ODonnell in ue5-main branch]
2022-09-08 15:20:52 -04:00
Florin Pascu
6b3c1469ba Preview Shader Platform using different ShaderMaps and the DDPI/Cvar values of the Previewable Actual Platform
NumPlatforms limit changed from 64 to 65536, limited by NumBits
#jira UE-120561
#rb Chris.Waters, Jack.Porter, Mihnea.Balta
#preflight 630f1604f92416fb92b373ab

[CL 21718179 by Florin Pascu in ue5-main branch]
2022-08-31 04:38:34 -04:00
Tim Smith
5154702a01 Fix crash issue when LiveCodingConsole is run independently.
#rb self
#preflight 630e2e2be352708d441a96ba

[CL 21702269 by Tim Smith in ue5-main branch]
2022-08-30 11:41:54 -04:00
christopher waters
56b4134b24 Fixing debug DXC shader compiles.
When D3DCOMPILE_SKIP_OPTIMIZATION is set, none of the other D3DCOMPILE_OPTIMIZATION_LEVEL flags are set. Given that D3DCOMPILE_OPTIMIZATION_LEVEL1 is "0", this always forced debug shader builds to be compiled with "/Od /O1".
The fix is to ignore the other flags when D3DCOMPILE_SKIP_OPTIMIZATION is set.

#jira none
#rb massimo.tristano, mihnea.balta
#preflight 630e1989e54ec9d581800a92

[CL 21701349 by christopher waters in ue5-main branch]
2022-08-30 11:08:48 -04:00
christopher waters
bd14aa177e Moving bindless resource count validation into the new UE::ShaderCompilerCommon::ValidatePackedResourceCounts
#jira UE-161950
#rb kenzo.terelst, yuriy.odonnell
#preflight 6307a0d03703fd9528673032

[CL 21567446 by christopher waters in ue5-main branch]
2022-08-25 13:02:21 -04:00
christopher waters
0a6873668c The Windows Feature Level checkboxes should prompt the user to restart.
#jira UE-156930
#rb mihnea.balta, kenzo.terelst
#preflight 62fba5c0cf7afa018ba1feda

[CL 21405137 by christopher waters in ue5-main branch]
2022-08-16 10:59:06 -04:00
Tim Smith
af57b8323e Fixed issue where packaged blueprint builds would not be able to start live coding without first having to clear the live coding source project variable.
#rb self
#jira UE-149584
#preflight 62fb8d851e39eb26a03adcfc

[CL 21403836 by Tim Smith in ue5-main branch]
2022-08-16 08:49:21 -04:00
Tim Smith
dfc7238978 Provide console feedback when starting live coding fails packaged builds
#rb self
#jira UE-149580
#preflight 62fa974c153b17e746461877

[CL 21391530 by Tim Smith in ue5-main branch]
2022-08-15 15:08:39 -04:00
Tim Smith
0ad177d3af Added tagging for unassigned allocations
#rb self
#jira UE-153910
#preflight 62fa5e6bb66d5d93137aada8

[CL 21387777 by Tim Smith in ue5-main branch]
2022-08-15 12:06:33 -04:00
Tim Smith
6da6208fa9 Fixed issue where modules listed to be preloaded were not being preloaded.
#rb self
#jira UE-160674
#preflight 62f4f82e7c66d5539e8a8bad

[CL 21334853 by Tim Smith in ue5-main branch]
2022-08-11 08:59:35 -04:00
Yujiang Wang
f6dc5c0058 Make sure every uniform buffer name in shader optional data is a valid name, i.e. no more "None"-s. Usually it's $Global being removed
#rb laura.hermanns
#preflight 62f1216bd76ea4b503e25128

[CL 21269863 by Yujiang Wang in ue5-main branch]
2022-08-08 12:01:59 -04:00
Tim Smith
606d63e307 Updating LiveCoding to Live++ 1.6.10
#rb self
#preflight 62f128d1185da2495f7b4182

[CL 21269385 by Tim Smith in ue5-main branch]
2022-08-08 11:29:32 -04:00
Laura Hermanns
5217d615d5 Only clear loop control mask instead of replacing Unroll with Loop mask when cross-compiling HLSL-to-HLSL.
#rb Christopher.Waters
#fyi Ryan.Hummer, Andrew.Wang
#preflight 62dae116d54af4b9a244c1dc
#jira UE-160185
#rnx

[CL 21226240 by Laura Hermanns in ue5-main branch]
2022-07-22 14:36:08 -04:00
aleksander netzel
f5fc355c09 Require DXR Tier 1.1 for ray tracing and use shader model 6.5 for all ray tracing shaders in SM5 mode.
#rb Yuriy.Odonnell
#preflight 62d87aad185da2495f0fba0f

[CL 21200656 by aleksander netzel in ue5-main branch]
2022-07-21 10:27:22 -04:00
Dmitriy Dyomin
f00c0a426b Remove support for a landscape baked mesh which was used for mobile platforms only
#jira none
#rb jonathan.bard
#preflight 62d769cdbc175ec68cee67d0

[CL 21171586 by Dmitriy Dyomin in ue5-main branch]
2022-07-19 23:03:12 -04:00
jimmy smith
b92f1fdf0d Configuration support for AudioInfos / AudioFormats per platform
#jira UE-159832
#rb Aaron.mcleran Phil.Popp Dan.Thompson Josh.Adams
#preflight 62d260033c3df323907eaa93

[CL 21153330 by jimmy smith in ue5-main branch]
2022-07-18 17:47:55 -04:00
Arciel Rekman
09175d79ea Multi-viewport on PC (D3D11/12, Vulkan).
- RHISupportsMultiviewport made to work on relevant shader platforms.
- RHISetStereoViewport implemented
- Unused outputs removal fixed to always consider viewport index used.
- Renamed confusing terminology (multiview -> multiviewport).
- Added a CVar (vr.MultiViewport) to force disable
- Added a canvas output to know the method in non-Shipping

#jira UE-151349
#review @Robert.Srinivasiah, @Jules.Blok, @JeanNoe.Morissette
#rb Robert.Srinivasiah, Jules.Blok, Chris.Waters
#preflight 62d193c43b057e727491c9d2

[CL 21153050 by Arciel Rekman in ue5-main branch]
2022-07-18 17:31:15 -04:00
Tim Smith
561cc621f4 Fixed issue where live coding would always complain that a plugin wasn't enabled for live coding. This would happen if the plugin wasn't explicitly enabled by the project but was loaded by another plugin.
#rb self
#jira UE-155343
#preflight 62d57d283c3df32390b44c54

[CL 21149283 by Tim Smith in ue5-main branch]
2022-07-18 11:46:10 -04:00
Yuriy ODonnell
6bea9a80b6 Always support ray tracing shaders when cooking for SM6
* RT shaders are still excluded from SM5 if project is configured to not cook SM5 shaders for D3D12

#rb chris.kulla
#jira UE-158270
#preflight 62d1d478e468fcfd0b97d55a

[CL 21117293 by Yuriy ODonnell in ue5-main branch]
2022-07-15 17:23:41 -04:00
christopher waters
a987160f55 Reworking the parameter rewrite code to do automatic bindless
- Refactoring FShaderParameterParser to use more string views since we can rely on OriginalParsedShader not changing.
- Split FShaderParameterParser::ParseAndMoveShaderParametersToRootConstantBuffer into smaller functions
- Moving FShaderParametersMetadata::IterateShaderParameterMembers into the only module it's used in, ShaderParameterParser.cpp
- Adding CFLAG_BindlessResources which will be set when ENABLE_BINDLESS_RESOURCES is set
- Adding CFLAG_BindlessSamplers which will be set when ENABLE_BINDLESS_SAMPLERS is set
- Adding resource/sampler detection and conversion to bindless in FShaderParameterParser

#jira UE-139616
#rb guillaume.abadie, jeannoe.morissette, yuriy.odonnell, laura.hermanns
#preflight 62d180cce468fcfd0b7001a0

[CL 21111994 by christopher waters in ue5-main branch]
2022-07-15 12:25:44 -04:00
yuriy odonnell
cadadf9780 Add "TargetedRHIs" to the list of settings evaluated in GetRayTracingShaderFormats()
* This is necessary because some (pre UE 5.1) projects use this instead of D3D12TargetedShaderFormats, etc.

#rb jason.nadro
#jira UE-158270
#preflight 62c47a332f31b87c6c91fb52

#ROBOMERGE-AUTHOR: yuriy.odonnell
#ROBOMERGE-SOURCE: CL 20947047 via CL 20947122 via CL 20947433
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20950739 by yuriy odonnell in ue5-main branch]
2022-07-05 17:48:45 -04:00