Commit Graph

987 Commits

Author SHA1 Message Date
Luke Thatcher
5419abad1c Fix crash in editor where the format aliasing overload of RHICreateUnorderedAccessView is not implemented.
- We shouldn't call this function when GRHISupportsUAVFormatAliasing is false

#rb Zach.Bethel

[CL 16376850 by Luke Thatcher in ue5-main branch]
2021-05-18 17:39:24 -04:00
Luke Thatcher
d9728437c1 Add UAVFormat field to FPooledRenderTargetDesc to allow selection of an aliasing format when retrieving surfaces from the pool
- Used by the VT system to alias DXT surfaces with integer formats.

#rb Zach.Bethel
#fyi Christopher.Waters
#jira UE-114726
#preflight 60a3aca422cce000018d88ad

[CL 16369514 by Luke Thatcher in ue5-main branch]
2021-05-18 12:34:02 -04:00
Lukas Hermanns
53d8a7c8a9 Use "GetErrorStringWithLineMarker()" by default for FShaderCompilerError.
#rb Rolando.Caloca
#fyi Arciel.Rekman
#jira none
#rnx

[CL 16356881 by Lukas Hermanns in ue5-main branch]
2021-05-17 15:06:27 -04:00
carl lloyd
9b6d231e68 Enabling DXC on Vulkan Mobile
#rb Lukas.Hermanns

[CL 16346836 by carl lloyd in ue5-main branch]
2021-05-17 05:59:00 -04:00
christopher waters
d1f02225a4 Adding support for R32_FLOAT depth buffers.
#jira UE-85382
#rb brian.white, will.damon, mihnea.balta
#fyi andrew.lauritzen
#preflight 609de73fbfbee500013afd47

[CL 16330130 by christopher waters in ue5-main branch]
2021-05-14 11:17:41 -04:00
graham wihlidal
e936df5a56 Implemented on screen error message if Nanite is enabled w/ assets in the scene, and lack of 64bit image atomics. This change also allows for requiring 64bit atomic support (falling back to proxies if unsupported), or printing an error but still running Nanite using the lockbuffer hack (expected corruption, but AncientGame is surprisingly tolerant of this due to lots of high frequency detail/noise + TAA). The default is to fallback to lockbuffer + printing an error, but atomic64 can be required with r.Nanite.RequireAtomic64Support. Additionally, this change lays down ground work to (in the future) properly avoid Nanite doing any work for views/scenes without any actual Nanite assets, yet Nanite is supported.
#rb andrew.lauritzen
[FYI] brian.karis, rune.stubbe, michal.valient
#lockdown nick.whiting
#jira UE-115717

#ROBOMERGE-SOURCE: CL 16327193 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v804-16311228)

[CL 16327195 by graham wihlidal in ue5-main branch]
2021-05-14 02:51:21 -04:00
Jeremy Moore
6d2b42f0d0 ComputeGraph graph based compilation.
More work to do but this is a minimal functional starting point.
#rb halfdan.ingvarsson
#preflight 609da63e046b9d00010b8246

[CL 16321681 by Jeremy Moore in ue5-main branch]
2021-05-13 19:17:49 -04:00
zach bethel
8e3c56ec69 Removed high-frequency trace event.
#rb none

[CL 16317043 by zach bethel in ue5-main branch]
2021-05-13 15:32:48 -04:00
ionut matasaru
b9ed7c5b33 Fixed errors re format string / parameter list for various UE_LOGs:
- number of supplied parameters less or more than the number of specifiers used in format string
  - invalid format string specifiers used

#rb Matt.Peters

[CL 16315056 by ionut matasaru in ue5-main branch]
2021-05-13 13:21:24 -04:00
jonathan bard
2b0d389910 Fixed crash when drawing landscape BP brushes :
* Added game thread-only version of draw events in order to avoid the mistake of pushing a draw event on the main thread using an immediate command list, and popping it on the main thread later on, while the original command list may have been destroyed already.
* FDrawEvent is now able to be started/stopped on the game thread (no command list provided : a render command using the current immediate command list will be issued on both start and end) or the rendering/RHI threads (same as now : the command list passed in the start function will be the one used in the end function)
* Fixed potential similar issue with Begin/EndDrawCanvasToRenderTarget and DrawMaterialToRenderTarget BP functions
* Fixed potential similar issue with FGPUSkinCache end of frame updates (+ fixed FGPUSkinCache::BeginBatchDispatch being ifdefed-out by #if WANTS_DRAW_MESH_EVENTS)

#rb mihnea.balta, chris.waters, josie.yang
#jira none
#tests editor, PF

#p4v-cherrypick 16311819

#ROBOMERGE-OWNER: jonathan.bard
#ROBOMERGE-AUTHOR: jonathan.bard
#ROBOMERGE-SOURCE: CL 16311809 in //Fortnite/Main/... via CL 16311812 via CL 16314912 via CL 16314932
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v804-16311228)

