Commit Graph

1413 Commits

Author SHA1 Message Date
charles bloom
817400610d fix GlobalShader crash in stompmalloc due to pointing at a member after a resize
#rb jason.nadro
#preflight 6244aebec667881bf4ecea1e

[CL 19563322 by charles bloom in ue5-main branch]
2022-03-30 15:58:02 -04:00
juan canada
40c97ded70 Fixed compilation error introduced by 19547074 colliding with 19546929
[FYI] Edwin.Maynard, guilaume.abadie
#jira UE-147462
#rb none
#preflight none

#ROBOMERGE-AUTHOR: juan.canada
#ROBOMERGE-SOURCE: CL 19550057 via CL 19550110 via CL 19550143
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19560930 by juan canada in ue5-main branch]
2022-03-30 14:18:00 -04:00
guillaume abadie
d5f3de4025 Have DumpGPU to dump a log on crash, as well as a Base/Status.txt to explicitly detect in the viewer if something went really wrong
#rb juan.canada
#preflight 62433f34927e60e34141e8dd

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 19547074 via CL 19547081 via CL 19547085
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19560863 by guillaume abadie in ue5-main branch]
2022-03-30 14:16:07 -04:00
christopher waters
f12afe6c73 Deprecating RHICreateTexture2DArray, RHICreateTexture3D, RHICreateTextureCube, RHICreateTextureCubeArray.
Converted a few additional RHICreateTexture2D calls to RHICreateTexture.
Adding a few more FRHITextureCreateDesc::CreateXXX variants to quickly specify extents and formats.
Merging FTextureRWBuffer2D and FTextureRWBuffer3D into a single class FTextureRWBuffer and deprecated the old ones.

#jira none
#rb luke.thatcher
#preflight 62448deb927e60e3415508e5

[CL 19560161 by christopher waters in ue5-main branch]
2022-03-30 13:36:17 -04:00
zach bethel
373e1c32e7 Don't clobber RDG resources that were uploaded from host memory.
#jira UE-143179
#fyi charles.derousiers
#preflight trivial

[CL 19557943 by zach bethel in ue5-main branch]
2022-03-30 11:30:02 -04:00
Andriy Tylychko
3b82927aee removed unused NewTasks from TaskGraph's FGraphEvent::DispatchSubsequents() calls, as a preparation for deprecation
#preflight https://horde.devtools.epicgames.com/job/6244160fdc6183e3f5ef6650
#rb francis.hurteau, danny.couture

[CL 19554617 by Andriy Tylychko in ue5-main branch]
2022-03-30 04:53:52 -04:00
dmitriy dyomin
d5741f624b Added option to disable usage of a baked landscape mesh on mobile platforms (r.Mobile.LandscapeMesh)
#rb jack.porter

#ROBOMERGE-OWNER: dmitriy.dyomin
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 19528072 via CL 19528235 via CL 19528695 via CL 19528703
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19532768 by dmitriy dyomin in ue5-main branch]
2022-03-28 16:28:57 -04:00
guillaume abadie
04d236812f Do not DumpGPU RDG resources that are read-only
#jira UE-146647
#rb trivial
#preflight 6241c8808330d27ee3908af4

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 19527390 via CL 19527520 via CL 19527536
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19532702 by guillaume abadie in ue5-main branch]
2022-03-28 16:26:45 -04:00
christopher waters
cb6ce0960c Easier FRHITextureCreateDesc construction and FRHITextureDesc static CreateXXX deprecation
- Deprecated all the Create functions in FRHITextureDesc
- Added Create functions to FRDGTextureDesc which now derives from FRHITextureDesc instead of just being an alias
- FRHITextureCreateDesc can now be constructed functionally via SetXXX functions that return a reference to the FRHITextureCreateDesc
- Fixed a couple bad uses of FRHITexture*Desc types that should have been using FRDGTextureDesc

#jira none
#rb zach.bethel, luke.thatcher, mihnea.balta
#preflight 623df2e16d39f6b5a057299e

