Commit Graph

67 Commits

Author SHA1 Message Date
tiago costa
30c8264346 Implemented ShouldCompileRayTracingCallableShadersForProject(ShaderPlatform)
- added bSupportsRayTracingCallableShaders to DDPI.
- only Windows D3D12 RHI supports callable shaders at the moment.

#rb yuriy.odonnell
#preflight 628bb493693c5e1de282983f

[CL 20331097 by tiago costa in ue5-main branch]
2022-05-23 12:52:55 -04:00
Guillaume Abadie
12c8b7bf7f Compiles all global shaders with HLSL2021 on some platforms
#rb laura.hermanns
#jira none
#preflight 627ceb4ace4192efbe2e6f8a, 627d1920a82f3adab87b67f0

[CL 20165180 by Guillaume Abadie in ue5-main branch]
2022-05-12 11:41:03 -04:00
graham wihlidal
9b68f6b766 Fully remove Nanite and Virtual Shadow Map SM5 vendor extension, lockbuffer hack, and DX11 support from UE5
#rb brian.karis
#fyi rune.stubbe, andrew.lauritzen, jamie.hayes, christopher.waters, michal.valient
#preflight 62606513dd47b4ad2180ff27

[CL 19841303 by graham wihlidal in ue5-main branch]
2022-04-20 19:29:19 -04:00
guillaume abadie
05cbe82085 Implements FGenericDataDrivenShaderPlatformInfo::GetSupportsRealTypes
#rb rolando.caloca
#preflight 624b0188e434babd8a3213fc

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 19646722 via CL 19646819 via CL 19646890
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19651116 by guillaume abadie in ue5-main branch]
2022-04-06 13:43:51 -04:00
Charles deRousiers
546f1b27c6 Add ROV type support for shader binding.
#rb mihnea.balta
#jira none
#preflight 623b31aaca34ffd7bf7ca796

[CL 19481254 by Charles deRousiers in ue5-main branch]
2022-03-23 13:02:24 -04:00
charles derousiers
0195d6b7aa Add OIT per-pixel sorting support for translucent material
This technique is guarded with by a projected settings. It is currently only supported on PC Dx12. This is the initial step for fine grain/per-pixel sorting.

#rb sebastien.hillaire
#jira none
#preflight 623a1884bc1cf2803867d8f8

[CL 19470340 by charles derousiers in ue5-main branch]
2022-03-22 15:06:48 -04:00
christopher waters
0ffd6c2a00 Adding initial GetResourceFromHeap and GetSamplerFromHeap support.
#jira UE-139617
#rb lukas.hermanns
#preflight 61f98ba34b0bc1c417645b8b

[CL 18813708 by christopher waters in ue5-main branch]
2022-02-01 15:08:52 -05:00
christopher waters
cb6d99d667 Switching ERHIFeatureLevel:SM6 from SM6.5 to SM6.6 which allows us to use the built-in 64bit atomics.
AMD still has issues with SM6.6 but we can't wait on their fixes much longer.

#jira none
#rb mihnea.balta, lukas.hermanns
#preflight 61eb15ae731e3b40889d249c

[CL 18697016 by christopher waters in ue5-main branch]
2022-01-21 16:50:04 -05:00
yuriy odonnell
7f82e90db3 Add separate RHI capability properties for full ray tracing shaders and inline ray tracing. While most RHIs may support both features, some may only support one.
#preflight 619ce604f934c1a291f81cfe
#rb aleksander.netzel

#ROBOMERGE-AUTHOR: yuriy.odonnell
#ROBOMERGE-SOURCE: CL 18270186 in //UE5/Release-5.0/... via CL 18270194
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18270205 by yuriy odonnell in ue5-release-engine-test branch]
2021-11-23 10:25:31 -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
chris kulla
754266cb79 Enable Diaphgram DOF on SM6 via the DataDrivenPlatform info, and simplify related special cases for other platforms
#rb Christopher.Waters
#jira none
#preflight 6189952c4a0c609a29b2152b

#ROBOMERGE-AUTHOR: chris.kulla
#ROBOMERGE-SOURCE: CL 18095262 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18095375 by chris kulla in ue5-release-engine-test branch]
2021-11-08 18:09:31 -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
charles derousiers
c3ecd91082 Add custom intersection support for vertex factory
Originally done by Chris for path tracing, ported for raytracing

#rb chris.kulla, yuriy.odonnell, juan.canada
#jira none
#preflight 617c67b5ec42930001bd07d9

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 17992421 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17992424 by charles derousiers in ue5-release-engine-test branch]
2021-10-30 05:27:10 -04:00
lukas hermanns
85dec65f90 Add bSupportsDxc to DataDrivenPlatformInfo.
#rb Arne.Schober, Rolando.Caloca
[FYI] Josh.Adams, Brian.White, Florin.Pascu
#jira none
#rnx

#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 17776856 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17776906 by lukas hermanns in ue5-release-engine-test branch]
2021-10-11 17:16:04 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00
jeannoe morissette
99c219ff51 Fix bad merge.
#rb none

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 17631233 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17631272 by jeannoe morissette in ue5-release-engine-test branch]
2021-09-27 11:46:17 -04:00
jeannoe morissette
7bbdf95cf0 Unify the DataDrivePlatformInfo for VULKAN_SM5 in a common VulkanPC fake platform. The same slot was used in Editor (FGenericDataDrivenShaderPlatformInfo::Infos[SP_VULKAN_SM5]) for all these different sets of values (Windows, Linux, etc), so they would overwrite eachother (and the last one loaded was used). Use a single set of values for all VULKAN_SM5 and we will add a ShaderPlatform for those that need to diverge (like it was done for Android) or store the setting elsewhere.
#rb Mihnea.Balta,steve.smith

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 17601769 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17601828 by jeannoe morissette in ue5-release-engine-test branch]
2021-09-22 18:21:10 -04:00
dmitriy dyomin
99bfa9e992 Support SkinCache on mobile (everywhere)
#rb jack.porter, josie.yang

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 17562761 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17562766 by dmitriy dyomin in ue5-release-engine-test branch]
2021-09-18 04:55:36 -04:00
yuriy odonnell
c9e637c245 Added an option to disable high-end ray tracing reflection support per platform. This avoids expensive/long shader compilation for effects that will never be needed in practice.
#preflight 613923d1aa2cf300014e5b58
#rb Juan.Canada

#ushell-cherrypick of 17468565 by Yuriy.ODonnell

#ROBOMERGE-AUTHOR: yuriy.odonnell
#ROBOMERGE-SOURCE: CL 17504970 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17504987 by yuriy odonnell in ue5-release-engine-test branch]
2021-09-14 10:56:47 -04:00
aurel cordonnier
7f517562d5 Merge from Release-Engine-Staging @ 17438845 to Release-Engine-Test
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17439044 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-06 12:23:53 -04:00
jeannoe morissette
97a3285e40 Set bSupportsVariableRateShading to false in DataDrivePlatformInfo.ini for VULKAN_SM5 temporarily. Our current setup has VULKAN_SM5 defined for multiple other platforms and they clobber each other on load (you keep the settings of the last one loaded it seems).
#rb steve.smith

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

[CL 17424378 by jeannoe morissette in ue5-release-engine-test branch]
2021-09-03 13:46:09 -04:00
steve smith
fa91b23a32 Add Attachment VRS functionality for Vulkan.
Plumb through all required stage flags, access masks, layouts, renderpass attachments, etc for the VK_KHR_fragment_shading_rate extension.
Fix up logic used to gather VRS properties (tile sizes, data type/format).
Add templated version of VkFragmentShadingRateAttachmentInfo, attach to renderpasses where supported and when attachment provided.
#jira UEVR-2248
#rb robert.srinivasiah jeannoe.morissette rolando.caloca

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

[CL 17380068 by steve smith in ue5-release-engine-test branch]
2021-08-31 19:24:14 -04:00
chris kulla
9b9c46045b Fix how wave operations are detected by the path tracer
Should use the provided shader platform when deciding which permutation to compile instead of relying on the global GRHISupportsWaveOperations

Enable wave operations for PCD3D_SM6 (part of ShaderModel 6.0)

#jira UE-122170
#rb Christopher.Waters
#preflight 6125b1f945848f00013089d9

#ROBOMERGE-SOURCE: CL 17298586 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17298597 by chris kulla in ue5-release-engine-test branch]
2021-08-25 00:22:11 -04:00
graham wihlidal
5eea21442d Refactored mesh shader RHI abstraction into tiers, allowing various platforms to correctly check for optional features (like primitive attribute support)
[FYI] christopher.waters, luke.thatcher, eric.mcdaniel
#preflight 61143a4c9c7bb10001f06277

#ROBOMERGE-SOURCE: CL 17143667 via CL 17143685
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17143691 by graham wihlidal in ue5-release-engine-test branch]
2021-08-11 18:29:54 -04:00
jeannoe morissette
1c3df9d049 - Add support for 64bit image atomics extension (VK_EXT_shader_image_atomic_int64).
- Add CVar (r.Vulkan.Allow64bitShaderAtomics) to forcefully disable 64bit image atomics.  Currently defaults to 0 (until other components are in).
- Check driver version for Vulkan on NVIDIA, a fix was added for the 64bit image atomics that is required for Nanite. (currently Windows only, Linux TBD)

#rb Rolando.Caloca
[FYI] mihnea.balta,dmitriy.dyomin,brandon.schaefer

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

[CL 16982990 by jeannoe morissette in ue5-release-engine-test branch]
2021-07-28 11:51:01 -04:00