I'm getting a little frustrated with BGFX. I have a basic set of blit shaders wired up in MAME and on my Windows 7 box at least, only the D3D11 backend works. OpenGL crashes. Vulkan and D3D9 display nothing. Isn't the point of a rendering abstraction library to avoid this crap?
-
-
Vastauksena käyttäjälle @TheMogMiner
D3D9 should work, but maybe drivers support it less for newer cards now, or BGFX's D3D9 back-end is bad, or both, I don't know. OpenGL drivers are broken everywhere, it's a joke API, and Vulkan support on Windows 7 specifically is probably bad. So for Windows 7, stick with D3D11.
2 vastausta 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjille @relativetoyou ja @TheMogMiner
> Isn't the point of a rendering abstraction library to avoid this crap? Two things at play here: BGFX is a garbage library and GPU drivers are mostly bad, so you have to use whatever works. For Windows 7, Nvidia cards and D3D11 is a safe bet.
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjälle @relativetoyou
I've been aware of the latter, and I'm slowly coming to terms with the former, particularly due to the horrific amount of lag it adds. But what do you suggest for an emulator that needs to run on OS X, Linux, Windows Vista upward, and ideally also GLES targets?
2 vastausta 0 uudelleentwiittausta 1 tykkäys -
Vastauksena käyttäjälle @TheMogMiner
I'd suggest to use whatever is the official rendering API for that particular OS was/is. For Vista/Windows 7, it's D3D11 w/ feature level 10, on OS X there is no silver bullet, the official API is Metal now, so if you want to support older macs you can try a limited subset of GL2
1 vastaus 0 uudelleentwiittausta 1 tykkäys -
Vastauksena käyttäjille @relativetoyou ja @TheMogMiner
⚕ 🦚 🌲 🦅 ⛈️ uudelleentwiittasi
For GLES devices, only core GLES 2 is sane, aside from fake Chinese phones with completely broken drivers for which you can only use software rendering, and for Windows 10 I'd still suggest D3D11: https://twitter.com/redgpus/status/1183811786866413571 …
⚕ 🦚 🌲 🦅 ⛈️ lisäsi,
Tämä twiitti ei ole saatavilla.2 vastausta 0 uudelleentwiittausta 1 tykkäys -
Vastauksena käyttäjälle @relativetoyou
And for Linux, I'm guessing either OpenGL or Vulkan? Criminy. Assuming we want to target just GLES2, Vulkan, and D3D11, are there any decent libraries that can cross-convert shaders between the three? Is it possible to do runtime shader compilation with those three APIs?
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjälle @TheMogMiner
> are there any decent libraries I don't know any good ones. People say https://github.com/floooh/sokol is good but last time I checked it had slow code paths that will cause driver synchronization, so I don't recommend it. It doesn't target Vulkan but only 5 people on Earth know Vulkan
1 vastaus 0 uudelleentwiittausta 0 tykkäystä
Sounds about right. Guess I'll have to both check out that library and become person #6.
Lataaminen näyttää kestävän hetken.
Twitter saattaa olla ruuhkautunut tai ongelma on muuten hetkellinen. Yritä uudelleen tai käy Twitterin tilasivulla saadaksesi lisätietoja.