Commit Graph

220 Commits

Author SHA1 Message Date
carl lloyd
802f14d2bf Change Texture2DArray's to flatten by texture name instead of using shader names.
#rb jeannoe.morissette

[CL 27823019 by carl lloyd in ue5-main branch]
2023-09-13 05:09:45 -04:00
graham wihlidal
cd14a292ce Change no derivative op DXC output to be stored in PRIV instead of RDEF to avoid some incompabilities with a couple tools creating PSOs.
[FYI] dan.elksnitis, laura.hermanns

[CL 27819477 by graham wihlidal in ue5-main branch]
2023-09-12 21:45:41 -04:00
graham wihlidal
db0fea1270 Modified DirectXShaderCompiler to add a custom UserInfo container part, and check for derivative ops. The final output currently encoded the derivative ops into the ResourceDef part instead of UserInfo due to official validator issues, but I will follow up with Microsoft on a clean solution.
#rb laura.hermanns
[FYI] jason.nadro, yuriy.odonnell, rune.stubbe, brian.karis

[CL 27737340 by graham wihlidal in ue5-main branch]
2023-09-09 02:14:45 -04:00
laura hermanns
af361fa3e2 Improve vector/matrix constant folding in SPIRV-Tools. Source integration of GitHub PR 5272. Rebuild ShaderConductor for Win64, Mac, and Linux.
#rb Carl.Lloyd
[FYI] JeanNoe.Morissette
#jira UE-188510

[CL 26724168 by laura hermanns in ue5-main branch]
2023-07-31 18:12:38 -04:00
laura hermanns
c97c4271fb Fix null pointer exception in SPIRV-Cross for structured buffer support.
#jira UE-190817
#rb Carl.Lloyd
[FYI] Mihnea.Balta, Jason.Nadro
#rnx

[CL 26553404 by laura hermanns in ue5-main branch]
2023-07-24 16:01:06 -04:00
jeannoe morissette
af8e195fa9 VulkanRHI: Support shader models above 6.3 in ShaderConductor
#rb Laura.Hermanns,christopher.fiala
[FYI] carl.lloyd
#rnx

[CL 26534989 by jeannoe morissette in ue5-main branch]
2023-07-22 06:34:34 -04:00
carl lloyd
a793c2fcd1 Add support to enable an SM6 platform for Mac
#rb Zack.Neyland
#jira UE-184435

[CL 26062749 by carl lloyd in ue5-main branch]
2023-06-16 14:24:06 -04:00
Laura Hermanns
f3a6e841af Fix SPIRV-Cross option propagation for GLES backend and rebuild ShaderConductor for Win64, Mac, and Linux.
#rb Dmitriy.Dyomin
#fyi Carl.Lloyd
#jira none
#preflight 64668e2575696d2bd7eda761
#rnx

