Commit Graph

247 Commits

Author SHA1 Message Date
juan canada
435590893f Cherry-pick 5934928 and cpp changes from 5646022: Implemented separate compilation and run-time caching of ray tracing shaders and linking into final pipeline state objects.
Significantly improves RTPSO creation performance when  loading new shaders into an existing large scene.

#jira UE-72847

#rb yuriy.odonnell
[FYI] yuriy.odonnell

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 6265044 in //UE4/Release-4.22/... via CL 6317332
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6349974 by juan canada in Dev-VR branch]
2019-05-07 17:33:33 -04:00
dmitriy dyomin
5b3aeff385 Added an option to disable 'Pixel Depth Offset' on mobile platforms (r.Mobile.AllowPixelDepthOffset enabled by default)
[CODEREVIEW] jack.porter

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 6251760 via CL 6251761 via CL 6251792 via CL 6252283 via CL 6252288
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6254726 by dmitriy dyomin in Dev-VR branch]
2019-05-02 13:02:07 -04:00
peter sauerbrei
90fd7e9d38 potential fix for PSO problems
#rb gil.gribb

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: peter.sauerbrei
#ROBOMERGE-SOURCE: CL 6195143 via CL 6195202 via CL 6196410 via CL 6196455
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6238012 by peter sauerbrei in Dev-VR branch]
2019-05-01 21:11:51 -04:00
guillaume abadie
604a95a9a7 Cherry-pick 5814346: Fixes 2 resource transitions bugs on FRDGBuffers
1: Two passes writing to same UAV was not getting the RWBarrier transition.
2: Incorrectly transitioned to readable when accessing for indirect draw call or SRV.

#rb none
#jira none
[FYI] zach.bethel
#lockdown nick.penwarden

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 6147601 in //UE4/Release-4.22/... via CL 6147606
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6154093 by guillaume abadie in Dev-VR branch]
2019-04-29 21:01:27 -04:00
mickael gilabert
d8e082633e Added Distance field shadow / AO support on Switch
Don't compile distance field shader permutations if bUseDistanceFields is unset or false
Added UAV output to pixel shader
Clear Tiny UAV uses command buffer ClearBuffer command instead of allocating a temp buffer and copying it to UAV

anthony.bills
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: mickael.gilabert
#ROBOMERGE-SOURCE: CL 6077502 via CL 6077551 via CL 6080478 via CL 6080627
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6084211 by mickael gilabert in Dev-VR branch]
2019-04-24 17:06:06 -04:00
arciel rekman
cec634e919 Shader Library: use proper shader format names (UE-72416).
- Vulkan (and GL) can have variant names like _NOUB.

#rb Dmitriy.Dyomin
#jira UE-72416
[FYI] Marcin.Undak, Brandon.Schaefer
#lockdown Cristina.Riveron

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 6011769 in //UE4/Release-4.22/... via CL 6011770
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6014731 by arciel rekman in Dev-VR branch]
2019-04-19 13:02:14 -04:00
dmitriy dyomin
6a2b64f77d Added support for vulkan sub-passes. Used only by mobile renderer for fetching scene depth during translucency
This invalidates all collected PSO
[FYI] rolando.caloca

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 6009976 via CL 6009978 via CL 6010093 via CL 6010125
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6012135 by dmitriy dyomin in Dev-VR branch]
2019-04-19 10:09:30 -04:00
mark satterthwaite
960fd57181 Initial work to support creating additive 'patch' shader libraries from the metadata of two different cooked builds.
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: mark.satterthwaite
#ROBOMERGE-SOURCE: CL 5929239 via CL 5933291 via CL 5933354
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5944870 by mark satterthwaite in Dev-VR branch]
2019-04-17 13:40:17 -04:00
richard wallis
9fc683258f Remove the error log (logging still reports internally) and report result back to higher level for it to decide if this is an error - we can not know at the engine level. Soften the language of some of the other internal fail messages to steer the thinking away from errors and more informational.
#rb michael.trepka

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: richard.wallis
#ROBOMERGE-SOURCE: CL 5916504 via CL 5916508 via CL 5917359 via CL 5917425
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5929517 by richard wallis in Dev-VR branch]
2019-04-16 18:00:20 -04:00
jeff newquist
e00741b77c Add RenderThread CSV exclusive stats
#rb ben.woodhouse

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: jeff.newquist
#ROBOMERGE-SOURCE: CL 5830660 via CL 5830670 via CL 5835167 via CL 5835925
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5876639 by jeff newquist in Dev-VR branch]
2019-04-12 21:13:02 -04:00
mickael gilabert
b11ea1332c Base pass can output velocity data for moveable object with no static lighting, in forward and deferred rendering. This saves cpu draw call submission.
In base vertex and pixel shader pass, uniform variable OutputVelocityBuffer is tested to ouput or not velocity data
Configurable per project and/or per platform (r.BasePassOutputsVelocity)