[CL 16314939 by jonathan bard in ue5-main branch]
2021-05-13 13:12:56 -04:00
Ben Ingram
f7126004de Restore functionality to automatically map newly allocated VTs, but only for lowest resolution mip level
- This should be much faster than previous code which attempted to map all mip levels
- Need to ensure at least lowest resolution mip is mapped, in order to avoid rendering frames with garbage data mapped
- Add warning for AllocatedVTs that never manage to complete this mappings
#rb none
#jira none

[CL 16308484 by Ben Ingram in ue5-main branch]
2021-05-12 20:33:27 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
Ben Ingram
c249923be9 Don't call destructors when destroying frozen objects
- Frozen memory images may have de-duplicated sections, where the same object is referenced multiple times; this means default destructors might be called multiple times, which is not supported in general
- Add a hook to allow custom behavior to destroy frozen objects that may hold references to external resources
- Within shader system, no need to run destructors, since all memory should be owned by the top-level memory image
#jira none
#rb arciel.rekman, charles.bloom

[CL 16278300 by Ben Ingram in ue5-main branch]
2021-05-11 15:12:06 -04:00
Arne Schober
8384913873 U5 - Fix D3d11 validation error when clearing large buffers that would run into a ComputeShader Threadgroup limitation.
[CL 16265499 by Arne Schober in ue5-main branch]
2021-05-11 03:24:16 -04:00
brandon dawson
e9d58c5f1d Fix memory leaks. The memory leak check was hit while running a light bake in a QA test level. This lead to the discovery of several other memory leaks that needed to be addressed
[REVIEW] [at]Nick.Whiting [at]Johnathan.Bard
#jira UE-115065

#ROBOMERGE-SOURCE: CL 16249060 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v799-16237190)

[CL 16263798 by brandon dawson in ue5-main branch]
2021-05-10 23:54:25 -04:00
Arne Schober
b2b27bcd1f U5 - Delete Resources on the RHI Thread to fix layering violation
[CL 16246026 by Arne Schober in ue5-main branch]
2021-05-09 23:20:16 -04:00
zach bethel
8d8b93086a Reworked RDG pooled buffer size alignment so that it no longer affects the external-facing descriptor.
#rb none
#jira FROST-2514
#fyi charles.derousiers

[CL 16222555 by zach bethel in ue5-main branch]
2021-05-06 12:36:40 -04:00
jonathan bard
e4e254a204 * Fixed buffer overrun crash with FGpuProfiler
* Added CVar (r.GpuProfilerMaxEventBufferSizeKB) to control the GPU profiler scratch buffer's size (dynamically tweakable)

#rb ionut.mataseru
#jira none

#p4v-cherrypick 16221270

#ROBOMERGE-SOURCE: CL 16221260 in //Fortnite/Main/... via CL 16221263 via CL 16222503
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Main) (v796-16191650)

[CL 16222533 by jonathan bard in ue5-main branch]
2021-05-06 12:33:32 -04:00
carl lloyd
954bd71ad2 Fix for Desktop Forward on Metal devices
- Disabled GPUScene

#rb Jack.Porter
#jira UE-114416
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 16219822 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v796-16191650)

[CL 16219825 by carl lloyd in ue5-main branch]
2021-05-06 09:05:45 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Ben Ingram
6d7762a839 Fix compile error
#rb none
#jira none

[CL 16209859 by Ben Ingram in ue5-main branch]
2021-05-05 13:31:35 -04:00
zach bethel
7c28e71d9e Batch RDG upload passes together to reduce transitions and RDG compilation work.
#rb charles.derousisers, andrew.lauritzen
#jira UE-114621

[CL 16209728 by zach bethel in ue5-main branch]
2021-05-05 13:20:09 -04:00
Ben Ingram
9468976c1d Don't try to map all resident pages to newly allocated VTs. Too slow, especially for large VTs
- Instead, keep VT cached for a few frames after they are deleted, this way they can be re-used if they're deleted/recreated due to state changes
- This should solve the problem of material changes causing pages to become unmapped for a few frames
#rb none
#jira none

[CL 16209506 by Ben Ingram in ue5-main branch]
2021-05-05 13:09:24 -04:00
zach bethel
804d775535 Minor RDG optimizations.
- Simplified texture subresource tracking.
 - Removed map lookup for each resource in SetupPass.
 - Improved Compile / CollectPassResources to reduce cache misses.
 - Added some container reservations to reduce reallocation costs.
 - Added snapping of buffers to page boundaries to improve re-use.

#rb none

[CL 16208311 by zach bethel in ue5-main branch]
2021-05-05 11:58:15 -04:00
christopher waters
71b56ba373 Adding cross platform shader support for Mesh shaders.
#jira none
#rb luke.thatcher, kenzo.terelst
#preflight 60907ada29845700011789b0

[CL 16199921 by christopher waters in ue5-main branch]
2021-05-04 17:56:36 -04:00