Skip to content

Path to making bgfx default #10859

@cuavas

Description

@cuavas

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions