Commit Graph

1261 Commits

Author SHA1 Message Date
christopher waters
b7fdf2d5c1 Create FSceneViewState with correct FeatureLevel
#jira UE-136004
#rb mihnea.balta
#preflight 61a53e6cf70a9e92dbd7514b

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

[CL 18435922 by christopher waters in ue5-release-engine-test branch]
2021-12-10 18:10:16 -05:00
mihnea balta
6d2e2722ac Pass the render targets information explicitly to FMeshDrawCommand::GetPipelineStateSortingKey, instead of relying on whatever is currently bound.
This method can be called before the render pass is executed, so the currently bound state is irrelevant. The calling code must extract the correct render target configuration from the pass parameters and send it. Relying on ApplyCachedRenderTargets could lead to incorrect sort keys or even crashes when the method was called in between passes, and the previously bound texture pointers were stale.

#jira none
#rnx
#rb Christopher.Waters
#preflight 61b3363313028c27d2928d57

#ROBOMERGE-AUTHOR: mihnea.balta
#ROBOMERGE-SOURCE: CL 18430152 in //UE5/Release-5.0/... via CL 18435290
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18435514 by mihnea balta in ue5-release-engine-test branch]
2021-12-10 17:45:35 -05:00
christopher waters
fe5ee0b7c9 D3D shader debug data changes
- Putting UniformBuffer name array key in a global header
- UniformBuffer name array shouldn't even been compiled in configurations that don't populate it
- Load shader UniformBuffer names in D3D12
- Adding error logging to D3D12 resource binding, uses shader UniformBuffer names. Implementation copied from D3D11.

#jira none
#rb kenzo.terelst
#preflight 61b23198e0430ca438c973de

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

[CL 18422839 by christopher waters in ue5-release-engine-test branch]
2021-12-09 14:50:45 -05:00
tuxerr
a531f1d4b4 PR #8679: regenerate UBO structs when platform changes (Contributed by tuxerr)
#rb Mihnea.Balta,Lukas.Hermanns
[FYI] Arciel.Rekman
#preflight 61a9017f800738dbfbbc4920

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 18408495 in //UE5/Release-5.0/... via CL 18408515
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18408530 by tuxerr in ue5-release-engine-test branch]
2021-12-08 13:31:51 -05:00
graham wihlidal
bb4bd1a374 Nanite wireframe support (postfx using barycentric coordinates)
#preflight 61afb25e7177ccd1a11b85b9
#rb brian.karis
#jira UE-98068 UE-98066

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 18398840 in //UE5/Release-5.0/... via CL 18398910
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18398971 by graham wihlidal in ue5-release-engine-test branch]
2021-12-07 15:14:57 -05:00
guillaume abadie
223782df74 Adds missing SHADER_USE_PARAMETER_STRUCT() on some shader classes
#rb trivial

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18393957 in //UE5/Release-5.0/... via CL 18393975
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18393985 by guillaume abadie in ue5-release-engine-test branch]
2021-12-07 07:48:20 -05:00
tiago costa
faf364c494 Fix compile error on Mac
- RHI_RAYTRACING is not visible in RenderCore.h
- the other RT related stats are not wrapped in preprocessor branches either

#jira UE-136670
#preflight 61af4adac6650f98a97d9712
#rb aleksander.netzel

#ROBOMERGE-AUTHOR: tiago.costa
#ROBOMERGE-SOURCE: CL 18393872 in //UE5/Release-5.0/... via CL 18393874
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18393877 by tiago costa in ue5-release-engine-test branch]
2021-12-07 07:29:07 -05:00
mark lintott
0100fb7c63 Non-Unity Fix For RHI_RAYTRACING define in RenderCore.h
#rb none
#jira none
#preflight 61ae2db61a368fd603dbfc7d

#ROBOMERGE-AUTHOR: mark.lintott
#ROBOMERGE-SOURCE: CL 18382788 in //UE5/Release-5.0/... via CL 18382808
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v896-18170469)

[CL 18382825 by mark lintott in ue5-release-engine-test branch]
2021-12-06 10:52:26 -05:00
sebastien hillaire
8a17373593 Strata
- Strata render targets follow base pass load action.
- There is now an option to never clear the non first uint target
- On console, fast clear is leveraged
- SSData is cleared during the categorisation pass if the pixel is non SSS only
- This shaved 1.3ms on one platofrms and 0.3ms on another

#rb charles.derousiers

#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 18381680 in //UE5/Release-5.0/... via CL 18381698
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18381712 by sebastien hillaire in ue5-release-engine-test branch]
2021-12-06 08:54:37 -05:00
mark lintott
b28cc533dc Non-Unity Fix
#rb none
#jira none
#preflight 61adf4f19c77d61007d653aa

#ROBOMERGE-AUTHOR: mark.lintott
#ROBOMERGE-SOURCE: CL 18381150 in //UE5/Release-5.0/... via CL 18381154
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18381157 by mark lintott in ue5-release-engine-test branch]
2021-12-06 06:51:29 -05:00
aurel cordonnier
c82f03b0df Removing duplicate definition due to bad automerge
#rnx

#ROBOMERGE-AUTHOR: aurel.cordonnier
#ROBOMERGE-SOURCE: CL 18375689 in //UE5/Release-5.0/... via CL 18375690
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18375692 by aurel cordonnier in ue5-release-engine-test branch]
2021-12-03 19:04:12 -05:00
guillaume abadie
7118d3fffa Allows to automatically trigger any command (such as DumpGPU) when doing a high resolution screenshot
#rb juan.canada
#jira UE-133882

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18299389 via CL 18374100 via CL 18374160
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18374168 by guillaume abadie in ue5-release-engine-test branch]
2021-12-03 17:00:32 -05:00
ola olsson
e856b953f3 Implement batching of instance culling for non-nanite VSM, all local lights are processed as one dispatch, also:
- Factor out the batching setup & merging from the deferred instance culling
- Refactor the instance culling load balancer to be able to share types between different allocators
- Make batching logic use scene rendering allocator
- Rename RenderVirtualShadowMapsHw to RenderVirtualShadowMapsNonNanite (and similar names)
- Refactor view setup logic for Nanite & Non into common functions

#rb andrew.lauritzen

#ROBOMERGE-AUTHOR: ola.olsson
#ROBOMERGE-SOURCE: CL 18293379 via CL 18373760 via CL 18373855
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373879 by ola olsson in ue5-release-engine-test branch]
2021-12-03 16:38:33 -05:00
andrew lauritzen
1dfa763b1f - Generalize one pass projection shadow mask to support up to 32 lights/pixel with 4bpp quantization
- Add some dither noise to both the SMRT result and the shadow mask lookup to minimize banding
- Fall back to a single sample VSM lookup (with a generous static bias) when overflowing the number of lights in one pass projection path
- Fix clamping issue with page dilation that was setting extraneous pages with point lights
- Fix SMRT issue with local lights jammed right next to geometry viewed at a distance
- Separate settings for page dilation for local and directional lights
- Add simple debug output for # lights in one pass projection
- Remove some dead code/parameters

#ROBOMERGE-AUTHOR: andrew.lauritzen
#ROBOMERGE-SOURCE: CL 18279117 via CL 18373418 via CL 18373449
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373485 by andrew lauritzen in ue5-release-engine-test branch]
2021-12-03 16:23:04 -05:00
jon nabozny
5fd91e8942 Working around D3D11 hitches caused by unpaged memory returned from Map. The workaround is to have UnifiedBuffer create brand new resources instead of updating existing ones.
#rb ola.olsson, kenzo.terelst, chris.bunner, ben.woodhouse
#preflight 619d019e47752856c967e8e9

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18272226 via CL 18272299 via CL 18272307 via CL 18272369 via CL 18272376 via CL 18273256 via CL 18277581 via CL 18373265 via CL 18373289
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373442 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 16:21:10 -05:00
ola olsson
bcf06c3e25 Add message to read back page pool status to host & display error message
- also make GPUMessage thread safe

#rb andrew.lauritzen,rune.stubbe
[FYI] zach.bethel
#preflight 619bb74a88439fccfe6342fb

