- Texture*Array.Load needs to split the array index out of the vector coordinate for Metal.
- The GetDimensions function needs to support the array-length/depth output argument.
- RemovePackedVarReferences was inserting new variables at the top of the function, not the same scope as the source variable, which won't compile in cases where structs are used as temporaries and not function arguments.
#rb none
#ROBOMERGE-SOURCE: CL 5502462 via CL 5503115
[CL 5535524 by mark satterthwaite in Main branch]
#jira UE-71698
#rb none
#ROBOMERGE-SOURCE: CL 5434778 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5434784 by mark satterthwaite in Main branch]
#jira UE-71589
#rb none
#ROBOMERGE-SOURCE: CL 5419941 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5419946 by mark satterthwaite in Main branch]
Package Metal shader source into a zip file rather than a tgz so it can be done on Windows builds too and do this asynchronously while generating the Metal libraries. This file is stored in the MetaData folder so should be moved out of the content and not get packaged. Must be unzipped at the command-line for some reason, but it works.
#rb none
#ROBOMERGE-SOURCE: CL 5333983
[CL 5333997 by mark satterthwaite in Main branch]
#jira UE-69104
#rb none
#ROBOMERGE-SOURCE: CL 5289294 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5308163 by mark satterthwaite in Main branch]
- Brings over the necessary engine changes for embedding UE4 mobile as a dylib/so in native mobile app
- Various changes for facial animation, screen recording, others
- ARKit and ARCore plugins were removed, as deemed "not ready"
#rb many people
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024
[CL 5226277 by Josh Adams in Main branch]
[FYI] Marcus.Wassmer, rolando.caloca, peter.sauerbrei
#rb none
#ROBOMERGE-OWNER: mark.satterthwaite
#ROBOMERGE-AUTHOR: mark.satterthwaite
#ROBOMERGE-SOURCE: CL 5010458 via CL 5010459 via CL 5013401
[CL 5047337 by mark satterthwaite in Main branch]
#jira UE-69266
#rb none
#ROBOMERGE-SOURCE: CL 4956763 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 4968434 by mark satterthwaite in Main branch]
Remove obsolete alternative Metal shader frequency table that was causing PVS to spit out an invalid error.
#rb none
#jira UE-69379
[CL 4860561 by Mark Satterthwaite in Main branch]
- All Buffer<>/RWBuffer<> objects are now bound as texture2d or texture_buffer, unless they are 3-component, in which case they are bound as raw T* buffer pointers.
- 3-component Buffer/RWBuffer objects should now work - Metal needed to use packed_* types internally as normal 3-component types in Metal are the same size as 4-component types which is different to HLSL. This is untested as we have no such example.
- Texture Gather/GatherCompare operations have been fixed and should now work.
- Remove all the TypedBufferFormat function-constant specialisation infrastructure and metadata as it is no longer necessary.
- Remove all the raw-conversion for 1, 2 and 4 component vector types as it is no longer required.
- Fixed input qualifiers (centroid, linear, etc.) for Fragment shader inputs - they should now work.
- Remove a bunch of Metal specific shader changes due to buffer type casting and swizzling that will now just work.
- Use the BGRA vertex format for FColor on Metal when available (everywhere but iOS/tvOS 10 using Metal 1.2).
- Simplify ShouldCompilePermutation & similar functions now that we have fewer versions to support.
#rb none
#jira N/A
[CL 4729845 by Mark Satterthwaite in Dev-Rendering branch]