#rb krzysztof.narkowicz
[FYI] anthony.bills

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: mickael.gilabert
#ROBOMERGE-SOURCE: CL 5810274 via CL 5813280 via CL 5813281
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5844314 by mickael gilabert in Dev-VR branch]
2019-04-12 13:05:38 -04:00
pj kack
b21c5947b5 Back out integrated changelist 5586728 (5571078) to resubmit all cook -iterate optimizations implemented on //UE4/Dev-core/... (see 5533504)
New AssetRegistryState::InitializeFromExistingAndPrune temporarily disabled until some bugs have been fixed.

Test Scenario:
1) BuildCookStageAndRun with these arguments: -platform=Win64 -configuration=Development
2) CookIterate with these arguments: -run=Cook -CookCultures=en -TargetPlatform=WindowsClient -unversioned -stdout -unattended -iterate

Wall Time Results (as an average of running step 2) two times):
Before: ~09:40 (580 seconds) cook commandlet time
After: ~02:30 (150 seconds) cook commandlet time
=> 07:10 (430 seconds ) faster, i.e. a ~ 3.9x speedup

Win32 FileSystem Results:
Before: 1.5 million GetFileAttribute calls and 1.2 million FindNextFile calls
After: 35 0000 GetFileAttribute calls and 1.6 million FindNextFile calls
=> ~400 000 calls to FindNextFile replaces ~1.5 million calls to GetFileAttribute

#rb none


(peafour-cherrypick of //UE4/Dev-Core/[at]5645695 by PJ.Kack)

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5533504 via CL 5533655 via CL 5536177 via CL 5772728 via CL 5772753 via CL 5772793
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5787307 by pj kack in Dev-VR branch]
2019-04-08 14:08:44 -04:00
michael trepka
d0c1d6080e Changed the thread priority for FCompilePipelineStateTask on Mac to AnyBackgroundThreadNormalTask and reverted the default batch size for the fast mode to 50. Thanks to this we don't starve the game thread as much as before without sacrificing the load times.
#rb Richard.Wallis

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: michael.trepka
#ROBOMERGE-SOURCE: CL 5669899 via CL 5669900 via CL 5669901 via CL 5669902 via CL 5671912 via CL 5671998
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5674533 by michael trepka in Dev-VR branch]
2019-04-01 17:06:01 -04:00
richard wallis
deb83ff254 Speculative fix for macOS client builds crashing on launch due to bad PSO cache file. Don't write to PSO cache file while the Engine is shutting down - auto saves should have kept the file upto date.
#rb michael.trepka

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: richard.wallis
#ROBOMERGE-SOURCE: CL 5661773 via CL 5661774 via CL 5661775 via CL 5661776 via CL 5661904 via CL 5661908
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5668159 by richard wallis in Dev-VR branch]
2019-04-01 09:42:00 -04:00
rolando caloca
48f3e1d8cf UE4.22 - Get more info to track down crash
#rb none
#rnx
#jira UE-71979
#lockdown Cristina.Riveron

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 5589684 in //UE4/Release-4.22/... via CL 5589686
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5596903 by rolando caloca in Dev-VR branch]
2019-03-27 13:07:22 -04:00
bob tellez
a3624c000c Back out changelist 5533504. Crash at startup on forking linux servers. (Missing referencer information)
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5571078 via CL 5572105 via CL 5572109
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5586437 by bob tellez in Dev-VR branch]
2019-03-27 02:01:56 -04:00
krzysztof narkowicz
801017c414 UE-71809 is fixed, so it's time to dismantle extra logs, which were used to catch UE-71809.
#jira UE-71809
#rb none
#lockdown Cristina.Riveron

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 5562488 in //UE4/Release-4.22/... via CL 5562496
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5585776 by krzysztof narkowicz in Dev-VR branch]
2019-03-27 01:42:18 -04:00
bob tellez
c1ac33c8e4 #UE4 Fix a copy error due to an open file handle in FEditorShaderStableInfo::Finalize. Also added some additional logging in case copy failures happen again in the future.
[FYI] Johan.Berg

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 5550462 via CL 5550501 via CL 5550502
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5552027 by bob tellez in Dev-VR branch]
2019-03-26 01:13:42 -04:00
pj kack
a255328cb8 Copying task stream Dev-cook to Main
Integrate all cook -iterate optimizations from //UE4/Dev-core/...

