Commit Graph

34 Commits

Author SHA1 Message Date
erica stella
cc83ec481c Add bSupportsVariableRateShading to Android DDPI.
#rb christopher.fiala

[CL 26635588 by erica stella in ue5-main branch]
2023-07-27 06:12:15 -04:00
marc audy
1b8e7f29c4 Rework GPUScene support on mobile platforms.
Platforms that do support uniform buffer objects can now provide batched primitive data through UBO. There is a limit UBO range that can be accessed in shaders, so we group instances into batches that fit into this limit. Switch uses 64KB views, other platfroms16KB views. For each primitive we allocate 512Bytes and 256Bytes for instance. Mobile platforms that do not support UBO will use a desktop version of GPUScene.
There are a few things that still missing: Dynamic mesh passes,  static lighting
#rb ola.olsson, benjamin.rouveyrol

[CL 26354848 by marc audy in ue5-main branch]
2023-06-30 16:34:38 -04:00
yuriy odonnell
b67c4cb749 Add bSupportsVertexShaderSRVs to DataDrivenShaderPlatformInfo which drives PLATFORM_SUPPORTS_VERTEX_SHADER_SRVS shader
* This should be used to guard any features that require explicitly accessing buffer or textures SRVs in vertex shaders

#rb Dmitriy.Dyomin
#rb Kenzo.Terelst

[CL 26207274 by yuriy odonnell in ue5-main branch]
2023-06-23 05:56:06 -04:00
serge bernier
7bf7dd423c Fix global usage of all cvars related to shader pipelines:
r.ShaderPipelines
r.Material.ExcludeNonPipelinedShaders

Both cvars are currently disable on WindowsEngine.ini which make them also disable when we cook for consoles. ExcludeNonPipelinedShaderTypes is currently used only at cooking time when we compile shaders which is currently returning false, since the value is disabled on windows. Making those cvars use FShaderPlatformCachedIniValue, will allow to have specific platform value when cooking for a specific target. Moving r.Material.ExcludeNonPipelinedShaders to the defaultengine.ini file to keep it disable for the moment and not affecting shader key string. Will enable it progressively on console later.


r.Shaders.RemoveUnusedInterpolators

Make that cvar platform agnostic, since it will be used in on other consoles eventually. Platforms supporting the stripping of unused interpolators will check the same flag (CFLAG_ForceRemoveUnusedInterpolators) to enable it. Since windows can run opengl, and stripping is not supported on that shader platform, add extra logic to exclude the flag.

-Make the RHISupportsShaderPipelines function access a real DDPI attribute and not just test if we are not on mobile. Will need this to be able to have stripping unused shader interpolators on Switch.

[REVIEW] Laura.Hermanns

[CL 26018371 by serge bernier in ue5-main branch]
2023-06-15 13:27:44 -04:00
Arciel Rekman
f040de9c33 Enable native MMV for preview platforms when running editor on Vulkan (UE-147903)
#rb Rob.Srinivasiah, Erica.Stella
#jira UE-147903
#review
#preflight 6470c853cc626ec165a45c30

[CL 25643164 by Arciel Rekman in ue5-main branch]
2023-05-26 11:02:46 -04:00
carl lloyd
38a0d3bd9d Config to enable RT on Android SM5 devices
#rb Jack.Porter
#preflight none

[CL 25302841 by carl lloyd in ue5-main branch]
2023-05-02 12:00:15 -04:00
Florin Pascu
cd8651734e UX: Remove user-visible ES31 editor references and replace with Mobile
#jira UE-134173
#rb Jack.Porter
#preflight 6447ac2e641e2c3cb4227930

[CL 25178065 by Florin Pascu in ue5-main branch]
2023-04-25 07:05:08 -04:00
florin pascu
fbeaaad187 User friendly labels for Shader Preview Levels
#rb Gregory.Yepes
#preflight 63efae001d71bcd262fbf88d

[CL 24287942 by florin pascu in ue5-main branch]
2023-02-17 14:26:21 -05:00
florin pascu
d762ef8ed2 Re-submit
Added bSupportsClipDistance to DDSPI for mobile shader platforms that support SV_ClipDistance
#jira UE-169583
#preflight 638effe61776b8c21c7a95b2

[CL 23421785 by florin pascu in ue5-main branch]
2022-12-06 19:47:54 -05:00
florin pascu
482d4abc65 Revert 23388514
#rb none

[CL 23390550 by florin pascu in ue5-main branch]
2022-12-05 10:20:22 -05:00
florin pascu
a26a6a714e Added bSupportsClipDistance to DDSPI for mobile shader platforms that support SV_ClipDistance
#jira UE-169583
#preflight 638dbf8e976b1644cb13b19a

[CL 23389149 by florin pascu in ue5-main branch]
2022-12-05 07:59:47 -05:00
florin pascu
5669253244 - Add Disable Preview Menu Option
- GetFriendlyShaderPlatformName removed
- RHIShaderPlatformDefinitions.inl deleted
- Added FriendlyNames to all ShaderPlatforms in DDSPI
- MenuText now comes from FriendlyNames in DDSPI
#rb Jack.Porter
#jira none
#preflight 632b1f8c826e0c2fe9a9d5d2

[CL 22118730 by florin pascu in ue5-main branch]
2022-09-21 14:35:21 -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
Florin Pascu
f64fc575d2 Re-submiting with Mac fixes
Changed ShaderArchive, GlobalShaderCache, ShaderDebugInfo and Autogen to use ShaderPlatformName and not ShaderFormat when naming their output files.
#rb Jack.Porter, Chris.Waters, Mihnea.Balta, Jason.Nadro
#jira UE-120561
#preflight 62c31f6fc9410537282296c6

