Commit 3f5ae6b
d3d9: fix inverted vsync latch from implicit-swapchain PresentationInterval
The WaitingForImplicitSwapchain latch derived enableVsyncState with a
truthiness check on PresentationInterval - but in D3D9, IMMEDIATE is
0x80000000 (nonzero -> latched vsync ON) while DEFAULT (0) presents
synchronized (-> latched OFF). Games explicitly requesting IMMEDIATE at
device creation were capped to display refresh (first menu, high input
latency) until DLFG's force-vsync-off flipped the state on the first
interpolated 3D frame. Latch Off only for IMMEDIATE; DEFAULT/ONE/TWO..
FOUR latch On per real D3D9 semantics.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 7011b32 commit 3f5ae6b
1 file changed
Lines changed: 12 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
332 | 332 | | |
333 | 333 | | |
334 | 334 | | |
335 | | - | |
336 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
337 | 347 | | |
338 | 348 | | |
339 | 349 | | |
| |||
0 commit comments