Emulator Issues #12121
Vulkan: Failed to submit command buffer
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
22.214.171.12461 (released May 2019) and the first bad version
126.96.36.19990. 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.
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
188.8.131.5261 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.
@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?
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.
#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
#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?
#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.