Commit Graph

28 Commits

Author SHA1 Message Date
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
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
christopher waters
39461bb256 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: christopher.waters
#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 18273336
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18273379 by christopher waters in ue5-release-engine-test branch]
2021-11-23 14:18:14 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
rune stubbe
f92ae9ba98 FScatterUploadBuffer::Init now respects GetMaxBufferDimension()
Power of two rounding to mitigate fragmentation now happens in bytes, instead of elements, so we get fewer unique buffer sizes.
#rb ola.olsson
#preflight 613f61e53bbb4800011187f1

#ROBOMERGE-AUTHOR: rune.stubbe
#ROBOMERGE-SOURCE: CL 17493448 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17493511 by rune stubbe in ue5-release-engine-test branch]
2021-09-13 12:57:44 -04:00
tiago costa
f106c46dd2 Support FRWBuffer scattered updates.
- Modified MemsetResource and MemcpyResource to take number of elements instead of number of bytes as input, since FRWBuffer can use different formats.

#rb Yuriy.ODonnell
#jira UE-120168
#preflight 612f98feb6b29c00013fbb13

#ROBOMERGE-SOURCE: CL 17394373 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17394380 by tiago costa in ue5-release-engine-test branch]
2021-09-01 19:20:47 -04:00
tiago costa
3a4ada8f0f Cleanup UnifiedBuffer/ByteBuffer:
- Unified FMemcpyCS and FScatterCopyCS to handle both buffers and textures.
- Simplified FByteBufferShader::FPermutationDomain.

#preflight 610916165938f90001f6af12
#rb Florin.Pascu

#ROBOMERGE-SOURCE: CL 17028922 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v845-17028103)

[CL 17028926 by tiago costa in ue5-release-engine-test branch]
2021-08-03 07:56:47 -04:00
christopher waters
e474599a48 EBufferUsageFlags as enum class.
#rb will.damon, rolando.caloca
#preflight 610179041e63730001feb1eb
#preflight 6101b0d5b4288d0001b61c32

#ROBOMERGE-OWNER: christopher.waters
#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 16986666 via CL 16987824
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16987849 by christopher waters in ue5-release-engine-test branch]
2021-07-28 17:19:36 -04:00
graham wihlidal
f602dcf242 Big cleanup/refactor of InstanceData* (renamed to InstanceSceneData* to match many other places already calling it that, and to disambiguate upcoming changes that add another instance data buffer to GPU Scene for arbitrary data payloads). This change also removes the virtuals on FPrimitiveSceneProxy for the instance list along with lots of copy paste code for all the derived types, and instead makes it a built-in feature of the base proxy (since nearly everything supports GPU Scene instancing now).
#rb ola.olsson
[FYI] brian.karis
#preflight 60c4d5c586ce760001377f2a

#ROBOMERGE-OWNER: graham.wihlidal
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 16660135 via CL 16660883
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16660909 by graham wihlidal in ue5-release-engine-test branch]
2021-06-14 13:43:26 -04:00
rune stubbe
49dab7faa0 Added UAVOverlap to UnifiedBuffer MemcpyResource to fix RHI validation errors.
#ROBOMERGE-SOURCE: CL 16547260
#ROBOMERGE-BOT: (v828-16531559)

[CL 16547263 by rune stubbe in ue5-main branch]
2021-06-03 10:26:59 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
zach bethel
cfd61f6e52 Moved GPU scene upload work to RDG.
#rb ola.olsson
[FYI] graham.wihlidal, andrew.lauritzen
#lockdown michal.valient

#ROBOMERGE-SOURCE: CL 15932750 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15932762 by zach bethel in ue5-main branch]
2021-04-06 13:59:36 -04:00
jeremy moore
8e69a72cde #jira UETOP-475
Shrink scattered upload buffers to prevent growth to some unbounded high watermark. This prevents pathalogical case of growing beyond the size supported by optimal RHI buffer allocation path.
#rb yuriy.odonnell

#ROBOMERGE-SOURCE: CL 15797978 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15807633 by jeremy moore in ue5-main branch]
2021-03-24 16:27:13 -04:00
ola olsson
764cc62a12 Fix transition errors in GPU-Scene and UnifiedBuffer.
#rb rune.stubbe
#jira UE-110477

#ROBOMERGE-SOURCE: CL 15709817 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15709845 by ola olsson in ue5-main branch]
2021-03-16 05:14:05 -04:00
Emil Persson
4516b985df Name all resources and make naming mandatory
#rb yuriy.odonnel, kenzo.terelst

[CL 15416919 by Emil Persson in ue5-main branch]
2021-02-16 08:37:39 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -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
Ola Olsson
636361000e Fix transition errors for GPUScene Instance buffer (not transitioned to SRV if size changed)
- Also changed ResizeResourceIfNeeded to return true also if it was previously zero.

#rb rune.stubbe

[CL 14719669 by Ola Olsson in ue5-main branch]
2020-11-11 11:06:59 -04:00
Kenzo Terelst
b8a0ffe208 - Make sure previously bound SRV resource is removed from cmd list binding cache before rename - force rebind of SRV handle
- Take start offset into account during rename

#rb Jonas.Meyer
#jira UE-101950

[CL 14586322 by Kenzo Terelst in ue5-main branch]
2020-10-27 09:01:36 -04:00
Yujiang Wang
ac3e4ffa26 Workaround D3D12RHI's dynamic SRV tracking bug for FScatterUploadBuffer by recreating SRVs upon buffer locks. This fixes GPUScene lightmap corruption issues.
#rb none

[CL 14580021 by Yujiang Wang in ue5-main branch]
2020-10-26 15:26:37 -04:00
zach bethel
1be4df8f48 Removed deprecated resource transition API from the engine.
#rb kenzo.terelst, christopher.waters, mihnea.balta
#fyi will.damon, brian.white, rolando.caloca
#jira none

[CL 14495239 by zach bethel in ue5-main branch]
2020-10-14 14:20:26 -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
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
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00