[CL 19516773 by christopher waters in ue5-main branch]
2022-03-25 14:18:22 -04:00
zach bethel
f457a69101 Added RHI tracked access API to remove Unknown transitions.
- New RHI command list SetTrackedAccess method for the user to supply a current whole-resource state.
 - New RHI command context GetTrackedAccess method for querying the tracked access in RHIBeginTransitions / RHIEndTransitions on the RHI thread.
 - Hooked RHICmdList.Transition and FRHICommandListExecutor::Transition to assign tracked state automatically.
 - Refactored RDG and resource pools to use new RHI tracking.
      - FRDGPooledBuffer / FRDGPooledTexture no longer contain tracked state. RDG temp-allocates state through the graph allocator instead.
      - All prologue transitions are 'Unknown', and all epilogue transitions coalesce into a whole resource state.
 - Implemented platform support for patching the 'before' state with the tracked state.
 - Implemented various RHI validation checks:
      - Asserts that the user assigned tracked state matches RHI validation tracked state, for all subresources.
      - Asserts that tracked state is not assigned or queried from a parallel translation context.
 - Added FRHIViewableResource and FRHIView base classes to RHI. FRHIView contains a pointer to an FRHIViewableResource. This is currently a raw pointer, but should be extended to a full reference in a later CL.

NOTE on RHI thread constraint:

Transition evaluation is now restricted to the RHI thread (i.e. no parallel translation contexts). Transitions aren't performed in parallel translate contexts anyway, so this is not a problem. If, however, we decide to refactor parallel translation to be more general, this implementation could be extended to track the state per context and update from the 'dispatch' thread.

#preflight 6233b4396666d7e753a16aaf
#rb kenzo.terelst

[CL 19513316 by zach bethel in ue5-main branch]
2022-03-25 11:19:10 -04:00
zach bethel
51d195d21f Major refactor of reflection capture code.
- Converted to RDG.
 - Converted mobile to use subresource transitions instead of awkward ping-ponging between render targets.
 - Merged duplicate code paths between mobile / desktop.
 - Eliminated FReflectionScratchCubemaps singleton in favor of explicit resource marshalling.

#preflight 623cdecc573f51b292c9c84a
#rb christopher.waters

[CL 19513281 by zach bethel in ue5-main branch]
2022-03-25 11:17:23 -04:00
christopher waters
8a555ab176 Adding missing DDC key modifications for DDSPI controlled defines.
#jira none
#rb jason.nadro
#preflight 623ce37615497b40c2015bb3

[CL 19504400 by christopher waters in ue5-main branch]
2022-03-24 18:55:49 -04:00
guillaume abadie
7b9b4fd2a9 Implements DumpGPUServices plugin to have DumpGPU -upload
#rb juan.canada
#preflight 623ca9fed078aec3e42ee738

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 19499603 via CL 19500414 via CL 19500427
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)

[CL 19502702 by guillaume abadie in ue5-main branch]
2022-03-24 17:10:00 -04:00
guillaume abadie
f54db62401 Renames RenderGraphDumpResources.cpp to DumpGPU.cpp
#rb juan.canada

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 19477736 via CL 19481398 via CL 19481536
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)

[CL 19484020 by guillaume abadie in ue5-main branch]
2022-03-23 15:54:30 -04:00
Charles deRousiers
546f1b27c6 Add ROV type support for shader binding.
#rb mihnea.balta
#jira none
#preflight 623b31aaca34ffd7bf7ca796

[CL 19481254 by Charles deRousiers in ue5-main branch]
2022-03-23 13:02:24 -04:00
Steve Robb
897dd170ab Replacement of DEPRECATED_MACRO with UE_DEPRECATED_MACRO.
#rb devin.doucette
#jira none
#preflight 623b225a7b69b01ec16118a7

[CL 19480377 by Steve Robb in ue5-main branch]
2022-03-23 12:07:25 -04:00
Jason Nadro
e7c920e3de Dump DDC keys for global shaders.
- The cvar `r.Material.DumpDDCKeys` has been renamed to `r.ShaderCompiler.DumpDDCKeys`.
- The directory they output to changed from "MaterialDDCKeys" to "ShaderDDCKeys"
- Break getting the global shader map DDC key string out into a function to make it easier to call when we dump DDC keys.
- Global Shader map section files are named "GlobalShaderMap-%s" where %s is the name of the section (usually a global shader type).
- Editor and Game shaders are dumped to separated directories.
- Expose ShouldDumpShaderDDCKeys() function so material code can see if dumping is enabled.

#rb Arciel.Rekman
#jira none
#preflight 623a4f1110251d53d57a1da7

