Skip to content

Implement DXGI swapchain for vulkan #8354

@cwfitzgerald

Description

@cwfitzgerald

We have a long history of swapchain related issues on vulkan windows.

And apis that are blocked on vulkan swapchains not having the extensions needed to do a good job of latency reduction.

All of these problems do not exist on DX12 where we're using a DXGI swapchain.

Previously we've discussed switching the default backend to DX12 on windows (#2719) to help eliminate these problems, but with the shader story being what it is, that's not really a way forward.

The next best thing is to do interop with a DXGI swapchain on windows so that we get the tools that the DXGI swapchain provides. These include

  • FrameLatencyWaitableObject and sane latency controls
  • DXGI frame statistics
  • Much better frame pacing

I'm very motivated to get this in, so let me lay out my plan for landing this and rolling it out.

  • Factor out swapchain to abstracted interface #8356
  • Implement DXGI Swapchain on Vulkan #8388
  • Ask people to test using the new swapchain, make sure it's solid.
  • Once confident and still early in the release cycle, turn it on by default so more people can test with it.
  • Before release when getting people to test us, make sure they test the swapchain on windows.
  • If solid, release with it by default, if not go a version without it by default for more testing and bug fixes.

Metadata

Metadata

Assignees

Labels

area: wsiIssues with swapchain management or windowingbackend: vulkanIssues with Vulkanplatform: windowsIssues with integration with windowstype: enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions