Project

General

Profile

Emulator Issues #12121

Vulkan: Failed to submit command buffer

Added by Anuskuss 3 months ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
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

Hey guys, another Intel iGPU issue for you! So I've had this problem for a long time and this time the origin can be traced back to a driver update. The last good version was 26.20.100.6861 (released May 2019) and the first bad version 26.20.100.6890. I reported the issue twice to Intel (forums.intel.com and software.intel.com) back in November but they couldn't or wouldn't help me.

The issue

This only happens on Vulkan. I saw this issue only once in some Mario Party GameCube game (in the middle of a round) and at the start of Mario Party 8. It is best reproducible in MP8 because it happens right at the start (before the Wii warning screen) so I was able to create a FIFO record pretty easily (see attachment). Again, running the record in any other backend works perfecty fine so this is a Vulkan-only issue.

I've turned on logging but nothing interesting pops up except this of course (like a hundred times):

VideoBackends\Vulkan\VulkanLoader.cpp:220 E[Video]: (SubmitCommandBuffer) vkQueueSubmit failed:  (-4: VK_ERROR_DEVICE_LOST)
Common\MsgHandler.cpp:115 E[MASTER]: Question: Failed to submit command buffer.

I have turned on the Vulkan validation layer (Graphics -> Advanced -> Debugging -> Enable API Validation Layers) but there is not a single line in the log. Maybe it's not setup properly?

This is cleary a driver regression. Why are you reporting this here?

Well, I tried my best to get in contact with an Intel dev (to no avail) but I just have to assume that this is indeed not a regression. There have been 16 driver releases since the last "good" version so what are the chances that they made a mistake which still hasn't been detected/fixed after all these revisions. Could it may be that Dolphin does something weird / not according to spec? I've searched the bug tracker and couldn't find a single issue like mine, so it could theoretically be possible that other manufacturer's drivers simply ignore the issue, whilst Intel's refused?
I've recently came across this PR from the PPSSPP emulator which revealed such a "spec violation only Intel cares about". So I'm opening this bug report in the hopes to get some input from you. I am in fact on the 26.20.100.6861 driver, and while I don't care too much about new features from updated versions, I feel like I can't stay on this version forever.

Best regards

fifo.dff (4.82 MB) fifo.dff First second of Mario Party 8 Anuskuss, 05/24/2020 08:40 PM

History

#1 Updated by JMC4789 3 months ago

Unfortunately Intel's Vulkan driver on Windows sucks and I don't think there's anything we can do about this. I'll see if Stenzek has a different opinion than me.

#2 Updated by Anuskuss 3 months ago

@JMC4789 I semi-agree with you. Although I had my fair share of problems with Intel graphics, I had my problems on my desktop with Nvidia as well. It's just Windows that sucks tbh, but that's another topic. If you guys don't care about this it's fine, I'll just stay at this version or update and use DX12 but my point still stands: What are the odds that Intel f*cked something up a full year ago that they couldn't have fixed or atleast encountered after 16 updates?

#3 Updated by Anuskuss 2 months ago

What are the odds that Intel f*cked something up a full year ago that they couldn't have fixed or atleast encountered after 16 updates?

Make that 17.

#4 Updated by Anuskuss 2 months ago

I'm almost certain that this is a shader issue because when jumping between drivers, it sometimes crashes while compiling them on the newer drivers. What would be a good way to disable the drawing of shaders to rule that out? I don't really code but I can follow directions if you guys want to work with me.

#5 Updated by Techjar 2 months ago

If you disable shaders you just won't be able to see anything. Shaders are the core of how Dolphin emulates the behavior of GX.

#6 Updated by Anuskuss 2 months ago

@Techjar Yeah, I understand that I just wanna see if it would still crash without shaders. Which I guess based on your comment it shouldn't.

#7 Updated by ShadowMyst about 2 months ago

This issue was resolved for me in the latest driver releases by Intel. Try build 8280 or 8336 and see if they work for you also.

#8 Updated by Anuskuss about 1 month ago

@ShadowMyst Still not working for me. Could you test the attached fifo file?

#9 Updated by ShadowMyst about 1 month ago

Sorry, not experienced enough to work with those directly. What intel gpu do you have?

#10 Updated by Anuskuss about 1 month ago

It's actually pretty simple. Just download the file and open it in Dolphin. If it's working you should see a loop of the first second of the Wii warning screen. If it doesn't, just a black screen follow by a "Failed to submit command buffer" (if you've "Use Panic Handlers" active).

OS: Windows 10 1809
GPU: Intel Iris Plus 640

#11 Updated by ShadowMyst about 1 month ago

Give me a moment. Not certain what will happen on my end since I'm running 10th Gen Ice Lake with Iris Plus G7.

#12 Updated by ShadowMyst about 1 month ago

Works fine for me. Keeps looping. The issue appears to be how your specific GPU functions with the Intel drivers; not the drivers in general.

#13 Updated by Anuskuss about 1 month ago

Interesting. It could very well be that the newer GPUs get more testing and thus this issue slipped through. Do you have any unusual settings set in Dolphin? Also are you running Windows 10 2004?

#14 Updated by ShadowMyst about 1 month ago

All my settings are kept at default, with the exception of having set 2 games to specifically turn off Arbitrary MipMapping for a decent performance boost (Rogue Squadron II and III). I tested your off under Windows 10 2004 and macOS 10.5.5.

I remember when I filed a similar report earlier this year that Stenzek said "Intel's driver up until recently would crash when booting because despite advertising support for dual-source blend, clearly hadn't tested any pipelines which used them because they'd kill it with a null pointer access."

#15 Updated by ShadowMyst about 1 month ago

Which method of shader compilation are you using? Synchronous, Asynchronous (Ubershaders) or Synchronous (Ubershaders)? Before it was fixed by Intel for the Ice Lake Iris Plus gpu, it would only occur for me on Synchronous and Asynchronous (Ubershaders); never on Synchronous (Ubershaders). Have you tried all 3?

#16 Updated by Anuskuss about 1 month ago

Yep, I already went through all settings and the only setting which affects this is switching from Vulkan to another backend (or staying on 26.20.100.6861).

#17 Updated by ShadowMyst about 1 month ago

Definitely seems specific to the 640. Stenzek would be the final say though.

#18 Updated by Anuskuss about 1 month ago

Also happening to friend of mine on 655 and latest Win10.

#19 Updated by ShadowMyst about 1 month ago

It might be better to say it is specific to the Gen 9/9.5 GPUs. Unless we hear from someone with an even older system.

#20 Updated by ShadowMyst about 1 month ago

I have an update for you Anuskuss. I just did a clean re-install of Win 10 on my MacBook Pro 2020 and was able to reproduce the issue there. So it affects Gen 10 as well. No clue why it didn't happen before, but I honestly can't remember what version of the intel drivers were installed on my prior BootCamp configuration.

Also available in: Atom PDF