Commit Graph

246 Commits

Author SHA1 Message Date
aurel cordonnier
e3f7878676 Merge from Release-Engine-Test @ 17462327 to UE5/Main
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17463546 by aurel cordonnier in ue5-main branch]
2021-09-08 16:42:26 -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
will damon
cfe6d7f92a Fix Windows build.
#rb jack.porter
#jira none
#rnx

[CL 17048834 by will damon in ue5-main branch]
2021-08-04 08:33:12 -04:00
will damon
bd9e2f087a Fix-up metal compiler version parsing to accommodate changes to Xcode 13 SDK.
#rb lukas.hermanns
#jira UE-120915
#fyi richard.wallis, jack.porter
#rnx

[CL 17039044 by will damon in ue5-main branch]
2021-08-03 17:18:53 -04:00
Chris Varnsverry
e4b43d1efd - Fix some unnecessary string copies when calling FPaths::FileExists
#jira FORT-392314
#review-16922341 @Michael.Kirzinger @Marc.Audy @Rob.Cannaday @Sam.Zamani

[CL 16923987 by Chris Varnsverry in ue5-main branch]
2021-07-22 11:10:51 -04:00
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