#ROBOMERGE-AUTHOR: ola.olsson
#ROBOMERGE-SOURCE: CL 18269058 via CL 18372981 via CL 18373072
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373123 by ola olsson in ue5-release-engine-test branch]
2021-12-03 16:08:27 -05:00
guillaume abadie
264e5cadb8 Fixes r.RDG.ClobberResources not clobbering RDGBuffer with the said value
#rb trivial
#jira UE-135342
[FYI] zach.bethel

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18268218 via CL 18372850 via CL 18372947
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373059 by guillaume abadie in ue5-release-engine-test branch]
2021-12-03 16:05:01 -05:00
guillaume abadie
93fa3896be Implements r.DumpGPU.Test.PrettifyResourceFileNames to reduce risk of running into windows file path limits
#rb trivial
[FYI] juan.canada

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18267597 via CL 18372833 via CL 18372938
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373053 by guillaume abadie in ue5-release-engine-test branch]
2021-12-03 16:04:47 -05:00
guillaume abadie
08fa647550 Implements GRHIValidateBufferSourceCopy and use it in DumpGPU
#rb mihnea.balta

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18267540 via CL 18372827 via CL 18372934
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373048 by guillaume abadie in ue5-release-engine-test branch]
2021-12-03 16:04:39 -05:00
guillaume abadie
dd1c4774d5 Improves DumpGPU command
Dumps improvements:
1) Bring up for consoles
2) Better out of memory resiliency during the dumping process
3) Dumps console variables in CSV
4) Dumps process' log after completion
5) Dumps mip chains through FDumpTextureCS compute shader
6) Dumps depth & stencil texture formats through the FDumpTextureCS compute shader
7) Dumps at draw granularity with FRDGBuilder::DumpDraw(); (experimental)
8) Dumps final png screenshot to the dump directory
9) Adds & Dumps the FRDGBufferDesc::Metadata for viewer to decode buffer binary automatically
10) Dumps the PassParameters with structure metadata to decode shader parameters automatically
11) Adds CTRL+SHIFT+/ shortcut

Viewer improvements:
1) Tips display onload to spread some knowledge to the user
2) Supports for opening any pass/resources in new web browser tab
3) Emulates 16 and 32 bits UINT texture visualization with multiple webgl 8bit UINT textures
4) Fixes the webpage's tab going out of memory after visualizing many large resources.
5) Fixes the webpage's tab going out of memory after loading large buffer.
6) Adds support for more texture format with RGB channel reswizzling
7) Implements UI color-sheme based on UE5's editor theme
8) Implements texel color picker capabable of decoding every pixel format.
9) Implements texture viewer zooming with the mouse wheel
10) Implements a r.DumpGPU.Viewer.Visualize to open a specific RDG output resource when opening the viewer

#rb juan.canada
#preflight 619bb638fa0b360c406c42c5
[FYI] juan.canada, zach.bethel

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18260079 via CL 18372399 via CL 18372914
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18373039 by guillaume abadie in ue5-release-engine-test branch]
2021-12-03 16:04:00 -05:00
jon nabozny
6ba99692f9 When sampling VT use a fallback color held in a uniform if the root page isn't mapped.
#rb ben.ingram
#preflight 6175b24d875c1a0001aed3e4
#lockdown michal.valient

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 17904945 via CL 18006803 via CL 18370387 via CL 18370436
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18370510 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 13:43:10 -05:00
jon nabozny
f65dab652c Fix compile issue introduced in CL-17986013
Update FScatterUploadBuffer::PrimitiveDataStrideInFloat4s to match FPrimitiveSceneShaderData

#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 18004110 via CL 18369965 via CL 18369992
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18370003 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 13:18:42 -05:00
jeremy moore
09de98bfdf When destroying a VT producer only wait on its tasks, not on all transcoding tasks.
Removes regular 100ms spikes waiting on unrelated work.
#preflight 616dd0bdd48c46000171b5e2
#rb ben.ingram
#lockdown michal.valient

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 17851859 via CL 18003934 via CL 18369724 via CL 18369802
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18369839 by jeremy moore in ue5-release-engine-test branch]
2021-12-03 13:07:44 -05:00
jon nabozny
a082ab7c7f Refactor GPU-Scene upload to be parallel, results in about 3x speed improvement (e.g., ~15ms -> ~3ms for bad cases).
#rb brian.karis,kenzo.terelst
#preflight 616960bb88abaf0001180785
#lockdown michal.valient

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: ola.olsson
#ROBOMERGE-SOURCE: CL 17828369 via CL 18002863 via CL 18368827 via CL 18368831
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18368832 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 10:44:54 -05:00
rune stubbe
6a330850ba Implemented Nanite support for HLOD warmup hints
#rb sebastien.lussier
#lockdown michal.valient
#preflight 61682a911ae4f30001b1b52b

#ROBOMERGE-AUTHOR: rune.stubbe
#ROBOMERGE-SOURCE: CL 17815695 via CL 18002078 via CL 18368480 via CL 18368565
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18368614 by rune stubbe in ue5-release-engine-test branch]
2021-12-03 10:24:20 -05:00