Commit Graph

149 Commits

Author SHA1 Message Date
carl lloyd
337e294e7e Added support for padding attribute locations automatically for OpenGLES
Fixed OpenGLES preview

#rb Lukas.Hermanns

[CL 17460403 by carl lloyd in ue5-main branch]
2021-09-08 13:00:04 -04:00
Dmitriy Dyomin
6e63a01f43 Fixed: Crash on running mobile preview with GL RHI
#jira UE-124955
#fyi carl.lloyd

[CL 17417611 by Dmitriy Dyomin in ue5-main branch]
2021-09-03 03:58:02 -04:00
Lukas Hermanns
8360c000f3 Fix compiler errors in Metal and GLSL backends.
#rb none
#jira none
#rnx

[CL 17409014 by Lukas Hermanns in ue5-main branch]
2021-09-02 16:55:29 -04:00
Lukas Hermanns
7161ed1348 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

[CL 17408818 by Lukas Hermanns in ue5-main branch]
2021-09-02 16:39:14 -04:00
christopher waters
a737c92c4b Shader symbol terminology changes
- Splitting symbol generation and shader "debug info" generation into two different cvars. This should now allow us to generate symbols post-packaging without generating different shader variants. This should also enable us to always generate symbols and still have the final deduplicated shader sizes.
- r.Shaders.Symbols is now the primary way to enable shader symbols for debugging.
- r.Shaders.GenerateSymbols can be enabled to always generate symbols without writing them to disk.
- r.Shaders.WriteSymbols can be used to force write symbols if they were previously generated.
- r.Shaders.ExtraData can be used to generate shader names for engine runtime systems to use.
- NotifyShaderCooked replaced with NotifyShaderCompiled, prep for upcoming non-cook symbol writing.
- PC DXC shader compiles should only generate debug info when requested, not all the time.
- PC FXC shader compiles should generate debug info when requested, not just when r.Shaders.Optimize is 0.

#jira none
#rb arciel.rekman, lukas.hermanns
#preflight 611ad9035e737200015992db

[CL 17186155 by christopher waters in ue5-main branch]
2021-08-16 23:18:03 -04:00
carl lloyd
dfae4dfb7e Removed sprintf
#rb none

[CL 17134099 by carl lloyd in ue5-main branch]
2021-08-11 07:54:49 -04:00
carl lloyd
9e96cbc592 Fixed for Linux compile errors
#rb none

[CL 17133981 by carl lloyd in ue5-main branch]
2021-08-11 07:37:38 -04:00
carl lloyd
8500b2c4bd Added packed UB support to DXC and fixed bugs
#rb Lukas.Hermanns

[CL 17133860 by carl lloyd in ue5-main branch]
2021-08-11 07:10:27 -04:00
Lukas Hermanns
199b35c9f4 Unify compiler info and source info in CCHeader meta data.
#rb Will.Damon, Ryan.Vance
#fyi Carl.Lloyd
#jira none
#rnx

[CL 16687864 by Lukas Hermanns in ue5-main branch]
2021-06-16 10:14:15 -04:00
christopher waters
83f70197d3 Tessellation Removal: Removing RHI Hull/Domain shader types and enums.
#rb lukas.hermanns
#jira UE-94564
#preflight 607f2e11eb4f050001d4655e

[CL 16066223 by christopher waters in ue5-main branch]
2021-04-20 17:00:25 -04:00
Lukas Hermanns
c75e86cf40 Move SPIR-V utility functions for reflection and binding information into SpirvCommon.h/.cpp source files.
#rb Will.Damon, Carl.Lloyd
#fyi Ryan.Vance, Mihnea.Balta, Rolando.Caloca, Dmitriy.Dyomin
#jira none
#rnx

[CL 15954206 by Lukas Hermanns in ue5-main branch]
2021-04-08 10:09:56 -04:00
Lukas Hermanns
6c9b164f8b Added secondary "WritePackedGlobal" function to FHlslccHeaderWriter.
#rb Carl.Lloyd
#jira none
#rnx

[CL 15875032 by Lukas Hermanns in ue5-main branch]
2021-03-31 10:19:01 -04:00
christopher waters
1d0b1d44eb Initial support for Mesh and Amplification Shaders. These new shader types are an optional feature of the RHIs and are only enabled on PC D3D12 with Feature Level SM6.
#jira none
#rb emil.persson, graham.wihlidal, lukas.hermanns

