diff --git a/FSR2UnityPlugin.cpp b/FSR2UnityPlugin.cpp index 3a8de3d..0a3dfe7 100644 --- a/FSR2UnityPlugin.cpp +++ b/FSR2UnityPlugin.cpp @@ -405,6 +405,9 @@ static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void* data) dispatchDescription.reactive = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.reactiveMask.image); dispatchDescription.transparencyAndComposition = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.transparencyMask.image); dispatchDescription.output = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.colorOutput.image, nullptr, FFX_RESOURCE_STATE_UNORDERED_ACCESS); + + if (dispatchDescription.reactive.resource == nullptr) + dispatchDescription.reactive = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.biasColorMask.image); } else if (s_GraphicsD3D12 != nullptr) { @@ -422,6 +425,9 @@ static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void* data) dispatchDescription.reactive = ffxGetResourceDX12(&feature.upscalingContext, (ID3D12Resource*)feature.textureTable.reactiveMask.image); dispatchDescription.transparencyAndComposition = ffxGetResourceDX12(&feature.upscalingContext, (ID3D12Resource*)feature.textureTable.transparencyMask.image); dispatchDescription.output = ffxGetResourceDX12(&feature.upscalingContext, (ID3D12Resource*)feature.textureTable.colorOutput.image, nullptr, FFX_RESOURCE_STATE_UNORDERED_ACCESS); + + if (dispatchDescription.reactive.resource == nullptr) + dispatchDescription.reactive = ffxGetResourceDX12(&feature.upscalingContext, (ID3D12Resource*)feature.textureTable.biasColorMask.image); } else if (s_GraphicsVulkan != nullptr) { @@ -440,6 +446,9 @@ static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void* data) dispatchDescription.reactive = GetVulkanTextureResource(instance, feature, feature.textureTable.reactiveMask); dispatchDescription.transparencyAndComposition = GetVulkanTextureResource(instance, feature, feature.textureTable.transparencyMask); dispatchDescription.output = GetVulkanTextureResource(instance, feature, feature.textureTable.colorOutput, FFX_RESOURCE_STATE_UNORDERED_ACCESS); + + if (dispatchDescription.reactive.resource == nullptr) + dispatchDescription.reactive = GetVulkanTextureResource(instance, feature, feature.textureTable.biasColorMask); } dispatchDescription.jitterOffset.x = params->jitterOffsetX;