Emulator Issues #6456
openProperly implement InitBackendInfo in OpenGL
0%
Description
What went wrong?
OGL::InitBackendInfo doesn't consider the device's actual capabilities when filling out things like bSupportsFormatReinterpretation. This way, the user will enable format change emulation (expecting things to work) but it will silently not do anthing on unsupported hardware. Similar oddities occur for MSAA and possibly other things.
What did you expect to happen?
Instead of being able to enable format change emulation, the option should be greyed out when an unsupported GPU is detected. Similar logic should be applied for MSAA and possibly other things.
What steps will reproduce the problem?
- Install a GPU/driver combination which supports only GLSL 1.20 but not 1.30 ( = format change emulation not supported)
- Uncheck "Ignore format changes" in the Hacks tab of the graphics configuration.
- Try running a game which relies on format change emulation (e.g. Mario Kart Wii, cf. issue 2063)
Any other relevant information or links to logs:
Proper device capability detection will require creating a temporary GL context in InitBackendInfo (as it's currently done in D3D11 and kinda in D3D9).