[CL 15742432 by christopher waters in ue5-main branch]
2021-03-18 18:42:49 -04:00
lukas hermanns
51782b9094 Fix SRV shader reflection in GLES backend.
#rb Carl.Lloyd
[FYI] Dmitriy.Dyomin
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 15665578 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)

[CL 15665581 by lukas hermanns in ue5-main branch]
2021-03-10 10:16:28 -04:00
Lukas Hermanns
c147f01b29 Extend input/output bitmask in shader binding descriptors from 16 to 32 bits; in Metal, GLSL, ESSL, and SPIR-V backends.
#rb Will.Damon, Brian.White, Dmitriy.Dyomin
[FYI] Mihnea.Balta, Rolando.Caloca, Ola.Olsson, Carl.Lloyd
#jira UE-108926
#rnx

#ROBOMERGE-OWNER: Lukas.Hermanns
#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 15642763 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)
#ROBOMERGE-CONFLICT from-shelf

[CL 15642935 by Lukas Hermanns in ue5-main branch]
2021-03-08 13:24:59 -04:00
dmitriy dyomin
009ed560ce Use GL_ARM_shader_framebuffer_fetch_depth_stencil by default for depth fetch on Android
This works better than full FBF and supported on most Adnroid devices. Fallback to FBF when extension is not supported
(merged from  Release-Engine-Staging)
#jira UE-106962

#ROBOMERGE-SOURCE: CL 15624985 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15625000 by dmitriy dyomin in ue5-main branch]
2021-03-05 11:48:50 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Lukas Hermanns
829eddd5cf Added HlslccHeaderWriter to unify writing of shader meta data.
#rb Mihnea.Balta, Will.Damon, Dmitriy.Dyomin
#fyi Rolando.Caloca, Brian.White
#jira none
#rnx

[CL 15225002 by Lukas Hermanns in ue5-main branch]
2021-01-27 17:53:40 -04:00
Tim Smith
94c43ee279 Fixing PVS 7.7 Issues:
warning V595: The 'XYZ' pointer was utilized before it was verified against nullptr. Check lines: #, #.

#rb trivial
#jira UE-91644

[CL 15066412 by Tim Smith in ue5-main branch]
2021-01-13 09:15:02 -04:00
zach bethel
0d7dc4d4ed Refactor of uniform buffer binding to allow for runtime selection of static or per-shader binding. This is a necessary precursor to moving the View uniform buffer to use static bindings on mesh passes; it is used in so many places that both binding models are required to preserve compatibility. Added validation to catch when a uniform buffer is bound using both methods at the same time. Added CVar to RHI transition validation to control whether to break in the debugger on a transition failure.
#rb christopher.waters

[CL 14873973 by zach bethel in ue5-main branch]
2020-12-07 17:42:32 -04:00
Dmitriy Dyomin
df2a72b60a Dump GL compiled shaders for non-DXC path
#fyi Lukas.Hermanns
#rb none

[CL 14842357 by Dmitriy Dyomin in ue5-main branch]
2020-12-03 02:29:32 -04:00
Dmitriy Dyomin
4836096f93 Initialize FRHIShader::ShaderName for OpenGL shaders when r.Shaders.KeepDebugInfo is on
#rb none
#fyi rolando.caloca

[CL 14842116 by Dmitriy Dyomin in ue5-main branch]
2020-12-03 00:55:36 -04:00
Lukas Hermanns
5acb4c83b6 DXC Update: SCW backends.
#rb none
#fyi Mihnea.Balta, Rolando.Caloca, Will.Damon, Jonas.Meyer, Michael.Sartain
#jira none
#rnx

[CL 14832278 by Lukas Hermanns in ue5-main branch]
2020-12-01 19:33:51 -04:00
Lukas Hermanns
9e7053fd6c Fix Vulkan tessellation in DXC: use shader output slots to commuincate patch constant data in Hull shaders (Merged from CL 14680863).
#rb Rolando.Caloca, Will.Damon
#fyi Jonas.Meyer, Mihnea.Balta, Graham.Wihlidal
#rnx

[CL 14714790 by Lukas Hermanns in ue5-main branch]
2020-11-10 18:35:10 -04:00
Marc Audy
68150e0be7 Merge UE5/Release-Engine-Staging to UE5/Main @ 14611496
This represents UE4/Main @ 14594913

[CL 14612291 by Marc Audy in ue5-main branch]
2020-10-29 13:38:15 -04:00