using UnityEngine.Experimental.Rendering; namespace UnityEngine.Rendering.Universal { internal class XRPassUniversal : XRPass { public static XRPass Create(XRPassCreateInfo createInfo) { XRPassUniversal pass = GenericPool.Get(); pass.InitBase(createInfo); // Initialize fields specific to Universal pass.isLateLatchEnabled = false; pass.canMarkLateLatch = false; pass.hasMarkedLateLatch = false; pass.canFoveateIntermediatePasses = true; return pass; } override public void Release() { GenericPool.Release(this); } /// If true, late latching mechanism is available for the frame. internal bool isLateLatchEnabled { get; set; } /// Used by the render pipeline to control the granularity of late latching. internal bool canMarkLateLatch { get; set; } /// Track the state of the late latching system. internal bool hasMarkedLateLatch { get; set; } /// If false, foveated rendering should not be applied to intermediate render passes that are not the final pass. internal bool canFoveateIntermediatePasses { get; set; } } }