Skip to content

d3d9: Add a few swapchain tests

Robin Kertels requested to merge K0bin/wine:d3d9-swapchain-tests into master

Creates test for the following things:

  • Whether a combination of BackBufferCount + SwapEffect results in another buffer being added that acts as a front buffer. We used to have bugs caused by this in DXVK ages ago.
  • GetFrontBufferData actually copying data from the front buffer to the target surface and not from one of the back buffers. This is motivated by a DXVK bug with a modded version of Silent Hill 2 we had recently.
  • GetFrontBufferData produces a specific fixed alpha value depending on whether the swapchain is windowed or fullscreen. That's a TODO for now because neither Wine nor DXVK implements this and it's a bit annoying to implement this while not a single application is known to rely on this.
  • GetFrontBufferData is supposed to capture a screenshot of the entire monitor. So this MR adds a test to make sure that the application window is positioned correctly in the target surface after calling GetFrontBufferData. Total War Medieval 2 actually hit this issue with DXVK on its loading screen in windowed mode.

All the new tests pass on Windows 11 on the Nvidia D3D9 driver.

Edited by Robin Kertels

Merge request reports

Loading