- Works with both Fits and !FitsInGroupShared (multipass) modes.
#rb Mihnea.Balta, Carl.Lloyd
#review-16769211 @Mihnea.Balta, @Carl.Lloyd, @JeanNoe.Morisette
#jira UE-116006
[CL 16774894 by Arciel Rekman in ue5-main branch]
warning V1063: The modulo by 1 operation is meaningless. The result will always be zero.
#rb trivial
#jira UE-91644
[CL 15057735 by Tim Smith in ue5-main branch]
#rb David.Harvey
#jira none
#rnx
#ushell-cherrypick of 12330398 by eric.mcdaniel
#ROBOMERGE-SOURCE: CL 12726815 in //UE4/Release-4.25Plus/... via CL 12781739
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782553 by eric mcdaniel in Main branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand 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]
This implements the framework to write the high level rendering code into passes organized in direct acyclic graph. It is also unifying the uniform buffer, shader parameters, and pass parameters to same single API: structures with run time meta data. This allow high level user code be extremely seamless, user code debugging, and render graph ease of implementation and debugging.
Issue of collaborative work of Arne Schnober, Brian Karis, Daniel Wright, Marcus Wassmer and Guillaume Abadie.
Names of the graph managed resources are not final.
#rb Arne.Schnober, Brian.Karis, Daniel.Wright, Marcus.Wassmer
[CL 4492694 by Guillaume Abadie in Dev-Rendering branch]
- Added IsMetalMobilePlatform, IsMetalMRTPlatform & IsMetalSM5Platform to simplify testing shader platforms.
- Twiddled the shader compiler to emit the correct min-OS flags to compile for iOS and tvOS.
#rb none
#jira UE-64891
#ROBOMERGE-SOURCE: CL 4488318 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)
[CL 4488329 by mark satterthwaite in Staging-4.21 branch]