question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Veldrid renderer is broken on Windows 8.1, DirectX 11

See original GitHub issue

Seems like ppy/veldrid repo is a bit empty so I’ll post here.

Testing on Windows 8.1, i3-3217U with integrated HD Graphics 4000. Windows 10 does not have this problem, so for now hardware is irrelevant.

Made a minimal project with only bare minimums to get veldrid working. Details will be provided below.

With peppy fork of veldrid it crashes with exception:

SharpGen.Runtime.SharpGenException: HRESULT: [0x80004002], Module: [General], ApiCode: [E_NOINTERFACE/No such interface supported], Message: [No such interface supported]

Not quite helpful, huh?

This is the exact same error that osu crashed with on D3D11 Veldrid. This does NOT happen with the original veldrid, so some changes we made have broken it on Win8.1

Issue Analytics

  • State:closed
  • Created 3 months ago
  • Comments:11 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
smoogipoocommented, Jun 27, 2023

Also, seems like IDXGIFactory5 does not exists in Win8.1, thus crashing everything when we try to check if allow tearing is supported using the method inside it.

That’s very unfortunate. I half-expected GetParent<T>() to not throw, given that GetParent(out T? val) returns a nullable (and doesn’t throw). Probably the way to do this is _gd.Adapter.CheckInterfaceSupport<T>(). There should be no need to try-catch.

Are you able to test this?

1reaction
Joehuucommented, Jun 27, 2023

all 4.9.0 from ppy/veldrid works. Crashes start from 4.9.1.

Last working commit is ppy/veldrid@043cf33

It is best to link the bad commit next time: https://github.com/ppy/veldrid/commit/0351daefbdedda1af15bfa2eb2801d8fcd4f90bc.

Looking at https://learn.microsoft.com/en-us/windows/win32/api/dxgi/ne-dxgi-dxgi_swap_effect#constants, it seems that DXGI_SWAP_EFFECT_FLIP_DISCARD is only supported on Windows 10+.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Problems with DirectX 11 on Windows 8.1
make sure you have DirectX installed..." however, when I ran DXdiag it told me I had DirectX 11 installed already. How can I...
Read more >
Problem with directx 11 version, render error. : r/civ
Thanks for any help or a solution to the problem. ... I have run it fine on Windows 8, 8.1 and now on...
Read more >
How to fix DirectX in Windows 8.1?
Old or corrupted graphics driver. Direct3D improperly installed. Hardware acceleration disabled. Starting application with the workstation ...
Read more >
at master · katalash/DSMapStudio
Veldrid.ImGui ... Rendering the entirety of the maps for DS3, Bloodborne, ... makes my renderer architecture incompatible with DX11.
Read more >
osu!(lazer) updates (@osu_lazer) / X
Jan 11. Coming in the next osu!(lazer) update, HP drain will be removed for osu!mania, ... Veldrid is a renderer, which adds support...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found