diff --git a/Assets/Scripts/Fsr2.cs b/Assets/Scripts/Fsr2.cs index 062b2f5..d15fdc0 100644 --- a/Assets/Scripts/Fsr2.cs +++ b/Assets/Scripts/Fsr2.cs @@ -28,6 +28,13 @@ namespace FidelityFX EnableAutoExposure = 1 << 5, EnableDynamicResolution = 1 << 6, EnableTexture1DUsage = 1 << 7, + EnableDebugChecking = 1 << 8, + } + + public enum MessageType + { + Error = 0, + Warning = 1, } public struct ContextDescription @@ -57,6 +64,7 @@ namespace FidelityFX public float CameraNear; public float CameraFar; public float CameraFovAngleVertical; + public float ViewSpaceToMetersFactor; } /// diff --git a/Assets/Scripts/Fsr2Callbacks.cs b/Assets/Scripts/Fsr2Callbacks.cs index 83845d3..a00938b 100644 --- a/Assets/Scripts/Fsr2Callbacks.cs +++ b/Assets/Scripts/Fsr2Callbacks.cs @@ -4,6 +4,19 @@ namespace FidelityFX { public class Fsr2Callbacks { + public virtual void Message(Fsr2.MessageType type, string message) + { + switch (type) + { + case Fsr2.MessageType.Warning: + Debug.LogWarning(message); + break; + case Fsr2.MessageType.Error: + Debug.LogError(message); + break; + } + } + public virtual Shader LoadShader(string name) { return Resources.Load(name); diff --git a/Assets/Scripts/Fsr2Context.cs b/Assets/Scripts/Fsr2Context.cs index 8f7578d..3b47443 100644 --- a/Assets/Scripts/Fsr2Context.cs +++ b/Assets/Scripts/Fsr2Context.cs @@ -28,6 +28,9 @@ namespace FidelityFX private ComputeBuffer _rcasConstantsBuffer; private readonly RcasConstants[] _rcasConstantsArray = new RcasConstants[1]; + private ComputeBuffer _generateReactiveConstantsBuffer; + private readonly GenerateReactiveConstants[] _generateReactiveConstantsArray = { new GenerateReactiveConstants() }; + public void Create(Fsr2.ContextDescription contextDescription) { _contextDescription = contextDescription; @@ -152,6 +155,15 @@ namespace FidelityFX public uint workGroupOffsetX, workGroupOffsetY; public uint renderSizeX, renderSizeY; } + + [Serializable, StructLayout(LayoutKind.Sequential)] + private struct GenerateReactiveConstants + { + public float scale; + public float threshold; + public float binaryValue; + public uint flags; + } [Serializable, StructLayout(LayoutKind.Sequential)] private struct RcasConstants