Commit Graph

177 Commits

Author SHA1 Message Date
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
carl lloyd
9ae2f947d7 Fixed bug with column/row mismatch on non-square matrices in OpenGL
#fyi Wei.Liu
#rb trivial
#preflight none

[CL 20436298 by carl lloyd in ue5-main branch]
2022-05-31 09:21:55 -04:00
carl lloyd
642aed3a0f Added support for decal blending with PLS on OpenGL
#rb Dmitriy.Dyomin
#fyi Laura.Hermanns
#preflight 62712e07fe09c0cfbc366689

[CL 20024758 by carl lloyd in ue5-main branch]
2022-05-03 09:54:19 -04:00
Dmitriy Dyomin
271c3e1047 Removed support for separate shader objects from GL RHI as it was never used for GLES
#rb none
#jira none
#preflight 626802d0943f717ebfbb2968

[CL 19920264 by Dmitriy Dyomin in ue5-main branch]
2022-04-26 10:58:48 -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
54e296cef5 Added support for forcing Real UB's when using emulated UB's
#rb Dmitriy.Dyomin, Laura.Hermanns, Mihnea.Balta
#preflight 62556f463f5641db59f06e8b

[CL 19719192 by carl lloyd in ue5-main branch]
2022-04-12 08:41:13 -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
carl lloyd
3dae768112 Disabled force temporaries in OpenGLES due to bug when copying uniform buffer arrays with emulated uniform buffers
#jira UE-146596
#rb Jack.Porter
#preflight 62386738ec68595f3b772c54

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 19456922 in //UE5/Release-5.0/... via CL 19457907
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v933-19451510)

[CL 19461542 by carl lloyd in ue5-main branch]
2022-03-21 20:13:01 -04:00
carl lloyd
3b34233233 Fix for OpenGL ES depth fetch when used without deferred rendering.
#rb Jack.Porter
#jira UE-143196
#preflight 6230ab5ae348fe2ada68a495
#lockdown Mitchell.Wilson

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 19387078 in //UE5/Release-5.0/... via CL 19387832
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19390359 by carl lloyd in ue5-main branch]
2022-03-15 14:33:37 -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
carl lloyd
ff35ca4eed Fix for texelfetch parsing incorrect sampler
Fix for texture external

#jira UE-143237
#jira UE-142402
#rb jack.Porter
#lockdown Mitchell.Wilson
#preflight 6225ed30123eef55e6dd7879

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 19284954 in //UE5/Release-5.0/... via CL 19285699
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19291613 by carl lloyd in ue5-main branch]
2022-03-07 15:53:15 -05:00
carl lloyd
e2873b2301 Disable ubo padding as it causes a compile error when generating offsets for certain structures
#jira UE-143237
#rb Jack.Porter
#lockdown jack.Porter
#preflight none

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 19247396 in //UE5/Release-5.0/... via CL 19249325
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263180 by carl lloyd in ue5-main branch]
2022-03-04 03:22:46 -05:00
jack porter
97e3d1ea77 Fixes for OpenGLES with DXC
- Fixed bug where Niagara GPU particles are not rendering
         - Lighting not rendering correctly under Deferred Shading on mobile
         - Fixed opengl desktop rendering bugs

#jira UE-140902 UE-135714
#rb Laura.Hermanns
#lockdown jack.Porter
#preflight 621f3cff31454c90ccf36365

#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 19219609 in //UE5/Release-5.0/... via CL 19219624
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19227392 by jack porter in ue5-main branch]
2022-03-02 15:20:27 -05:00
carl lloyd
7119eccc6d Added support for framebuffer fetch and pixel local storage to OpenGLES with DXC
(Submitting for Carl.Lloyd)
#rb Dmitriy.Dyomin, Laura.Hermanns
#lockdown Jack.Porter
#jira UE-120580
#preflight None

#ROBOMERGE-OWNER: carl.lloyd
#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 18916240 in //UE5/Release-5.0/... via CL 18926540 via CL 18927298
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18927326 by carl lloyd in ue5-main branch]
2022-02-09 18:32:08 -05:00
carl lloyd
c9c7e1e38f Fix to allow preservation of fragment shader inputs for OpenGL
#rb Lukas.Hermanns
#preflight 61ddb3cbcd2cced710590320

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 18582376 in //UE5/Release-5.0/... via CL 18582418 via CL 18582422
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18582431 by carl lloyd in ue5-main branch]
2022-01-12 05:06:34 -05:00
lukas hermanns
a38bd44594 Add option to ShaderConductor to enable/disable re-assignment of in/out attribute slots. Rebuild ShaderConductor for Win64, Mac, and Linux.
#rb Carl.Lloyd
[FYI] Will.Damon, Brandon.Schaefer, Michael.Sartain, Brian.White, Jeannoe.Morissette
#jira none
#rnx

#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 18421689 in //UE5/Release-5.0/... via CL 18422988
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18423292 by lukas hermanns in ue5-release-engine-test branch]
2021-12-09 15:02:07 -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
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
carl lloyd
03edcec2b3 Added support to spirv-reflect to check RelaxedPrecision decorator
Allow half precision in packed UB's

#rb Lukas.Hermanns

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-COMMAND: FNMain
#ROBOMERGE-SOURCE: CL 18032584 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main

[CL 18032638 by carl lloyd in ue5-release-engine-test branch]
2021-11-03 09:25:57 -04:00
carl lloyd
e0e530f88a Fix for runtime shader error on Android with multiview enabled
#rb Lukas.Hermanns
#jira UE-132575

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-COMMAND: FNMain
#ROBOMERGE-SOURCE: CL 17978898 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main

[CL 17978907 by carl lloyd in ue5-release-engine-test branch]
2021-10-29 10:20:43 -04:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
lukas hermanns
81a84b4fa7 Set number of views with GL_OVR_multiview2 to fixed value of 2 to enable multiview in GLES with DXC.
#rb Jules.Blok, Steve.Smith
[FYI] Rolando.Caloca, Carl.Lloyd
#jira UE-121893
#rnx

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

[CL 17849919 by lukas hermanns in ue5-release-engine-test branch]
2021-10-18 14:48:30 -04:00