Commit Graph

106 Commits

Author SHA1 Message Date
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
Laura Hermanns
f73012d4af Rebuild ShaderConductor as appendix to CL 19924020. Bumped GUID numbers in *Common.ush headers.
#rb Christopher.Waters
#jira none
#rnx
#preflight 62685030853fdb6fddd3992f

[CL 19927891 by Laura Hermanns in ue5-main branch]
2022-04-26 16:27:45 -04:00
mark lintott
0a346c6449 Backing out changelist 19864521 as it has impacted cooking.
#fyi laura.hermans
#rb none
#jira none
#preflight 6262d872d558dfdec39386d9

[CL 19867030 by mark lintott in ue5-main branch]
2022-04-22 12:50:31 -04:00
Laura Hermanns
b7b8911558 Rebuild ShaderConductor for Win64, Mac, and Linux with DXC update from Apr 2022.
#rb none
#fyi Mihnea.Balta, Rolando.Caloca, Jeannoe.Morissette, Will.Damon, Brandon.Schaefer, Michael.Sartain, Guillaume.Abadie, Graham.Wihlidal
#jira none
#rnx
#preflight 62620b286e7fba7e6b8513a0

[CL 19864521 by Laura Hermanns in ue5-main branch]
2022-04-22 09:54:39 -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
jeremy moore
338b3c1c74 Enable INVARIANT and fix MakePrecise() for D3D shaders.
Fixes issues with DXC compiler where we need precise keyword to ensure depth and base pass vertex outputs match.
#preflight 62309e75e65a7e65d686fbae

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 19389323 via CL 19389776
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19392831 by jeremy moore in ue5-main branch]
2022-03-15 15:53:14 -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
Richard Wallis
4453b315cf Fix for spvImageAtomicCoord template matching when texture access is not default This will fix the shader compilation error but would result in an assert in MetalRHI at runtime due to Metal API limitations as we cannot create a Texture3D from a MTLBuffer. This part has been addressed in CL 19309214 && CL 19314086 via RHISupportsVolumeTextureAtomics() and will currently return false for MetalAPI platforms.
Helps future proof template matching and reduce similar errors, when the texture access type is not default,  in the future and provide a better assert in the RHI with simpler logic around selection of buffer backed texture.

#jira UE-142944
#rnx
#review-19371968 @will.damon
#rb will.damon,  laura.hermanns
#preflight 6230719e050dc69468b0ae36

[CL 19384193 by Richard Wallis in ue5-main branch]
2022-03-15 08:12:08 -04:00
carl lloyd
b92607cf84 Fix for mobile deferred shading in Metal RHI
#jira UE-145113
#rb Dmitriy.Dyomin
[FYI] Jack.Porter
#preflight none

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

[CL 19346853 by carl lloyd in ue5-main branch]
2022-03-10 20:48:57 -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
dmitriy dyomin
b5563722b1 Fixed: Meshes appear to tear/stretch on Android (S21 Mali, Vulkan)
#rb jack.porter
#jira UE-144733
#preflight 62257694123eef55e6d39d19
#lockdown mitchell.wilson

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 19284378 in //UE5/Release-5.0/... via CL 19284766
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19290904 by dmitriy dyomin in ue5-main branch]
2022-03-07 15:29:43 -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
dmitriy dyomin
6c7bb51f6f Fixed: Android Package for TM-Shadermodels crashes on launch with Global Clip Plane enabled
#jira UE-141929
#rb jack.porter
#preflight 621f3ef73e14f0c7e568c601

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 19219526 in //UE5/Release-5.0/... via CL 19219564
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19227381 by dmitriy dyomin in ue5-main branch]
2022-03-02 15:20:01 -05:00
richard wallis
705ed1e745 Fix for Metal running out of buffer binding slots (max 31) due to the allocation of texture+buffer slot per SRV texture.
- Consume Uniform then UAV buffer slots first.
- Don't use up a buffer slot for texel buffers as we should be using texture buffers for these now.
- If we are not using a buffer slot for the same texel slot index then don't attempt to bind the underlying SRV buffer when binding the SRV texture otherwise it'll stomp on other in use buffer slots.
- Use CountTrailingZeros64() when referencing TextureIndices as that is a 64bit type.

#jira UE-141595
#preflight 620e3612fe76023596bd3e52
[REVIEW] [at]will.damon,  [at]laura.hermanns
#rnx
#lockdown cristina.riveron

#ROBOMERGE-AUTHOR: richard.wallis
#ROBOMERGE-SOURCE: CL 19116483 in //UE5/Release-5.0/... via CL 19117285
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19153361 by richard wallis in ue5-main branch]
2022-02-25 14:36:37 -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
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
axel riffard
92a7004918 Harmonize Metal version to use in iOS / Mac
#jira UE-135971
#rb jack.porter
[FYI] will.damon, carl.lloyd
#preflight 61e51ef2a2616066f675dd5e

#ROBOMERGE-OWNER: axel.riffard
#ROBOMERGE-AUTHOR: axel.riffard
#ROBOMERGE-SOURCE: CL 18631139 in //UE5/Release-5.0/...
#ROBOMERGE-BOT: UE5 (Release-5.0 -> Release-Engine-Staging) (v899-18417669)
#ROBOMERGE-CONFLICT from-shelf
#p4v-cherrypick 18631594
#preflight 61e643cb1f30b67a22f3febd

[CL 18636647 by axel riffard in ue5-main branch]
2022-01-17 23:50:00 -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
carl lloyd
be75433c84 Fix startup on Linux for AMD
Fix for crashes on Android with ARM GPU

#jira none
#rb jeannoe.morissette

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 18457776 in //UE5/Release-5.0/... via CL 18457786
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v898-18417669)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18457794 by carl lloyd in ue5-release-engine-test branch]
2021-12-14 14:48:14 -05:00
yuriy odonnell
d0576cf77c Add support for GPU asserts in ray generation shaders.
#rb Aleksander.Netzel

#ROBOMERGE-AUTHOR: yuriy.odonnell
#ROBOMERGE-SOURCE: CL 18188033 in //UE5/Release-5.0/... via CL 18188096
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18188106 by yuriy odonnell in ue5-release-engine-test branch]
2021-11-15 07:31:43 -05: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
christopher waters
8d9fb8186f Initial work on SM6.6 support
- SM6.6 not enabled just yet.
- Adding our own defines of __SHADER_TARGET_MAJOR and __SHADER_TARGET_MINOR to mimic the DXC defines. Since we preprocess, we can't rely on DXC to define them for us.
- Adding support for 64bit atomic operations
- Changing part of Nanite PC atomic permutation selection to be based on DataDrivenPlatformInfo
- Fixing DXC shader debugging. The PDB section was still being stripped from the final DXIL.

#jira none
#rb rune.stubbe
#preflight 61548928f5e4fd0001d7d0b3

#ROBOMERGE-OWNER: christopher.waters
#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 17665881 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE-CONFLICT from-shelf

[CL 17665943 by christopher waters in ue5-release-engine-test branch]
2021-09-29 15:13:20 -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