Commit Graph

45 Commits

Author SHA1 Message Date
Jeremy Moore
86c4666b6a #jira UE-149293
Revert changes from 19848183. A genuine fix was applied in 20181447 so that we don't need to apply a minimum texture size as a workaround for the original bug.
#preflight 627e74b85d0fe3ffef44f61c

[CL 20181952 by Jeremy Moore in ue5-main branch]
2022-05-13 11:26:59 -04:00
zach bethel
10131e1285 Refactored RDG in preparation for UnifiedBuffer conversions.
- Refactord 'Finalized Access' feature into a more flexible 'External' vs. 'Internal' access mode per resource toggle.
      - Resources can transition between modes multiple times within the graph.
      - Supports async compute pipeline.
      - Supports queueing of requests to avoid back-to-back helper passes.
      - This feature is needed to support conversion of GPU scene buffers.

 - Deprecated the ReadOnly and ForceTracking resource flags and added a 'SkipTracking' flag instead.
      - Previous semantics were confusing and error prone.
      - New model requires a manual flag to tell RDG never to transition a resource.
      - This flag is used for read-only dummy resources as an optimization.

 - Renamed some of the auxiliary 'FinalizedResource' utilities since the name no longer matches the semantics.

#preflight 6266cc6d0634d0904ce4ba46

[CL 19904734 by zach bethel in ue5-main branch]
2022-04-25 13:00:12 -04:00
Jeremy Moore
ecbd3c37cd #jira UE-149293
Apply minimum width to page table to avoid bug on one platform.
Further RHI investigation needed to find issue with small page table texture.
#rnx
#preflight 626157a9731f07cd5ccd11c5

[CL 19848183 by Jeremy Moore in ue5-main branch]
2022-04-21 09:17:27 -04:00
jian ru
798eacf38e Fix a memory stomp caused by writing to a released FLastRenderTimeContainer
[REVIEW] [at]peter.sauerbrei, [at]ben.woodhouse, [at]allan.bentham
#localization none
#tests ran ReplayRun tests on multiple platforms

#ROBOMERGE-AUTHOR: jian.ru
#ROBOMERGE-SOURCE: CL 19315963 via CL 19315975 via CL 19315977 via CL 19316728 via CL 19317123 via CL 19317129
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19347780 by jian ru in ue5-main branch]
2022-03-10 21:40:52 -05:00
jeannoe morissette
6939189858 VulkanRHI: Fix occasional layout error in VT depending on which pass runs first after it's resized.
#rb Jeremy.Moore, Mihnea.Balta
#preflight 622a159303062eac59d0f9d0

[CL 19336166 by jeannoe morissette in ue5-main branch]
2022-03-10 10:28:17 -05:00
zach bethel
9996233f7a Removed unused legacy MSAA multi-texture support from IPooledRenderTarget.
- Deprecated legacy members from FPooledRenderTargetDesc.
 - Deprecated ETextureRenderTarget and removed from RDG.
 - TargetableTexture always equals ShaderResourceTexture.
 - Simplified render target pool FindFreeElement.
 - Create pooled buffers and textures with a known state.

#rb graham.wihlidal
#preflight 61f8488568795b2f45852274

#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 18796880 in //UE5/Release-5.0/... via CL 18797840 via CL 18799070
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18799188 by zach bethel in ue5-main branch]
2022-01-31 17:22:31 -05:00
christopher waters
15fb3777bf Adding a required StencilRef argument to SetGraphicsPipelineState.
#jira none
#rb zach.bethel, mihnea.balta, florin.pascu
#preflight 61312f4a79ce170001d4a79e
#robomerge[bot1] emt

[CL 17422777 by christopher waters in ue5-main branch]
2021-09-03 11:59:36 -04:00
yangke li
bcac39b34b fixed empty pagetable on Mobile devices
#fyi dmitriy.dyomin jeremy.moore mi.wang

[CL 16502687 by yangke li in ue5-main branch]
2021-05-28 13:55:05 -04:00
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
jeremy moore
e164217933 #jira UE-112852
Integrate virutal texture allocator improvements from main.
[FYI] ben.ingram
#lockdown kevin.ortegren

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

[CL 15922638 by jeremy moore in ue5-main branch]
2021-04-05 16:16:29 -04:00
Ben Ingram
60478d3652 VT allocator improvements
- Check partially allocated block for fit, don't need to start with a completely free block for allocations
- Try to use the lowest possible vAddress for new allocations, this reduces the texture area covered by allocations
- Page table is no longer required to be square power-2 texture, instead allow it to grow organically as allocated area increases
- Allocator starts with maximum-sized block and tracks allocated area, no longer needs special logic to 'grow'
- Rectangular allocated VTs now mip based on min-size rather than max-size, relaxes alignment requirements and allows better packing
#rb jeremy.moore
#jira none

[CL 15825578 by Ben Ingram in ue5-main branch]
2021-03-25 12:40:35 -04:00
Jeremy Moore
f8c7aa88b0 Fix VT page table memory stat not being updated after first alloc for each space.
Added AVT indirection texture into page table memory stat.
#fyi ben.ingram
#rb none

[CL 15701048 by Jeremy Moore in ue5-main branch]
2021-03-15 18:01:26 -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
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
Ben Ingram
6b158562d7 Update names of render targets used for VT to actually include the word 'Virtual'
#rb none
#jira none

[CL 14837842 by Ben Ingram in ue5-main branch]
2020-12-02 15:35:05 -04:00
Kenzo Terelst
d86ef25c79 Nanite streaming and virtual texture transition fixes
#rb Mihnea.Balta

[CL 14719042 by Kenzo Terelst in ue5-main branch]
2020-11-11 09:48:41 -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
2bc88676d6 Converted virtual texture system and GPU lightmass to RDG.
#rb yujiang.wang, jeremy.moore
#jira none

[CL 14581416 by zach bethel in ue5-main branch]
2020-10-26 16:44:44 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -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
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -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
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