Commit Graph

122 Commits

Author SHA1 Message Date
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
andrew lauritzen
70a2837739 Move static separate cache to second texture array slice rather than "below" in UV space:
- Avoid gotchas with max texture size when static separate enabled
- Simplify addressing logic in a number of places
- Avoid allocating extra HZB that we never use

Details:
- Support rendering/sampling to 2D depth texture array in Nanite and virtual shadow map pass
- Remove some unnecessary HZB-related cvars
- Remove unused permutations from VSM HW raster

#preflight 624f4e5611261bc7b2171208
#rb jamie.hayes

#ROBOMERGE-AUTHOR: andrew.lauritzen
#ROBOMERGE-SOURCE: CL 19679616 via CL 19679656 via CL 19679706
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19680680 by andrew lauritzen in ue5-main branch]
2022-04-07 18:36:13 -04:00
zach bethel
a00b40ad3b Deprecated GetRenderTargetItem() from IPooledRenderTarget.
#preflight 624ddb30090236773a1a83e0
#rb luke.thatcher

#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 19655641 via CL 19655653 via CL 19655661
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19657582 by zach bethel in ue5-main branch]
2022-04-06 18:24:24 -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
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
jonathan bard
1574f12f96 Added BlackArrayDummy to system textures (single black pixel slice-texture array) because Metal requires texture arrays to be bound to texture array parameters
#rb rolando.caloca, will.damon
#preflight 61eb353645399e9f504497f7

#ROBOMERGE-AUTHOR: jonathan.bard
#ROBOMERGE-SOURCE: CL 18725791 via CL 18725797 via CL 18725806 via CL 18726578 via CL 18726746
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18726763 by jonathan bard in ue5-main branch]
2022-01-25 14:43:10 -05:00
dmitriy dyomin
cb7af0c249 Initialize PerlinNoise3D texture on mobile platforms
#jira UE-137110
#rb none
#preflight trivial

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 18689185 in //UE5/Release-5.0/... via CL 18689212 via CL 18689228
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18689259 by dmitriy dyomin in ue5-main branch]
2022-01-21 09:59:21 -05:00
zach bethel
0143cb41fa Deprecated defunct legacy transient resource API and removed vestiges.
#preflight 61e0a87c250b9537f7837e74
#rb christopher.waters

#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 18607884 in //UE5/Release-5.0/... via CL 18607913 via CL 18607948
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18607982 by zach bethel in ue5-main branch]
2022-01-13 17:56:22 -05:00
jeannoe morissette
bd4550b721 Add Pixel Format: PF_R64_UINT. Needed for (compliant) Vulkan's 64bit image atomics in upcoming changelist. bSupported defaults to FALSE (so no additional code for most APIs).
#rb Zach.Bethel
#preflight 61d34148af44b43628f33091

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 18503898 in //UE5/Release-5.0/... via CL 18504029
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18504080 by jeannoe morissette in ue5-release-engine-test branch]
2022-01-03 17:19:35 -05:00
charles derousiers
61d2cdf491 Convert Standard deferred lights shader to use FParameters shader parameters and native RDG resources.
#rb none
#jira none
#preflight 61b285734111d88202f94c0e

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 18429384 in //UE5/Release-5.0/... via CL 18429385
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18429387 by charles derousiers in ue5-release-engine-test branch]
2021-12-10 03:43:29 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
josie yang
742d1c2a03 Morph target engine modifications for 3rd party plugin
[FYI] alexis.matte, brian.white, christopher.waters, mihnea.balta, rolando.caloca, will.damon, halfdan.ingvarsson, kevin.ortegren

#ROBOMERGE-AUTHOR: josie.yang
#ROBOMERGE-SOURCE: CL 17444191 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17444481 by josie yang in ue5-release-engine-test branch]
2021-09-07 10:20:14 -04:00
yangke li
abb9346236 add ARM ASTC Encoder, support HDR profile, add astc hdr pixel format for opengl, vulkan and metal
todo:  hdr decode at runtime when astc hdr not supported
needs to figure out why ARM Encoder is much slower than ISPC, use ARM only for HDR Textures might be a good compromise.
#jira UE-119388

