Commit Graph

37 Commits

Author SHA1 Message Date
zach bethel
9fc8b1722d Refactored RDG ConvertToUntrackedX functionality into the RDG builder; renamed the operation to 'FinalizeAccess' for clarity, as the resource is considered finalized in the graph and will not transition to any other state. This operation now supports multiple resources, improving performance in cases where multiple resources are finalized back-to-back. Added validation to check that the user don't attempt to use it outside of its finalized state. Fixed up a few places where this assumption was being violated. Minor refactors in various places to use new API.
#rb arne.schober, christopher.waters
#jira none

[CL 15931331 by zach bethel in ue5-main branch]
2021-04-06 11:45:09 -04:00
andrew lauritzen
9b0a6fab9d Remove complete shadow maps and replace with direct VSM sampling
- Move VSM parameters into a single uniform buffer; required for base pass rendering.
  - SRVs are initialized to dummy data until they are computed during the frame and subsequently updated before any VSM sampling.
  - Make names and usage more consistent with other UB bindings in mesh passes
- Direct injection of VSM into translucent volume and fog
- Support VSM sampling in forward lighting shaders
  - Enabled and bound currently for translucent forward and single pass water meshes
- Support VSM sampling in sky atmosphere and cloud rendering
  - NOTE: Sky atmosphere LUT pass currently executes before BasePass and ShadowDepths so it will not sample proper data and throw a warning. Moving passes around to address this will come in a future commit.

#rb Brian.Karis, Ola.Olsson, Sebastien.Hillaire, Zachary.Bethel

#ROBOMERGE-OWNER: andrew.lauritzen
#ROBOMERGE-AUTHOR: andrew.lauritzen
#ROBOMERGE-SOURCE: CL 15649858 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)
#ROBOMERGE-CONFLICT from-shelf

[CL 15650486 by andrew lauritzen in ue5-main branch]
2021-03-08 23:14:54 -04:00
zach bethel
cfcbdd1d90 Removed dead code from render target pool; removed 'passthrough' RDG hacks used during conversion.
#rb none
#rnx

[CL 15584180 by zach bethel in ue5-main branch]
2021-03-03 12:56:07 -04:00
zach bethel
81d46bc35e Fixed cloud RHI validation failures.
#rb sebastien.hillaire
#jira UE-105065
#rnx

[CL 15155170 by zach bethel in ue5-main branch]
2021-01-21 12:46:39 -04:00
Emil Persson
9d7f102824 Replace FRHIVertexBuffer, FRHIIndexBuffer and FRHIStructuredBuffer with FRHIBuffer, and some additional cleanup.
#rb kenzo.terelst

[CL 15143850 by Emil Persson in ue5-main branch]
2021-01-20 06:49:41 -04:00
zach bethel
44e2bf09de Miscellaneous render graph changes in preparation for the scene textures refactor.
- Added GetLoadActionIfProduced helper function.
 - Made GetPooledFreeBuffer attempt to reuse the existing allocation.
 - Disable load action validation when SkipRenderPass is specified.

#rb none
#rnx

[CL 14957259 by zach bethel in ue5-main branch]
2020-12-18 16:33:44 -04:00
Emil Persson
72db809300 Replace legacy LockVertexBuffer()/LockIndexBuffer()/LockStructuredBuffer() calls with the unified LockBuffer()
#rb kenzo.terelst

[CL 14898308 by Emil Persson in ue5-main branch]
2020-12-10 11:51:32 -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
zach bethel
e8495060db Fixed deprecation warnings.
#rb none

[CL 14821612 by zach bethel in ue5-main branch]
2020-11-30 13:28:09 -04:00
zach bethel
8ec2ef09ac Fixed RDG buffer creation with initial data API to sanitize inputs.
#rb none

[CL 14665143 by zach bethel in ue5-main branch]
2020-11-05 11:19:55 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00
zach bethel
7c211a530c Added a check to catch null RDG buffer clear.
#rb trivial
#rnx

[CL 14538128 by zach bethel in ue5-main branch]
2020-10-21 15:12:04 -04:00
zach bethel
187440174f Ported depth prepass to RDG.
- Removed awkward AfterTasks lambda. Looks vestigial and isn't worth the code complexity.
 - Consolidated depth-related config data into a struct instead of loose variables on the deferred shading renderer.
 - Moved some internal functions to static instead of class members.

#rb krzysztof.narkowicz, christopher.waters
#jira none

[CL 14473116 by zach bethel in ue5-main branch]
2020-10-12 13:15:52 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Daniel Wright
97cf839625 Merging //Tasks/UE4/Private-Reverb-Development-Lumen/... to //UE5/Main/...
Contains all work on Lumen since shipping Reverb in March:
 * New Opaque Final Gather with higher quality in clean architecture and better performance
 * Improved global tracing which reduces leaking
 * New basic Reflections pipeline which respects material Roughness
 * New HZB traces that are more accurate at tracing against the depth buffer
 * Hardware Ray Tracing paths for Lumen shadowing and Final Gather
#rb none

[CL 14274844 by Daniel Wright in ue5-main branch]
2020-09-08 17:44:06 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Ola Olsson
ed71a589cd Removed AddClearStructuredBufferUAVPass as it was redundant.
#rb zach.bethel,rune.stubbe
#fyi Guillaume.Abadie

[CL 13977463 by Ola Olsson in ue5-main branch]
2020-07-30 13:05:50 -04:00
Michal Valient
95d19f95b1 [REVERB] Merging //UE4/Private-Reverb-Development@13832732
#rb graham.wihlidal, rune.stubbe, brian.karis, andrew.lauritzen, jeff.farris

[CL 13834854 by Michal Valient in ue5-main branch]
2020-07-06 18:58:26 -04:00
ben ingram
d9d0535ddc Add freezable hash table, use to accelerate lookup of shaders within ShaderMap
- Shaders are searched by TypeName and PermutationId, so move those fields out of FShader and into separate arrays inside ShaderMap, to reduce cache misses while finding shaders
#rb none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12646854 via CL 12646966 via CL 12646981
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12646995 by ben ingram in Main branch]
2020-04-06 21:12:18 -04:00
Dmitriy Dyomin
2d61247883 Fixed: //UE4/Main - Run Incremental EngineTest Sequencer Win64Editor - MemStack.h Error: Assertion failed: (GIsCriticalError || !NumMarks)
#jira UE-90464
#rb none

[CL 12230138 by Dmitriy Dyomin in Main branch]
2020-03-16 23:59:33 -04:00
dmitriy dyomin
193a3b97ad Reduce FShader object size in cooked games from 264 bytes to 160 bytes (saves ~7MB in the lobby)
#rb zach.bethel


#ROBOMERGE-OWNER: dmitriy.dyomin
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 12099362 via CL 12099363 via CL 12099738
#ROBOMERGE-BOT: (v657-12064184)

[CL 12099753 by dmitriy dyomin in Main branch]
2020-03-10 08:04:05 -04:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
mihnea balta
fc843b83a0 Fixed vertically flipped image on Android/OpenGL if a postprocess material was set to render after the tonemapper.
#jira UE-80082
#rb rolando.caloca zach.bethel

[CL 9630360 by mihnea balta in 4.24 branch]
2019-10-17 04:24:15 -04:00