Project

General

Profile

Actions

Emulator Issues #6456

open

Properly implement InitBackendInfo in OpenGL

Added by NeoBrainX about 11 years ago. Updated 4 months ago.

Status:
Accepted
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Task
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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?

  1. Install a GPU/driver combination which supports only GLSL 1.20 but not 1.30 ( = format change emulation not supported)
  2. Uncheck "Ignore format changes" in the Hacks tab of the graphics configuration.
  3. 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).


Related issues 1 (0 open1 closed)

Blocks Emulator - Emulator Issues #6501: Hacked Buffer Upload crashes on Windows/HD6770 but is user configurableFixeddegasus

Actions
Actions #1

Updated by degasus about 11 years ago

True, but as reported on irc, some drivers may crash on creating two contexts. So should this be moved after 4.0?

Actions #2

Updated by NeoBrainX about 11 years ago

Likely. As a workaround it should be verified that we output some warning logs when unsupported features are enabled, though. Also, it should be verified that we force the settings to be disabled if they're unsupported as things are going to be buggy or even crash otherwise.

Actions #3

Updated by NeoBrainX about 11 years ago

Also, note that it shouldn't actually be necessary to create a second context - one can re-use the existing context when emulation is running and one can safely create a temporary context if it's not running.

Actions #4

Updated by delroth about 11 years ago

  • Milestone deleted (Current)
  • Issue type set to Task
  • Operating system N/A added

Fixed enough for 4.0 in 40a1cb5dfed6. Removing milestone.

Actions #7

Updated by Helios over 6 years ago

Actions #8

Updated by BhaaL 4 months ago

  • Category deleted (GFX)
Actions

Also available in: Atom PDF