Commit Graph

239 Commits

Author SHA1 Message Date
aurel cordonnier
d17d20ca36 Merge from Release-Engine-Test @ 16758890 to UE5/Main
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719 (and Release-17.00 @ 16658211)

[CL 16763350 by aurel cordonnier in ue5-main branch]
2021-06-23 17:51:32 -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
Rolando Caloca
3475ca5434 UE5 - Fix Vulkan missing dual blending annotation; move it to be platform agnostic
#fyi Brian.White, Dmitriy.Dyomin
#rb Will.Damon
#jira UE-117253
#rnx

[CL 16574688 by Rolando Caloca in ue5-main branch]
2021-06-07 14:30:42 -04:00
will damon
bc656d20e0 Initial import of AGXRHI
AGXRHI is starting out as a clone of MetalRHI, but will be refactored and overhauled with several goals in mind:

- Reduce/Eliminate technical debt
- Substantially improve readability and maintainability
- Introduce clear layers for platform independent vs dependent code
- Reduce memory footprint and generally improve memory usage
- Remove legacy concepts (like manual reference counting) and enable better integration with platform tools
- Implement newer and more modern features provided by Metal (such as ray tracing and enhanced command buffer debugging)
- Target/tune the software architecture and API usage for performance on Apple designed GPUs

#rb jack.porter, richard.wallis
#jira none
#fyi lukas.hermanns
#rnx

[CL 16225160 by will damon in ue5-main branch]
2021-05-06 15:47:24 -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
7eccf9d2d6 Remove references to UE4 in Metal backend.
#rb Dave.Hunter
#fyi Will.Damon
#jira UE-111496
#rnx

[CL 16009723 by Lukas Hermanns in ue5-main branch]
2021-04-14 14:48:10 -04:00
Lukas Hermanns
dc07d3f58e Add "Disassemble" function to public interface of ShaderConductor.
Move ShaderConductor utility to disassemble SPIR-V into ShaderCompilerCommon module.
Fix --strip-reflect pass in SPIRV-Tools to remove all SPV_GOOGLE* reflection extensions.
Rebuild ShaderConductor for Win64, Linux, and Mac.

#rb Carl.Lloyd, Ryan.Vance
#fyi Mihnea.Balta, Rolando.Caloca, Will.Damon, Dmitriy.Dyomin
#jira none
#rnx

[CL 15978123 by Lukas Hermanns in ue5-main branch]
2021-04-12 11:25:06 -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
marc audy
bf2e06bca2 Added initial support for RDG_{TEXTURE, BUFFER}_ACCESS_ARRAY, which enables a dynamic number of inputs into an RDG pass. Removed unused / deprecated SHADER_PARAMETER_RDG_BUFFER.
#rb none

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 15905815 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15907353 by marc audy in ue5-main branch]
2021-04-02 20:35:50 -04:00
will damon
0a4e702859 Remove all tessellation support from Metal RHI
- Also, remove _NOTESS Metal profile

#rb christopher.waters, richard.wallis, lukas.hermanns, rolando.caloca
#jira UE-94564
#rnx

[CL 15831929 by will damon in ue5-main branch]
2021-03-25 16:56:00 -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
will damon
7980379479 Explicitly specify the Target when determining the metal version.
The target info reported when running `xcrun --sdk <platform> metal -v' is always the default for the running OS, and may vary slightly between point releases. Specifying the target reduces the chances of mismatched shader version when using FASTBuild to compile shaders.

NOTE: In order for the shader version to match, the FASTBuild workers must (currently) have the same version Xcode installed, but do not necessarily need to be running the same OS version.

#rb trivial
#[fyi] richard.wallis
#rnx

#robomerge[STARSHIP] Release-5.0-EarlyAccess

#ushell-cherrypick of 15734101 by will.damon

[CL 15739001 by will damon in ue5-main branch]
2021-03-18 12:33:32 -04:00
will damon
4d9be3b3ee Update min macOS version to 10.15 and roll default MSL to v2.2.
[REVIEW] [at]richard.wallis [at]axel.riffard [at]jack.porter [at]dave.hunter
#jira UE-109999
#rnx

#ROBOMERGE-SOURCE: CL 15681710 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15684125 by will damon in ue5-main branch]
2021-03-11 21:32:06 -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
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
will damon
ffb6adc774 Provide metal tools output to caller upon failure, dramatically simplifying debugging.
#rb lukas.hermanns
#jira none
#rnx
#lockdown marcus.wassmer


#ushell-cherrypick of 15389786 by will.damon

#ROBOMERGE-SOURCE: CL 15381462 in //UE4/Release-4.26/... via CL 15387405 via CL 15389663 via CL 15392606
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15392611 by will damon in ue5-main branch]
2021-02-11 17:43:48 -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
Jack Porter
19aacf6fc7 Fix shader compile error compiling TPageTableUpdateVS<false>for IOS from PC
#rb Will.Damon
#fyi Lukas.Hermanns

[CL 15046727 by Jack Porter in ue5-main branch]
2021-01-12 00:40:58 -04:00
will damon
17f49dded8 Adopt FShaderCodeName::Key in the Metal shader compiler.
- Follow-on to CL 14816162

#rb rolando.caloca
#jira none
#rnx

[CL 14882476 by will damon in ue5-main branch]
2020-12-08 16:54:51 -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
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
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00