-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
It would be good to get to a point where we can make BGFX the default render module, at least on Windows where Direct3D 9 is very much on life support, and on macOS where Metal support has been pretty important for quite a while now. With #10858 merged, a lot of corner cases should be fixed, and at least for emulated systems with raster screens, there should be no more need to use legacy Direct3D with HLSL. This issue is for identifying and tracking things that need to be fixed before BGFX can become the default render module.
Please report problems encountered during testing here.
Crash on saving slider state after toggling fullscreen
The render objects are desctroyed and recreated when toggling fullscreen. A proxy object is needed to handle the configuration load/save callbacks to get around this issue.
Settings lost on toggling fullscreen
Only the active screen chains are saved on toggling fullscreen, other settings are lost. It should be possible to rope the configuration load/save hooks into service for this, which ties in with the previous point.
Some Konami GX games not showing video with Vulkan backend
Some Konami GX games show no video (black screen) with -bgfx_backend vulkan on Windows or Linux, and may crash on Linux. Most backends don’t seem to be affected (opengl, d3d9, d3d11, d3d12 all work). Reproduced with NVIDIA GeForce using consumer GeForce driver on Windows and NVIDIA proprietary driver on Linux. Affected systems include daiskiss and sexyparo. See #10815.
Font textures sized for most recently resized window rather than window showing UI
The easiest way to demonstrate this is with two windows – the system doesn’t matter, pacman is just an example:
- Run
mame -window -numscreens 2 -skip_gameinfo pacman - Rearrange the windows so you can see both of them
- Hit Tab to show the menu on the first window
- Make the second window (the one not showing the menu) as small as possible
- The menu text in the first window will appear as though it’s been downsampled for the second window’s new size
- If you resize the first window, the text will be adjusted for its new size
The issue is that the font textures seem to be sized for the most recently resized window, not the window displaying the UI container.
Maximum prescaled texture size weirdness
The chain manager sets its maximum prescaled screen texture size m_max_prescale_size based on the initial window size and never updates it. However, based on testing it seems that the actual prescaled texture sizes are not what one would expect when the initial window size is small.