Skip to content

FramebufferTextureFormat has no R32F colour format — UpscaledDepthVelocity drops its first attachment #772

Description

@drsnuggles8

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrobustnessProduction hardening / shipping robustness

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions