Commit Graph

177 Commits

Author SHA1 Message Date
Guillaume Abadie
14c7c688e5 Adds a CompileDXC.bat to vulkan's ShaderDebugInfo
This allows to iterate to compile the USF file to SPIRV and translate to GLSL to verify the sanity of the SPIRV assembly.

#rb jeannoe.morissette
#jira UE-161125
#preflight 62fe8a8157316140a8fa226a
#fyi laura.hermanns

[CL 21449988 by Guillaume Abadie in ue5-main branch]
2022-08-18 17:07:23 -04:00
dmitriy dyomin
8edf003c00 Invalidate GL and Vulkan shaders
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 21438408 via CL 21438416 via CL 21438418 via CL 21438420
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v981-21435820)

[CL 21438584 by dmitriy dyomin in ue5-main branch]
2022-08-18 02:04:03 -04:00
Guillaume Abadie
960d0420ce Handle TextureExternal for vulkan in our preprocessor, not DXC
#rb jeannoe.morissette
#jira UE-161125
#preflight 62fbf2223c1872b8c97210fa, 62fbd5d6542a7a8d7576900e
#fyi laura.hermanns

[CL 21413162 by Guillaume Abadie in ue5-main branch]
2022-08-16 16:21:14 -04:00
christopher waters
a987160f55 Reworking the parameter rewrite code to do automatic bindless
- Refactoring FShaderParameterParser to use more string views since we can rely on OriginalParsedShader not changing.
- Split FShaderParameterParser::ParseAndMoveShaderParametersToRootConstantBuffer into smaller functions
- Moving FShaderParametersMetadata::IterateShaderParameterMembers into the only module it's used in, ShaderParameterParser.cpp
- Adding CFLAG_BindlessResources which will be set when ENABLE_BINDLESS_RESOURCES is set
- Adding CFLAG_BindlessSamplers which will be set when ENABLE_BINDLESS_SAMPLERS is set
- Adding resource/sampler detection and conversion to bindless in FShaderParameterParser

#jira UE-139616
#rb guillaume.abadie, jeannoe.morissette, yuriy.odonnell, laura.hermanns
#preflight 62d180cce468fcfd0b7001a0

[CL 21111994 by christopher waters in ue5-main branch]
2022-07-15 12:25:44 -04:00
christopher waters
b28a0c467f Moving ShaderParameterParser into its own source files.
#jira none
#rb guillaume.abadie, kenzo.terelst
#preflight 62b0ecb8ec13d14b5a1897ba

[CL 20757788 by christopher waters in ue5-main branch]
2022-06-21 10:49:56 -04:00
christopher waters
46d39f296a Reorganizing reflection handling to funnel through common functions.
This is a prerequisite for upcoming bindless changes as it centralizes key points where we register the different binding types.

#jira none
#rb jason.nadro, eric.mcdaniel, jeannoe.morissette
#preflight 62574453f7476d662c8dd2fe

[CL 19761676 by christopher waters in ue5-main branch]
2022-04-14 15:46:20 -04:00
carl lloyd
379853c1ea Added new android patch pass to fix driver crashes on Adreno devices running Android 10
#rb Laura.Hermanns
#preflight 625540723f5641db59e7628a

[CL 19718421 by carl lloyd in ue5-main branch]
2022-04-12 05:31:35 -04:00
Rolando Caloca
a8289ca1f9 UE5 - Remove non-ShaderConductor Vulkan shader compilation path as it's not used anymore
#rb Will.Damon
#preflight 624f065bc64cf034f4cfbf4c
#fyi Lukas.Hermanns

[CL 19670668 by Rolando Caloca in ue5-main branch]
2022-04-07 11:50:52 -04:00
christopher waters
0a8074d5a5 RemoveUniformBuffersFromSource shouldn't implicitly call TransformStringIntoCharacterArray.
#jira none
#rb jason.nadro
#preflight 624ddf0f090236773a1ad8c1

[CL 19656058 by christopher waters in ue5-main branch]
2022-04-06 17:19:38 -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
JayLu2000
25f73e4907 PR #8976: Add a setting to disable strip-reflect when Android shaders are compiled (Contributed by JayLu2000)
#jira UE-145556
#rb carl.lloyd, laura.hermanns
#preflight 623179958a603798938a9f22

[CL 19405778 by JayLu2000 in ue5-main branch]
2022-03-16 10:34:16 -04:00
Lukas Hermanns
999fb99c6c Enable HLSL 2021 language version (CFLAG_HLSL2021) in shader compiler backends.
#rb Guillaume.Abadie, Will.Damon
#fyi Carl.Lloyd, Ryan.Vance, Christopher.Waters, Mihnea.Balta, Rolando.Caloca, Yuriy.ODonnell, Graham.Wihlidal
#jira UE-138358
#preflight 6227b6b3c653e7ef9f571dc8

[CL 19319858 by Lukas Hermanns in ue5-main branch]
2022-03-09 09:47:28 -05:00
jeannoe morissette
ec21e834f5 Vulkan: Use Vulkan 1.1 environment for shader compilation on desktop platforms. Enable Wave Ops in Vulkan.
#rb mihnea.balta,Lukas.Hermanns
#preflight 61df3429a513f93cd21da888

#ROBOMERGE-AUTHOR: jeannoe.morissette
#ROBOMERGE-SOURCE: CL 18588748 in //UE5/Release-5.0/... via CL 18588757 via CL 18588778
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18588795 by jeannoe morissette in ue5-main branch]
2022-01-12 15:27:31 -05:00
jeannoe morissette
890702676c Spec compliant 64bit image atomics in Vulkan:
- use STORAGE_IMAGE to read from R64 formats when sampling isn't supported.
- leave high level code and HLSL untouched (RDG will continue to consider them read only access), patch SPIRV instead
- create a codepath for hzb that uses UlongType
- update shader guid for Vulkan to force rebuild

Fixes all validation issues with 64bit atomics and allows the use of RADV driver (AMD+Linux) for Nanite/Lumen.

#jira UE-138513
#preflight 61dc4c98af44b4362836a61f
#rb mihnea.balta
[FYI] Lukas.Hermanns

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

[CL 18563055 by jeannoe morissette in ue5-release-engine-test branch]
2022-01-10 13:56:47 -05:00
dmitriy dyomin
a82a8b7e3b Fixed: missing shader code in material editor for vulkan platforms
#rb jack.porter
#preflight 61d7dca5d17842e547d33f60

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 18540239 in //UE5/Release-5.0/... via CL 18540246
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18540247 by dmitriy dyomin in ue5-release-engine-test branch]
2022-01-07 01:36:15 -05:00
christopher waters
461deaf0bd Removing new usage of DDSPI in a shader format.
#jira none
#rb arciel.rekman
#preflight 61a55a2cec124631d742da87

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18321340 in //UE5/Release-5.0/... via CL 18321377
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18321387 by christopher waters in ue5-release-engine-test branch]
2021-11-29 23:22:02 -05:00
carl lloyd
436907778c Fix for error in merge of CL18310920
#rb none

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 18311322 via CL 18311463 via CL 18312621 via CL 18313045
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18313416 by carl lloyd in ue5-release-engine-test branch]
2021-11-29 14:04:23 -05:00
carl lloyd
4c5af4bae8 Fix for Android bug when using OpTypeImage and setting depth to unknown
#rb Lukas.Hermanns
[FYI] Dmitriy.Dyomin

#ROBOMERGE-OWNER: carl.lloyd
#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 18309759 via CL 18309767 via CL 18310351 via CL 18310386 via CL 18310920 via CL 18310950 via CL 18312599 via CL 18312697
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18312969 by carl lloyd in ue5-release-engine-test branch]
2021-11-29 13:35:16 -05:00
yuriy odonnell
7c43dc50b8 Add an explicit SPIR-V target environment option to CrossCompiler::FShaderConductorOptions and use Vulkan 1.2 environment when compiling ray tracing shaders and shaders with CFLAG_InlineRayTracing.
#rb Tiago.Costa
[FYI] Lukas.Hermanns

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

[CL 18283146 by yuriy odonnell in ue5-release-engine-test branch]
2021-11-24 09:26:06 -05:00
lukas hermanns
b8f4d067a0 Allow to disable scalar block layout in DXC with compiler option. Updated DXC to rev. 4b4b52a (Nov. 18). Rebuild ShaderConductor for Win64, Mac, and Linux.
#rb Yuriy.Odonnell, Dmitriy.Dyomin
[REVIEW] 18264230
[FYI] Jeannoe.Morissette, Ryan.Vance, Carl.Lloyd, Brandon.Schaefer, Michael.Sartain, Will.Damon, Mihnea.Balta
#jira none
#rnx

#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 18273482 in //UE5/Release-5.0/... via CL 18273498
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18273510 by lukas hermanns in ue5-release-engine-test branch]
2021-11-23 14:28:47 -05:00
christopher waters
5f8dab7623 Removing usage of DDSPI from ValidateShaderParameterTypes
#jira none
#rb lukas.hermanns, arciel.rekman
#preflight 6196a1ce89733d53862e1af8

#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 18243604 in //UE5/Release-5.0/... via CL 18243617
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18243627 by christopher waters in ue5-release-engine-test branch]
2021-11-18 15:53:43 -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
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
carl lloyd
232f64154e Added support for full precision in Material expressions to project
Added override for half precision to Materials

#jira UE-130988
#rb Jack.Porter, Dmitriy.Dyomin
#p4v-cherrypick 17965223

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 18035100 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 18035152 by carl lloyd in ue5-release-engine-test branch]
2021-11-03 11:57:39 -04:00
lukas hermanns
bd938f1e2c Cherry pick Vulkan shader stripping fix (merged from CL 17822037).
#rb Carl.Lloyd, Jules.Blok
[FYI] Dmitriy.Dyomin, Jeannoe.Morissette, Mihnea.Balta, Steve.Smith
#jira UE-131718
#rnx

#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 17860706 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)

[CL 17860713 by lukas hermanns in ue5-release-engine-test branch]
2021-10-19 10:41:03 -04:00