DepthVelocityUpscalePass declares an MRT2 target (R32F depth + RG16F
velocity), but:
FramebufferTextureFormat has no R32F colour entry engine-wide, and
RenderGraph::ToFramebufferFormat maps RGResourceFormat::R32Float →
FramebufferTextureFormat::None.
So the pooled UpscaledDepthVelocity framebuffer is created with one
attachment, while the pass declares and writes two — the depth output has no
attachment behind it, and the RT1 attachment view dangles. On the FSR1 path
this means the upscaled depth channel is silently absent.
Found while writing the Vulkan tenant for the pass (#691 Phase 7); the tenant
works around it by backing RT0 with RG32F and documents the gap in its header
comment.
Fix: add an R32F colour format to FramebufferTextureFormat (+ both
backends' format translation) and map RGResourceFormat::R32Float to it.
Found during the #691 Phase 7 Vulkan port (PR #769).
DepthVelocityUpscalePassdeclares an MRT2 target (R32F depth + RG16Fvelocity), but:
FramebufferTextureFormathas noR32Fcolour entry engine-wide, andRenderGraph::ToFramebufferFormatmapsRGResourceFormat::R32Float→FramebufferTextureFormat::None.So the pooled
UpscaledDepthVelocityframebuffer is created with oneattachment, while the pass declares and writes two — the depth output has no
attachment behind it, and the RT1 attachment view dangles. On the FSR1 path
this means the upscaled depth channel is silently absent.
Found while writing the Vulkan tenant for the pass (#691 Phase 7); the tenant
works around it by backing RT0 with RG32F and documents the gap in its header
comment.
Fix: add an R32F colour format to
FramebufferTextureFormat(+ bothbackends' format translation) and map
RGResourceFormat::R32Floatto it.Found during the #691 Phase 7 Vulkan port (PR #769).