Commit Graph

1062 Commits

Author SHA1 Message Date
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
zach bethel
7e2392b608 Missing local file.
#rb none

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

[CL 16863835 by zach bethel in ue5-release-engine-test branch]
2021-07-15 12:40:25 -04:00
zach bethel
1a85777c3b Minor clean-up of RDG event name. Simplified the 'compiled out' name and fixed misspelling of a variable name.
#rb none

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

[CL 16863834 by zach bethel in ue5-release-engine-test branch]
2021-07-15 12:40:16 -04:00
danny couture
a7d587af81 Skip FlushRenderingCommand in slowtask tick when there is nothing to cleanup
#rnx
#rb Francis.Hurteau

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

[CL 16857578 by danny couture in ue5-release-engine-test branch]
2021-07-14 20:21:08 -04:00
jian ru
c1b9b1a758 Keep the default values of GDistanceFieldsPlatformMask and GRayTracingPlatformMask if their corresponding settings are not found in init files
#jira none
[FYI] krzysztof.narkowicz

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

[CL 16853580 by jian ru in ue5-release-engine-test branch]
2021-07-14 15:10:01 -04:00
krzysztof narkowicz
4ac25be5a3 Fixed FRenderBounds::ComputeSquaredDistanceToPoint
#ROBOMERGE-SOURCE: CL 16853024 via CL 16853030
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16853034 by krzysztof narkowicz in ue5-release-engine-test branch]
2021-07-14 14:32:52 -04:00
zach bethel
d03ba8eaba Remove split transition for swap chain textures. This avoids cases where certain platforms will stall at the beginning of graph execution.
#rb christopher.waters
#jira UE-119087

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

[CL 16850829 by zach bethel in ue5-release-engine-test branch]
2021-07-14 11:51:24 -04:00
zach bethel
c271a52f78 Build fix for RDG compiled without GPU events.
#rb none

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

[CL 16840346 by zach bethel in ue5-release-engine-test branch]
2021-07-13 14:29:44 -04:00
zach bethel
5ec769f91e RDG Parallel Execution (disabled by default)
- Refactored RDG to support free-threaded execution of passes.
 - Refactored renderer to use specific RHI command list variants in pass lambda. Immediate command list passes are forced to stay on the render thread, while other variants can be parallelized.

#rb christopher.waters

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

[CL 16838724 by zach bethel in ue5-release-engine-test branch]
2021-07-13 12:38:37 -04:00
krzysztof narkowicz
2cdfb99ef8 Added per platform setting to toggle distance field support. If it's disabled then no distance data will be cooked and distance fields will be disabled on the target platform.
Renamed FDataDrivenPlatformInfo::AudioCompressionSettingsIniSectionName to TargetSettingsIniSectionName. It's now used to populate PlatformMask at runtime, to make sure that it matches between cook and runtime. Before it was possible to cook with e.g. GRayTracingPlaformMask=0, but then the cooked game would run with GRayTracingPlaformMask=1.

#rb Patrick.Kelly
[FYI] Patrick.Kelly, Daniel.Wright, Josh.Adams

#ROBOMERGE-OWNER: krzysztof.narkowicz
#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 16825469 via CL 16825718
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16825756 by krzysztof narkowicz in ue5-release-engine-test branch]
2021-07-12 11:23:28 -04:00
christopher waters
b78f574b8a RDGBuffer objects actually need destructing with their new TFunction members. This fixes a slow leak when using Buffer creation callbacks.
#jira none
#rb jian.ru, zach.bethel
#preflight 60d617e1caf05900010655a8

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

[CL 16787653 by christopher waters in ue5-release-engine-test branch]
2021-06-25 15:34:35 -04:00
guillaume abadie
1b502fd981 Implements r.AntiAliasingMethod
#rb none
#preflight 60d33c8cd9586b000132acac

#ROBOMERGE-OWNER: guillaume.abadie
#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 16758022 via CL 16758023
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
#ROBOMERGE-CONFLICT from-shelf

[CL 16758219 by guillaume abadie in ue5-release-engine-test branch]
2021-06-23 11:54:40 -04:00
brandon schaefer
564fb99c03 Fix clang compiler warning/error
#jira none
#rb none
[FYI] Arciel.Rekman, Aurel.Cordonnier

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

[CL 16751801 by brandon schaefer in ue5-release-engine-test branch]
2021-06-22 19:50:03 -04:00
martin ridgers
19ac87d284 Move RHI_API into the UE_TRACE_CHANNEL_EXTERN() macro so it compiles if the macro is a stub.
#ROBOMERGE-SOURCE: CL 16748765 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16749194 by martin ridgers in ue5-release-engine-test branch]
2021-06-22 17:02:43 -04:00
graham wihlidal
bb6f46d1bf Added InstancePayloadDataOffset and InstancePayloadDataStride to primitive scene info and primitive uniform shader parameters. The range allocator has also been implemented, but no GPU resource allocations are performed at this time.
#rb ola.olsson
[FYI] brian.karis

#ROBOMERGE-SOURCE: CL 16745716 via CL 16745792
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16745805 by graham wihlidal in ue5-release-engine-test branch]
2021-06-22 13:50:35 -04:00
aurel cordonnier
02c0f425e8 Copy up from Release-Engine-Staging @ 16738359
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719

[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
ola olsson
30b717b963 Combing GPU-Scene instance culling and the id-list generation into one step, and the same for VSM
- Uses the InstanceCullingLoadBalancer to pre-distribute the work on the CPU to ensure even load.
 - Make instance culling use the instance data offset in MDC instead of translating primitive IDs.
 - Track single-instance draws separately from instanced to optimize handling (disable culling for single-instance primitives).

#rb Graham.wihlidal,andrew.lauritzen
[FYI] dmitriy.dyomin
#preflight 60d0eafa2ab2180001269160

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

[CL 16733837 by ola olsson in ue5-release-engine-test branch]
2021-06-21 16:52:03 -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
ola olsson
2a33ebc4f9 Add simple functionality to wrap 1D dispatches into 2D or 3D as needed with minimal overhead, and add utility shader function to retrieve the linear index.
- Makes the assumption (checked) that dimensions are at least 128 in both X and Y.

#rb Krzysztof.Narkowicz,Sebastien.Hillaire,Rune.Stubbe
#preflight 60d059002ab2180001122cef

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

[CL 16725819 by ola olsson in ue5-release-engine-test branch]
2021-06-21 06:08:41 -04:00
wei liu
e88d4df7d0 1. Unify the lighting calculation for both mobile deferred and forward.
2. Add an option to use high quality BRDF on mobile as the same with PC.
3. Fallback to default light shading model if it is not supported on mobile.
4. Use EnvBrdf for mobile deferred lighting pass.

#jira none

#rb Dmitriy.Dyomin
#preflight 60cdef32be81e8000118d85c

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

[CL 16722356 by wei liu in ue5-release-engine-test branch]
2021-06-19 10:07:01 -04:00
ryan vance
2263d0caa5 VKRT:
Add ray tracing shader types
Add initial ray tracing pipeline creation
Add acceleration structure descriptor type
Add basic ray tracing pipeline, occlusion support initially
Strip reflection from ray tracing shader spirv to deal with validation warnings
Don't use an array of vk descriptor types directly, this breaks with non-contiguous enum values which are common in extensions. Using a TMap from descriptor type to values instead.
Don't store vk types in the serialized shader header, translate to and from our own internal enum types to avoid similar non-contiguous value issues.
Re-enabled ray tracing compilation on windows desktop, explicitly disable runtime support using GRHISupportsRayTracing

Todo:
We need to deal with the lack of a 1:1 mapping between shader stages and frequencies for ray tracing hit groups. This is a one to many mapping which doesn't work with how most of the Vulkan RHI is authored. For now I'm assuming a hitgroup maps to a CHS.
Ray tracing shader descriptor allocation and pending state support. While we are serializing the descriptors for ray tracing shaders, we're not allocating or updating them yet which is the last large chunk needed to trace rays.
Fix spirv binary version mismatch validation error. This basically needs a local dxc modification which explicitly sets the spirv binary version to work around incorrect assuptions in dxc which is causing validation failures.
Add another local dxc modification to allow for arbirary struct size support using VK_EXT_scalar_block_layout for ray tracing shaders.

#rb jeannoe.morissette, lukas.hermanns

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

[CL 16711955 by ryan vance in ue5-release-engine-test branch]
2021-06-17 17:15:40 -04:00
chris kulla
59462d35d3 Material Instance changes should cause path tracer to restart accumulation
FMaterialRenderProxy doesn't appear to know which FScene it belongs to, so I had to go through the global render module and flag all scenes instead

#rb Ben.Ingram, Jason.Nadro

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

[CL 16704210 by chris kulla in ue5-release-engine-test branch]
2021-06-17 10:01:30 -04:00
jian ru
55aeb4e4a6 XB1 transient allocator implementation that works with RDG. Courtesy to Kenzo for most of the implementation
#jira UE-117189
#rb ben.woodhouse, kenzo.terelst
[FYI] ben.woodhouse, kenzo.terelst, zach.bethel

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

[CL 16682930 by jian ru in ue5-release-engine-test branch]
2021-06-15 20:56:21 -04:00
zousar shaker
c27625b056 Integrating //UE5/Dev-Cooker [at] 16678003 to //UE5/Main (Zousar.Shaker-YEG-0943-Quaternary)
Non-DevIteration_ShooterGame


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

[CL 16678928 by zousar shaker in ue5-release-engine-test branch]
2021-06-15 16:38:03 -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