#ROBOMERGE-AUTHOR: yangke.li
#ROBOMERGE-SOURCE: CL 17441496 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17441499 by yangke li in ue5-release-engine-test branch]
2021-09-07 01:24:23 -04:00
will damon
517806c556 Fix-up Lumen translucency volume lighting shader resource bindings.
#rb daniel.wright
#jira UE-121544 UE-121194
#preflight 611558ee0d783d000156284c
[FYI] richard.wallis
#rnx

#ROBOMERGE-SOURCE: CL 17156556 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17156568 by will damon in ue5-release-engine-test branch]
2021-08-12 14:52:57 -04:00
charles derousiers
0082b8f3d4 Fix typo when initializing default textures with 11.11.10 or 10.10.10.2 format.
#rb none
#preflight 6100f8be2198a1000191879c

#ROBOMERGE-SOURCE: CL 16979356 via CL 16979358
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16979359 by charles derousiers in ue5-release-engine-test branch]
2021-07-28 02:51:51 -04:00
zach bethel
0b90a3fcd8 Convert MaxFP16Depth to use lock / unlock to avoid RDG tracking cost.
#rb trivial

#ROBOMERGE-SOURCE: CL 16963042 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16963113 by zach bethel in ue5-release-engine-test branch]
2021-07-26 19:57:13 -04:00
tiago costa
feb656574f Fix misleading comment
#jira FORT-379664

#ROBOMERGE-SOURCE: CL 16894730 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16894743 by tiago costa in ue5-release-engine-test branch]
2021-07-20 07:51:58 -04:00
halfdan ingvarsson
17563b8ff4 ASan: Avoid reading the stack out of bounds when clearing the buffer by simply repeating the clear value if the buffer size is greater than the value's size.
#rb juan.canada
#rnx

#ROBOMERGE-SOURCE: CL 16884482 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16884484 by halfdan ingvarsson in ue5-release-engine-test branch]
2021-07-19 11:55:34 -04:00
yangke li
702c9dc694 add RGB555A1 texture format support(not supported on Mac)
useful for RVT on mobile platforms, to save the cost of runtime compression
#rb Dmitriy.Dyomin mihnea.balta

#ROBOMERGE-SOURCE: CL 16872220 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16872238 by yangke li in ue5-release-engine-test branch]
2021-07-16 11:40:02 -04:00
dmytro vovk
8bbdf1e273 Removed ES 3.1 redundant feature level checks
#jira none
#rb Dmitriy.Dyomin

#ROBOMERGE-SOURCE: CL 16727513 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16727529 by dmytro vovk in ue5-release-engine-test branch]
2021-06-21 09:22:12 -04:00
luke thatcher
7b33de97fe Fix memory stomp in SystemTextures.cpp
- AsciiTexture initialization writes past the end of the RHI allocation
 - Loop was written as though the pixel format of the texture is PF_RGBA8, but is actually PF_R8, causing a 3 byte stomp at the end of the allocation.

#rb Andy.Firth
[FYI] charles.derousiers

#ROBOMERGE-SOURCE: CL 16613356 via CL 16614308
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16614395 by luke thatcher in ue5-release-engine-test branch]
2021-06-09 18:20:56 -04:00
Rolando Caloca
5e45490366 UE5 - Fix texture not getting released
#fyi charles.derousiers
#rnx
#rb trivial

[CL 16590589 by Rolando Caloca in ue5-main branch]
2021-06-08 14:57:05 -04:00
charles derousiers
76466fc4e4 Add proper ASCII texture to print standard character set from shader.
#rb none


#ROBOMERGE-SOURCE: CL 16566309
#ROBOMERGE-BOT: (v828-16531559)

[CL 16566349 by charles derousiers in ue5-main branch]
2021-06-06 16:05:31 -04:00