[CL 20937870 by Florin Pascu in ue5-main branch]
2022-07-04 19:06:33 -04:00
Florin Pascu
09cb19fcfd Backout 20871665 to fix Mac cook
#rb none
#jira none
#preflight 62be0c68d94b57687c3ff309

[CL 20904999 by Florin Pascu in ue5-main branch]
2022-06-30 17:41:55 -04:00
Florin Pascu
1844e8e514 Changed ShaderArchive, GlobalShaderCache, ShaderDebugInfo and Autogen to use ShaderPlatformName and not ShaderFormat when naming their output files.
#rb Jack.Porter, Chris.Waters, Mihnea.Balta, Jason.Nadro
#jira UE-120561
#preflight 62bbf93ae353c20ac2361d94

[CL 20871665 by Florin Pascu in ue5-main branch]
2022-06-29 04:19:06 -04:00
PJ Kack
91d645a0a8 Android editor integration improvements.
UAT RunClient: Continuously redirect output to uat stdout while client is running.
UAT RunClient: Add a process wrapper to kill client process when uat exits and to write the adb device log file to the host pc directories.
UAT RunClient: Push the ClientCmdLine args as a UECommandLine.txt file to the device to the correct location (different for adb deploy and android file server) to override the stage/apk command line.
UAT MakeApk: Add a UECommandLine.txt cache file to the intermediate directory to invalidate the apk when the stage/apk command line changes (e.g. when switching between CBTB or COTF or cooking with/without Zen).
LaunchAndroid.cpp: Add debug output for which override command line file that is being used.
LaunchAndroid.cpp: Implement missing -waitforattach/-waitfordebugger feature.
DataDrivenPlatformInfo.ini: set bUATClosesAfterLaunch=false to stop the editor from passing -nokill to uat to let it stop all processes when the client exits..

#jira none
#rb chris.babcock
#rnx
#preflight 6245849873665f7d5e4f0a18
#preflight 624be1f3dc6183e3f5518801

[CL 19621549 by PJ Kack in ue5-main branch]
2022-04-05 02:48:11 -04:00
florin pascu
6a8962e14d Create DeviceProfiles for Android Preview(Android_Preview_OpenGL, Android_Preview_Vulkan)
Android_Preview_OpenGL sets FX.AllowGPUSorting to be consistent with device
FX.AllowGPUSorting has ECVF_Preview flag now to allow this
#rb Allan.Bentham
#jira UE-141586
#preflight 620532fc9d0b224b895f11a3

#ROBOMERGE-AUTHOR: florin.pascu
#ROBOMERGE-SOURCE: CL 18937062 in //UE5/Release-5.0/... via CL 18937617 via CL 18938152
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18938190 by florin pascu in ue5-main branch]
2022-02-10 12:15:18 -05:00
christopher waters
425e25fe03 Moving a couple hardcoded uses of IsVulkanMobileSM5Platform to DDSPI. Fixing discontinuity in how SINGLE_LAYER_WATER_SIMPLE_FORWARD is set.
#jira none
#rb jack.porter
#preflight 61b2317ec674eb9fc9d950d7

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18420418 in //UE5/Release-5.0/... via CL 18422568
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18422829 by christopher waters in ue5-release-engine-test branch]
2021-12-09 14:50:27 -05:00
christopher waters
d4829cc851 Backpedalling changes to data drive more settings. Turns out bIsMobile is more nuanced than I initially thought. Switching back to a few hardcoded shader platform uses until we can wrangle this better.
#jira none
#rb jack.porter, lukas.hermanns, rolando.caloca
#preflight 61a7d3ea1a368fd60390e3be

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18355791 in //UE5/Release-5.0/... via CL 18355843
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18355868 by christopher waters in ue5-release-engine-test branch]
2021-12-02 14:47:53 -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
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
krzysztof narkowicz
2cdfb99ef8 Added per platform setting to toggle distance field support. If it's disabled then no distance data will be cooked and distance fields will be disabled on the target platform.
Renamed FDataDrivenPlatformInfo::AudioCompressionSettingsIniSectionName to TargetSettingsIniSectionName. It's now used to populate PlatformMask at runtime, to make sure that it matches between cook and runtime. Before it was possible to cook with e.g. GRayTracingPlaformMask=0, but then the cooked game would run with GRayTracingPlaformMask=1.

#rb Patrick.Kelly
[FYI] Patrick.Kelly, Daniel.Wright, Josh.Adams

#ROBOMERGE-OWNER: krzysztof.narkowicz
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 16825469 via CL 16825718
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16825756 by krzysztof narkowicz in ue5-release-engine-test branch]
2021-07-12 11:23:28 -04:00
nick darnell
c611471f65 CommonInput - Using the new UPlatformSettings, to store per-platform information into an NDA location when each platform is configured. These changes make it so we use the 'real' platform ini name, e.g. There's no more "PC" platform as far as the common input exists for configuring the platforms. So if you setup linux, that's another platform you'd configure. The gamepads are still wonky, they're trying to use platform ini names for gamepad names, going to refactor that so it's not coming from platform names. Made an upgrade path for the old settings that will update and then clear the old configuration. Also removed some settings that were added to DataDrivenPlatformInfo that don't make sense, and updated some platforms that never got the settings to begin with.
Josh.Adams, Michael.Noland, Daren.Cheng
[FYI] Josh.Adams, Michael.Noland, Daren.Cheng

#ROBOMERGE-SOURCE: CL 16605253 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16605300 by nick darnell in ue5-release-engine-test branch]
2021-06-09 10:46:45 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00