[CL 19479594 by Jason Nadro in ue5-main branch]
2022-03-23 11:01:22 -04:00
arciel rekman
47184fc696 Harden preload entry management in shader library (FORT-446306).
#rb James.Doverspike, Chris.Genova
[REVIEW] [at]James.Doverspike, [at]Chris.Genova
#preflight 6238ddacb3653cf6afccd690

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 19458861 via CL 19459145 via CL 19459355 via CL 19459815 via CL 19463246 via CL 19475214 via CL 19475273
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v935-19464907)

[CL 19475936 by arciel rekman in ue5-main branch]
2022-03-22 23:24:15 -04:00
eric renaudhoude
dec9758c1b VirtualTexture: Initial changes required for tiled media texture integration.
#jira UE-145503
#rb jeremy.moore
#fyi rod.bogart
#preflight 623a28fe89625f0612b6196f

[CL 19471356 by eric renaudhoude in ue5-main branch]
2022-03-22 16:05:58 -04:00
charles derousiers
0195d6b7aa Add OIT per-pixel sorting support for translucent material
This technique is guarded with by a projected settings. It is currently only supported on PC Dx12. This is the initial step for fine grain/per-pixel sorting.

#rb sebastien.hillaire
#jira none
#preflight 623a1884bc1cf2803867d8f8

[CL 19470340 by charles derousiers in ue5-main branch]
2022-03-22 15:06:48 -04:00
Juan Canada
fefabb67f5 Enable raytracing in cooked builds
#jira UE-146383
#robomerge ignore
#rb none
#preflight 623454453f685c2b421bdf7b

[CL 19433510 by Juan Canada in ue5-main branch]
2022-03-18 05:58:48 -04:00
graham wihlidal
32ff4eefc9 Merged Nanite HW rasterizer passes into a single RDG pass, and also SW rasterizer passes into a single RDG pass. All passes update various buffers with atomics, so they are now always marked with SkipBarrier to allow disable synchronization between passes and allow for overlap. Based on work by Zach Bethel
VSM in AncientGame campfire went from 4.64ms -> 3.41ms, Primary raster went from 1.34ms -> 1.07ms. Lumen raster 0.20ms -> 0.18ms. Much higher gains expected in content with high numbers of rasterizer bins (more overhead to remove using this optimization)

MedievalGame is even better: Primary raster 1.82ms -> 0.92ms, VSM 2.99ms -> 2.07ms, Lumen 0.43ms -> 0.19ms

#rb zach.bethel
#fyi ola.olsson, brian.karis, rune.stubbe
#preflight skip
#robomerge FNNC

[CL 19432065 by graham wihlidal in ue5-main branch]
2022-03-18 01:01:33 -04:00
tiago costa
a58feab15a Support creating nanite mesh BLAS using procedural primitive instead of proxy.
- Can be enabled using r.RayTracing.Nanite.ProceduralPrimitive
- Currently uses a single AABB geometry for the whole mesh so can only support one material.

#preflight 6231fddbe2541b4ff3b188b2
#rb aleksander.netzel

[CL 19410198 by tiago costa in ue5-main branch]
2022-03-16 15:21:46 -04:00
JayLu2000
25f73e4907 PR #8976: Add a setting to disable strip-reflect when Android shaders are compiled (Contributed by JayLu2000)
#jira UE-145556
#rb carl.lloyd, laura.hermanns
#preflight 623179958a603798938a9f22

[CL 19405778 by JayLu2000 in ue5-main branch]
2022-03-16 10:34:16 -04:00
graham wihlidal
04ad083c9d Removed Nanite and Virtual Shadow Map support for DirectX 11 + vendor extensions.
Nanite/VSM requires DX12 Agility SDK (Windows 10, 1909 or higher), latest GPU drivers, and support for Shader Model 6.6 atomics.

#preflight 62301d802a256c4b8c27631e
#jira UE-146136
#rb brian.karis, christopher.waters, andrew.lauritzen
[FYI] michal.valient, rune.stubbe, ola.olsson, jamie.hayes

#ROBOMERGE-OWNER: graham.wihlidal
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 19396949 in //UE5/Release-5.0/... via CL 19399888
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19403800 by graham wihlidal in ue5-main branch]
2022-03-16 03:50:13 -04:00