[CL 25642845 by Laura Hermanns in ue5-main branch]
2023-05-26 10:44:53 -04:00
Laura Hermanns
b8c526c389 DXC and SPIRV-Cross fixes to enable Substrate in D3D11:
- Support structured buffers in HLSL backend of SPIRV-Cross (PR #2143).
- Integrate SPIRV-Cross fix to forward opaque types in GLSL backend (PR #2110).
- Integrate SPIRV-Cross fix to use actual field offset to validate vec4 boundary alignment (#PR 2139).
- Integrate SPIRV-Cross fix to not restrict SV_RenderTargetArrayIndex to GS and MS (#PR 2138).
- Make SV_Position decoration as implicitly invariant optional (Used to address Z-fighting issues in Vulkan and Metal; Drastically impacts vertex shader performance on certain platforms).
- Don't force DXC for all shaders when r.Substrate is enabled.

#jira UE-174555
#rb Sebastien.Hillaire, Carl.Lloyd, Dan.Elksnitis
#fyi Brian.White, Jason.Nadro, JeaNoe.Morissette, Yuriy.Odonnell, Guillaume.Abadie
#preflight 6453d3df0e33f2d51d2b032e

[CL 25353473 by Laura Hermanns in ue5-main branch]
2023-05-05 09:21:36 -04:00
carl lloyd
56aa2dc74c Merging CL 24437047
//UE5/Release-5.2/Engine/...

to //UE5/Main/Engine/...

#preflight none

[CL 25298659 by carl lloyd in ue5-main branch]
2023-05-02 04:50:02 -04:00
jeannoe morissette
efa00a9cb5 OpenGL: Avoid StorageImageWriteWithoutFormat SPIRV capability when compiling shaders for GL by adding a "-fvk_force_storage_image_format" flag that brings back old behavior (promote 3-component UAV to 4-component instead of using Unknown format). (author: Carl.Lloyd)
Broken since 24910389.

#rb Florin.Pascu,Carl.Lloyd
#fyi Laura.Hermanns,Dmitriy.Dyomin
#preflight 6442c73d0171aae0b1c6e85e
#jira UE-183868,UE-183432
#rnx

[CL 25149146 by jeannoe morissette in ue5-main branch]
2023-04-21 13:52:26 -04:00
carl lloyd
5775425f16 Patch for OpStore of AccelerationStructure in SPIRV
#rb Yuriy.odonnell, aleksander.netzel
#preflight none

[CL 25092807 by carl lloyd in ue5-main branch]
2023-04-18 15:47:31 -04:00
zack neyland
1c34484cec spriv-cross: Fix compile issue with experimental nanite support.
#jira UE-182868
#preflight na

[CL 24988058 by zack neyland in ue5-main branch]
2023-04-11 03:26:21 -04:00
zack neyland
be4e1f0887 Metal: Add experimental Nanite support for M2 based devices.
#jira UE-182683
#preflight https://horde.devtools.epicgames.com/job/64309adf2855180717cd4332
#rb Josh.Adams
#p4v-cherrypick 24968466

[CL 24972129 by zack neyland in ue5-main branch]
2023-04-07 19:00:54 -04:00
jeannoe morissette
99ce449235 VulkanRHI: Fix component mismatch errors in Vulkan shaders by integrating fix from DXC main line (PR #4868). Rebuild ShaderConductor on all paltforms.
#rb Laura.Hermanns
#preflight 642c3136ce01db47ac254586
#rnx

[CL 24910389 by jeannoe morissette in ue5-main branch]
2023-04-04 10:27:08 -04:00
Laura Hermanns
08b9ae2ac9 Fix DXC rewriter for function definitions outside their class scope.
#rb Dan.Elksnitis, Carl.Lloyd, Sebastien.Hillaire
#fyi Stu.McKenna, Mihnea.Balta
#jira UE-175006
#preflight 6426f29438075fa13f4e1332
#rnx

[CL 24872757 by Laura Hermanns in ue5-main branch]
2023-03-31 11:57:04 -04:00
florin pascu
7a8faff2fd Replace OpCompositeConstruct with OpAccessChain for OpenGL for array creation - UE5
#jira UE-180965
#preflight 641aee2cbb1320be41857a4a

[CL 24759993 by florin pascu in ue5-main branch]
2023-03-23 07:22:40 -04:00
laura hermanns
b7c639d97c Re-insert accidentally removed DLL shutdown for DXC on Linux.
#jira UE-180141
#preflight 6413727f7d1280ffe7e50138
#rnx

[CL 24679467 by laura hermanns in ue5-main branch]
2023-03-16 17:00:36 -04:00
carl lloyd
c0d2a35b7b Fixed bug with out of range access when checking for const access to an array
#rb Peter.Sauerbrei

[CL 24388958 by carl lloyd in ue5-main branch]
2023-02-23 16:00:08 -05:00
carl lloyd
a89065b583 Adding support for RawBufferLoad2 to enable Raytracing on Android (Provided by Samsung)
#rb Laura.Hermanns
#preflight 63f5eeea6928c1ca3db58418

[CL 24358236 by carl lloyd in ue5-main branch]
2023-02-22 05:39:49 -05:00
carl lloyd
91e6cffd39 Fix for error in previous CL, missing condition on branch
#rb Rolando.Caloca
#jira UE-176190
#preflight 63ebb7bd7e76998e9adb9f05

[CL 24216518 by carl lloyd in ue5-main branch]
2023-02-14 13:30:28 -05:00
laura hermanns
7ada60f6d9 Fix DXC/SPIR-V bug with empty structs and re-enable Nanite for Vulkan.
Several PRs have been filed on GitHub for DXC (PR 5017, PR 5020) and SPIRV-Tools (PR 5107).
Integrated from CL 23998474.

Workaround for DXC rewriter bug: Have member function definition inside struct declaration.
Integrated from CL 23976367.

Explicitly initialize TNaniteWritePixel members as empty structs expose further bugs in SPIR-V backend of DXC.

Rebuild ShaderConductor for Win64, Mac, and Linux (Empty struct fix).

#rb Jason.Nadro, JeanNoe.Morissette, Carl.Lloyd
[FYI] Brian.Karis, Graham.Wihlidal, Rune.Stubbe
#jira UE-175538, UE-172568
#preflight 63eae0eab91ae11c1ceceed2
#rnx

[CL 24214167 by laura hermanns in ue5-main branch]
2023-02-14 12:14:10 -05:00
carl lloyd
cdd50b476e Changed FMA precision fix to strip FMA on android as it causes issues on drivers shipped in Android 11.
Removed NMin/NMax calls from SPIRV

#jira UE-176190
#rb Laura.Hermanns, Jack.Porter
#preflight 63e665885a01c6956b2b17fe

[CL 24213862 by carl lloyd in ue5-main branch]
2023-02-14 12:06:00 -05:00
carl lloyd
17ddda2d2c Added support for relaxing nan checks in OpenGL and enabled for Android.
Fixed bug on Adreno drivers when using mixed precision in FMA
#rb Laura.Hermanns, Jack.Porter
#jira UE-174863
#preflight 63dcd8ba78716a01e80924f9

[CL 23988703 by carl lloyd in ue5-main branch]
2023-02-03 06:43:59 -05:00
laura hermanns
21af85eec1 Fix null pointer exception in SPIRV-Tools pass and disable OpCompositeInsert folding rules.
#jira UE-175699, UE-174816
#preflight 63daa99c3f006aee119ce119
#rnx

[CL 23961060 by laura hermanns in ue5-main branch]
2023-02-01 19:28:03 -05:00