Compressed version of FRenderTransform. Used in GPU scene for instance transforms.
Was reverted in main due to perf regression. Brought back but defined out to help merge conflicts.
#rb graham.wihlidal
[CL 17545206 by Brian Karis in ue5-main branch]
- Removed some unnecessary code from D3D shader compilers.
- Removing shader VendorExtensions runtime data from platforms that don't need them.
- Turning FShaderCodeFeatures into a set of flags to reduce its size. Adding a few new flags for future use.
- Moved the common D3D12 shader data and creation code into shared locations to cut down on code duplication.
- Removed the unnecessary copying of header data from all D3D12 shader types.
- Removed FD3D12ShaderBytecode since its values can be inferred from other shader data.
#jira none
#rb rolando.caloca, arciel.rekman
#preflight 6140c2df3aa82d000149f13b
[CL 17509617 by christopher waters in ue5-main branch]
Power of two rounding to mitigate fragmentation now happens in bytes, instead of elements, so we get fewer unique buffer sizes.
#rb ola.olsson
#preflight 613f61e53bbb4800011187f1
[CL 17493448 by Rune Stubbe in ue5-main branch]
This should be useful if we want to vary the feedback trade offs for different modes.
Did some comparisons of shader ISA and ALU cost is unchanged.
#jira none
#ushell-cherrypick of 17483512 by Jeremy.Moore
[CL 17491509 by Jeremy Moore in ue5-main branch]
Add r.MobileNumDynamicPointLights to the shader keystring
#jira UE-125928
#rb Dmitriy.Dyomin, Jack.Porter
#preflight 6139e0f4f9a522000139e1bd
#ushell-cherrypick of 17470398 by Florin.Pascu
[CL 17470936 by Florin Pascu in ue5-main branch]
Local shader compiler:
- Not making 1 job batches (for High prio jobs) on startup
- Randomizing pending job selection to reduce chance that multiple 60+ sec jobs get into a single batch
(the above have the most effect on speed up, below is optional/misc)
- Pushing the completed jobs back to manager before, and not after, pulling new ones to reduce idle time
- Processing jobs in FIFO rather than LIFO order (change to LIFO seems like an ODSC regression? Hard to say definitively if it's a regression from the numbers, but seems odd to have the earliest jobs processed last)
- Parallel processing of input and output files (starts sequential by default to reduce the CPU overhead, but is enabled if we ever see too long write/read)
- More insights scopes
Distributed:
- Not avoiding local machine for XGE on startup
Both:
- Input file compression (disabled by default, need to better figure out when it's beneficial in a general case. Mostly for people with really slow I/O and XGE over VPN).
- More stats, also more dense stat output. Removed an unimportant one, added stats about the batches.
#rb Jason.Nadro, Ben.Ingram
#[review] @Jason.Nadro, @Ben.Ingram
#preflight 6132ec79bf137d0001ae91ee
#jira UE-125101
#ushell-cherrypick of 17448576 by Arciel.Rekman
[CL 17448989 by Arciel Rekman in ue5-main branch]
todo: hdr decode at runtime when astc hdr not supported
needs to figure out why ARM Encoder is much slower than ISPC, use ARM only for HDR Textures might be a good compromise.
#review-17314731
#jira UE-119388
[CL 17441496 by yangke li in ue5-main branch]
- preparational step to enable HZB culling of invalidations in an uniform way.
- also add FComputeShaderUtils helper to set up an indirect dispatch.
#rb andrew.lauritzen
#preflight 6130818017a8610001b0cfc7
#ROBOMERGE-SOURCE: CL 17400532
#ROBOMERGE-BOT: (v865-17346139)
[CL 17400838 by ola olsson in ue5-main branch]
- Modified MemsetResource and MemcpyResource to take number of elements instead of number of bytes as input, since FRWBuffer can use different formats.
#rb Yuriy.ODonnell
#jira UE-120168
#preflight 612f98feb6b29c00013fbb13
[CL 17394373 by tiago costa in ue5-main branch]