Texture creation is fine by itself. However, backend HLSL shaders hardcode their SRV types. A Texture2D is always used for FFX_FRAMEINTERPOLATION_BIND_SRV_COUNTERS which is bound to the FFX_FRAMEINTERPOLATION_RESOURCE_IDENTIFIER_COUNTERS Texture1D resource from above. These aren't compatible.
From what I can tell reads/writes to the counter variables end up being 0, always, and interpolation stops working. You'll only see duplicated frames.
Bug. I haven't checked FSR code exhaustively (e.g. upscaling) but I do know this applies to frame interpolation at the minimum.
Passing the flag
FFX_XXXXX_ENABLE_TEXTURE1D_USAGE
to ffxFsr3ContextCreate or ffxFrameInterpolationContextCreate results in TEXTURE1D creation for resources with a height of 1.FFX_FRAMEINTERPOLATION_RESOURCE_IDENTIFIER_COUNTERS
("FI_Counters") happens to be one of said resources.Texture creation is fine by itself. However, backend HLSL shaders hardcode their SRV types. A Texture2D is always used for FFX_FRAMEINTERPOLATION_BIND_SRV_COUNTERS which is bound to the
FFX_FRAMEINTERPOLATION_RESOURCE_IDENTIFIER_COUNTERS
Texture1D resource from above. These aren't compatible.From what I can tell reads/writes to the counter variables end up being 0, always, and interpolation stops working. You'll only see duplicated frames.