Project

General

Profile

Actions

Emulator Issues #7622

closed

Intel HD has issues with buffer storage since windows driver v15.36.3.64.3907 (worked around)

Added by hosode over 9 years ago.

Status:
Fixed
Priority:
Low
Assignee:
-
Category:
GFX
% Done:

0%

Operating system:
Windows
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?
Any.

Game ID?
Any.

What's the problem? Describe what went wrong in few words.
With Intel HD, OpenGL backend shows only black video output, OSD messages work, audio works. The backend worked with Intel HD drivers up until the newest driver version released in the beginning of September 2014.

What did you expect to happen instead?
The games to work, on both backends.

What steps will reproduce the problem?

  1. Use a computer with Intel HD.
  2. Select OpenGL backend.
  3. Try to start a game.

Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
First the most recent ones, then older.

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
I tested older builds, and they worked, and eventually I found out that OpenGL breaks with build 4.0-583 (buffer_storage), works just fine up until that.

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
Windows 8.1 64bit, i5 4670S, Intel HD 4600 (driver version 15.36.3.64.3907).

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
No.

Actions #1

Updated by hosode over 9 years ago

As reference, the culprit commit is 1118226f270d2b44d10dd3cebd9f89fd38042680 (or the one before..?), found on GitHub commit page 68 (as of today 4th of September).

Actions #2

Updated by delroth over 9 years ago

  • Status changed from New to Accepted

So I guess Intel now claim they support buffer_storage but they really don't? Or we do something wrong with buffer_storage that they don't like but AMD/NV have no issues with.

Adding interested parties.

Actions #3

Updated by hosode over 9 years ago

...and I've already made a forum thread on Intel's website, found at https://communities.intel.com/thread/54819 . Please feel free to submit additional info, if there's no sane way to fix this within Dolphin :)

Actions #4

Updated by Sonicadvance1 over 9 years ago

Yep, sounds like broken buffer_storage.
Will need some real testing to figure out exactly where they are failing.

Actions #5

Updated by delroth over 9 years ago

@hosode: can you post a list of supported GL extensions with that new driver, to confirm that it's really buffer storage?

If it is, @Sonicadvance1 what about DriverDetail-ing it out while debugging?

Actions #6

Updated by Sonicadvance1 over 9 years ago

Should be fairly easy, I think they even report driver versions to us.

Actions #7

Updated by hosode over 9 years ago

The release notes is found at http://downloadmirror.intel.com/24245/eng/ReleaseNotes_GFX_15_36_3907.pdf , and listed are these updates to OpenGL extensions:
Support for the following OpenGL extensions
now added:

GL_ARB_texture_view
GL_ARB_fragment_layer_viewport
GL_ARB_texture_query_levels
GL_ARB_invalidate_subdata
GL_ARB_clear_buffer_object
GL_ARB_ES3_compatibility
GL_ARB_robust_buffer_access_behavior
GL_ARB_copy_image
GL_ARB_explicit_uniform_location
GL_ARB_texture_stencil8 (OpenGL 4.4)
GL_AMD_vertex_shader_layer
GL_AMD_vertex_shader_viewport_index
GL_EXT_direct_state_access

Actions #8

Updated by delroth over 9 years ago

Can you provide a list from for example http://www.realtech-vr.com/glview/download.php ? I don't trust these release notes :)

Actions #9

Updated by hosode over 9 years ago

Here's some lists provided by the OpenGL extensions viewer. The latter is a .xml that is rather hard to read but more complete, the .txt includes everything from the "Report"-subpage. Turns out that OpenGL 4.3 is fully supported, but 4.4 had 2/10 result, including what else than buffer_storage (and GL_ARB_texture_stencil8). So this might have something to do with the issue.

Actions #10

Updated by delroth over 9 years ago

So ARB_buffer_storage is indeed supported. Meh.

Actions #11

Updated by Sonicadvance1 over 9 years ago

  • Status changed from Accepted to Fix pending
  • Priority set to Urgent
  • Category set to gfx
  • Relates to usability set to Yes
  • Easy set to Yes
  • Operating system Windows added

We are working around this issue in this PR
https://github.com/dolphin-emu/dolphin/pull/972

Actions #12

Updated by delroth over 9 years ago

  • Status changed from Fix pending to Accepted
  • Priority changed from Urgent to Low
  • Relates to usability changed from Yes to No
  • Easy changed from Yes to No

Keeping this bug open so that we can revisit it later when new drivers get released.

Actions #13

Updated by hosode over 9 years ago

This issue is actually fixed, as PR 972 was merged yesterday.
But I still wanted to post that I reported this issue on Intel Graphics forums at https://communities.intel.com/thread/54819 , and they responded already, and the apparently have replicated the issue and are working on it.
So this might well be fixed in future updates of Intel HD drivers.

Actions #14

Updated by hosode over 9 years ago

Intel contact replied this week to the thread concerning this issue at Intel graphics support forums. He said this issue has been addressed and should be fixed with next drivers (with no ETA, though). The thread is at https://communities.intel.com/thread/54819 .
I will, of course, test OGL with something from 4.0-583 to 4.0-2000, when the upcoming drivers get released.

Actions #15

Updated by JMC4789 over 9 years ago

hosode: Thanks for the update!

Actions #16

Updated by hosode over 9 years ago

Intel released new drivers today, with version number 15.36.7.64.3960 a.k.a 10.18.10.3960 . I tested Dolphin version 4.0-3017 (the one before the specific workaround for Intel's drivers), and OpenGL works with the new drivers as it should! To be sure, I tested the same Dolphin version just before my update and got the black screen as I expected.
The new drivers don't support (AFAIK) Intel HD 3000/4000, but neither did the OpenGL-breaking last drivers, so no Intel users should be affected after updating their drivers, right?
I consider this fixed, and the workaround is no longer needed, especially if it affects all Intel drivers. Is it version specific, @SonicAdvance?

Actions #17

Updated by degasus over 9 years ago

I've enabled buffer_storage again in PR https://github.com/dolphin-emu/dolphin/pull/1303 . I'm curious about the speedup

Actions #19

Updated by JMC4789 over 9 years ago

Does that mean this is fixed?

Actions #20

Updated by hosode over 9 years ago

I can confirm, that On Intel HD 4600 (i5 4670S) OpenGL works flawlessly after upgrading to the latest drivers 15.36.7.64.3960 (10.18.10.3960). I tested this on those Dolhin revisions that specifically were not working with the culprit drivers that broke the buffer storage extension. I also tested the revisions that had the workaround, and then the latest revisions that have the workaround fixed. No black screens. Anyone that had the access to the broken drivers causing this issue should be able to upgrade to fixed drivers also. So yes, it's fixed.

Sorry I did not check the performance earlier as requested. I now did a quick test (with VNC connection, not really reliable) with the Dolphin version 4.0-3655 and 4.0-3657 (the first one should have the fix to bypass buffer storage with Intel, and the second one has it enabled, right?). On Super Mario Galaxy 1, I get 67-71 fps (min 62fps) on Observatory on both revisions, no noticable difference. Tested on D3D also, same fps, so no noticable difference there, either.

Actions #21

Updated by skidau over 9 years ago

  • Status changed from Accepted to Fixed
Actions

Also available in: Atom PDF