37 Commits

Author SHA1 Message Date
guillaume abadie
886da10abf Adds bSupportsRealTypes=RuntimeDependent in Vulkan SM5 and SM6
#rb jeannoe.morissette
#jira UE-179496

[CL 26269712 by guillaume abadie in 5.3 branch]
2023-06-27 16:33:56 -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
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
jeannoe morissette
279e3fe462 VulkanRHI: Add Vulkan_1_3 support for shader compilation. (WIP towards VULKAN_SM6)
#fyi laura.hermanns, carl.lloyd
#preflight 641b05eb32723d4a200be648
#rnx

[CL 24747522 by jeannoe morissette in ue5-main branch]
2023-03-22 10:40:26 -04:00
laura hermanns
bcf95545bd Add host machine name to OOM report in DXC backend and refactor global SCW error-code handling. Bumped ShaderCompileWorkerOutputVersion to 9.
#rb Jason.Nadro, Dan.Elksnitis, Yuriy.Odonnell, Arciel.Rekman
#preflight 638e610c255f07df8ea212f4
#rnx

[CL 23428544 by laura hermanns in ue5-main branch]
2022-12-07 10:29:08 -05:00
kate ellis
839f9f1889 [Backout] - CL23401851
[FYI] Laura.Hermanns
Original CL Desc
-----------------------------------------------------------------
Add host machine name to OOM report in DXC backend and refactor global SCW error-code handling.

#rb Jason.Nadro, Dan.Elksnitis, Yuriy.Odonnell, Arciel.Rekman
#preflight 638e610c255f07df8ea212f4
#rnx

[CL 23421737 by kate ellis in ue5-main branch]
2022-12-06 19:47:06 -05:00
laura hermanns
c17b2976f9 Add host machine name to OOM report in DXC backend and refactor global SCW error-code handling.
#rb Jason.Nadro, Dan.Elksnitis, Yuriy.Odonnell, Arciel.Rekman
#preflight 638e610c255f07df8ea212f4
#rnx

[CL 23421619 by laura hermanns in ue5-main branch]
2022-12-06 19:45:07 -05:00
axel riffard
105479f091 Fix Metal 3.0 shader compilation on iOS
#rb jack.porter
#jira UE-166909
#preflight 6385cd67d76995cb142c0695

[CL 23303343 by axel riffard in ue5-main branch]
2022-11-29 05:55:31 -05:00
dan elksnitis
b81ae6648c [shader compilation] changes to error handling in ShaderCompileWorker
- each platform compilation request is now wrapped in __try/__except rather than a single exception handling block at the top level of the worker; this allows us to log an exception (with callstack) as a compilation error and continue the batch
- remove SEH code from ShaderConductorContext, the above makes this redundant (and it didn't provide any actionable information)
- strip down SEH code in D3DShaderCompiler; now only used for the purposes of pre-compiling with DXC in the case of an FXC crash. dumping preprocessed source will be handled in a different manner in a forthcoming CL
- minor change in the DXC precompile path to not log an unnecessary warning when performing an explicitly-requested DXC precompile

#rb Jason.Nadro
#rb Laura.Hermanns
#rb Yuriy.ODonnell
#preflight 63514c798176062ea73acb41
#jira FORT-524383

[CL 22654436 by dan elksnitis in ue5-main branch]
2022-10-20 09:43:50 -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
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
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
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
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
lukas hermanns
91113e2e9e Enable Metal v2.4; maps from MAX_SHADER_LANGUAGE_VERSION=7.
#rb Will.Damon
#jira none
#rnx

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

[CL 18018978 by lukas hermanns in ue5-release-engine-test branch]
2021-11-02 10:36:33 -04:00
lukas hermanns
e18c1bdf13 Added more extension support to GLSL backend in SPIRV-Cross and rebuild ShaderConductor.
#rb Brian.White, Florin.Pascu
[FYI] Carl.Lloyd, Mihnea.Balta, Rolando.Caloca
#jira none

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

[CL 17862535 by lukas hermanns in ue5-release-engine-test branch]
2021-10-19 13:00:13 -04:00
lukas hermanns
d43f20d79c Replace EHlslCompileTarget with FHlslShaderModel in ShaderConductor interface for better control over input shader version.
#rb Jeannoe.Morissette, Will.Damon
[FYI] Steve.Smith, Rolando.Caloca
#jira UE-121893
#rnx

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

[CL 17817405 by lukas hermanns in ue5-release-engine-test branch]
2021-10-14 12:05:06 -04:00
carl lloyd
aad9f5c552 Merging CL 17736980
//UE5/Release-5.0/...

to //UE5/Main/...

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 17784827 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)

[CL 17784849 by carl lloyd in ue5-release-engine-test branch]
2021-10-12 10:42:28 -04:00
carl lloyd
a0d85084b1 Added support for padding attribute locations automatically for OpenGLES
Fixed OpenGLES preview

#rb Lukas.Hermanns

#ROBOMERGE-AUTHOR: carl.lloyd
#ROBOMERGE-SOURCE: CL 17460403 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17460416 by carl lloyd in ue5-release-engine-test branch]
2021-09-08 13:00:48 -04:00
lukas hermanns
c5400b94fe Replace EHlslShaderFrequency with EShaderFrequency in ShaderConductor interface.
Also remove further references to Hull and Domain shaders as tessellation is no longer supported in UE5.

#rb Will.Damon, Brian.White, Christopher.Waters, Jeannoe.Morissette
[FYI] Carl.Lloyd, Florin.Pascu, Ryan.Vance, Rolando.Caloca, Mihnea.Balta
#jira none
#rnx

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

[CL 17408845 by lukas hermanns in ue5-release-engine-test branch]
2021-09-02 16:41:03 -04:00
lukas hermanns
011e219a20 Fix mapping of EHlslShaderFrequency when cross-compiling HLSL-to-HLSL as appendix to CL 17291947.
#rb Christopher.Waters
#jira UE-117831
#rnx

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

[CL 17317452 by lukas hermanns in ue5-release-engine-test branch]
2021-08-26 10:22:08 -04:00