Test Scenario:
1) BuildCookStageAndRun with these arguments: -platform=Win64 -configuration=Development
2) CookIterate with these arguments: -run=Cook -CookCultures=en -TargetPlatform=WindowsClient -unversioned -stdout -unattended -iterate

Wall Time Results (as an average of running step 2) two times):
Before: ~09:40 (580 seconds) cook commandlet time
After: ~02:30 (150 seconds) cook commandlet time
=> 07:10 (430 seconds ) faster, i.e. a ~ 3.9x speedup

Win32 FileSystem Results:
Before: 1.5 million GetFileAttribute calls and 1.2 million FindNextFile calls
After: 35 0000 GetFileAttribute calls and 1.6 million FindNextFile calls
=> ~400 000 calls to FindNextFile replaces ~1.5 million calls to GetFileAttribute

#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: pj.kack
#ROBOMERGE-SOURCE: CL 5533504 via CL 5533655 via CL 5536177
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5546459 by pj kack in Dev-VR branch]
2019-03-25 17:48:25 -04:00
krzysztof narkowicz
1f8f216f9d Adding more information to be able to detect why FMaterialShaderMap::Serialize randomly fails in CIS.
#jira UE-71804
#rb none
#lockdown Nick.Penwarden

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 5481501 in //UE4/Release-4.22/... via CL 5481514
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5506515 by krzysztof narkowicz in Dev-VR branch]
2019-03-22 17:06:05 -04:00
jonas meyer
0b9be4c1b6 fix for clang build failing
#jira UE-70827
#rb none
#lockdown nick.penwarden

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: jonas.meyer
#ROBOMERGE-SOURCE: CL 5467499 in //UE4/Release-4.22/... via CL 5467501
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5481468 by jonas meyer in Dev-VR branch]
2019-03-20 14:19:01 -04:00
mark satterthwaite
b07816ee4d Change the ShaderCodeLibrary to only initialise when the project settings require it and make a failure to open the 'Global' shader library fatal for non-Editor builds.
#rb none


#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: mark.satterthwaite
#ROBOMERGE-SOURCE: CL 5421993 via CL 5421998 via CL 5428544 via CL 5428632
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5432790 by mark satterthwaite in Dev-VR branch]
2019-03-18 13:23:30 -04:00
guillaume abadie
f09501f497 Makes some changes to the reflection denoiser interface and render graph for third party denoiser plugins.
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 5400110 in //UE4/Release-4.22/... via CL 5400117
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5411630 by guillaume abadie in Dev-VR branch]
2019-03-15 05:59:24 -04:00
rolando caloca
9075b56d75 UE4 - Compile fix
#rb none
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 5399622 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5411510 by rolando caloca in Dev-VR branch]
2019-03-15 05:57:59 -04:00
john white
83219ce5be Temporary change to quantize size used by compute shaders from 8 to 4
#jira 69921
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: john.white
#ROBOMERGE-SOURCE: CL 5397880 in //UE4/Release-4.22/... via CL 5397881
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5410914 by john white in Dev-VR branch]
2019-03-15 05:46:39 -04:00