Invalid page table uniforms will skip work and the physical sample will return the virtual texture fallback color.
This is done to handle case where page table uniform comes from GPU Scene descriptor and it's valid that a primitive can use the null descriptor.
#rb Jon.Cain
[CL 34993865 by jeremy moore in ue5-main branch]
The flattened branch seems to result in corrupted texture samples. A proper branch works around the issue.
#jira FORT-715682, UE-211775
#rb mihnea.balta
[CL 32797715 by daniele vettorel in ue5-main branch]
-Never do early z test for tessellation. Per-pixel masking/pdo isn't even supported there.
-Force VT to use bilinear sampling instread of stochastic trilinear.
#rb jamie.hayes
[FYI] brian.karis, graham.wihlidal
#jira UE-197833
[CL 31564049 by rune stubbe in ue5-main branch]
Support virtual texture feedback behind a single layer water material.
We need to stochastically drop some writes to the feedback buffer so that we don't overwrite all of the content from the surface beneath.
#preflight 64053f968832f48a4d70c685
[CL 24519404 by jeremy moore in ue5-main branch]
Moved FLWCScalarDerivX to LargeWorldCoordinates.ush
#rb graham.wihlidal
[FYI] brian.karis, jamie.hayes
#preflight 63302ee22c7bc831f89e4259
[CL 22203078 by rune stubbe in ue5-main branch]
Use fixed stochastic alpha value for writing VT feedback when doing ThinTranslucency.
#preflight 63064480a45b007ea2aa4fe5
[CL 21542089 by Jeremy Moore in ue5-main branch]
* Crash was caused by shader compiler generating invalid code for TextureVirtualSample on some platforms.
* Slightly modified the code as a workaround until the compiler issue is resolved.
#rb Jeremy.Moore
#preflight 6283aabc114e08fa2f1d68a4
[CL 20258456 by aleksander netzel in ue5-main branch]
Added new TextureLoadVirtualPageTableGrad overload variation that takes two page tables and doesn't do feedback
#jira UE-140602
#preflight 61f75b3cd07695194bf6c38c
[FYI] ben.ingram
#ROBOMERGE-AUTHOR: rune.stubbe
#ROBOMERGE-SOURCE: CL 18788065 in //UE5/Release-5.0/... via CL 18788098 via CL 18788140
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18788143 by rune stubbe in ue5-main branch]
LWCify the RVT WorldToUV calculation.
Note that Niagara RVT data provider will continue with non LWC behavior and still needs converting.
[FYI] michael.galetzka
#prefligh 61f40fecf628752a568b8917
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 18772224 in //UE5/Release-5.0/... via CL 18772235 via CL 18772336
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18772350 by jeremy moore in ue5-main branch]
Fix shader compilation error for strict compliers.
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 18223323 via CL 18372189 via CL 18372296
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18372343 by jeremy moore in ue5-release-engine-test branch]
For each pixel it shows the worst case missing mip level in all of the virtual textures sampled at that pixel.
Useful to analyze where late virtual texture page streaming is happening.
#rb ben.ingram
#preflight 615b5ecb255462000117288c
#lockdown michal.valient
#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 17716764 via CL 17979410 via CL 18366649 via CL 18366731
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18366789 by jon nabozny in ue5-release-engine-test 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
#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 17491509 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
[CL 17491521 by jeremy moore in ue5-release-engine-test branch]
Previously any DBuffer feedback would be overwritten in the base pass.
#rb none
#preflight 6107efcdbc7e43000133e5f5
#ROBOMERGE-SOURCE: CL 17015479 via CL 17015481
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v839-17012307)
[CL 17015484 by jeremy moore in ue5-release-engine-test branch]
Add A flag bUseLowQualityCompression to BaseColor_Normal_Roughness, which fakes compression by 16bit format(RGB565)
#rb Dmitriy.Dyomin
#ROBOMERGE-SOURCE: CL 16977982 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16977984 by yangke li in ue5-release-engine-test branch]
#ROBOMERGE-SOURCE: CL 16731901 via CL 16731904
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16731913 by jeremy moore in ue5-release-engine-test branch]
#jira UE-109349
Add mip map bias for virtual texture sampling.
Respects the existing r.MiipMapLodBias CVar.
Also add residency tracking for each virtual texture physical pool.
If the pool has been created from a config with the bEnableResidencyMipMapBias flag set then a mip map lod bias is applied to bring the pool back within budget.
The residency mip map lod bias is applied globally (combined with the global mip map lod bias).
In future it could be good to apply the mip map lod bias per physical pool, but this will require tracking all physical pool combinations for each page table.
Physical pool residency tracking can be shown on screen with r.vt.residency.show CVar.
#rb ben.ingram
#ROBOMERGE-SOURCE: CL 16724483 via CL 16724487
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16724488 by jeremy moore in ue5-release-engine-test branch]