Dolphin, the GameCube and Wii emulator - Forums

Full Version: Debugging: 'The NVIDIA OpenGL driver has encountered an out of memory error'
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
So, since commit: 42619c1d2dfdd5c41e66049397e803b9d65e0283 (Merge branch 'ogl-tex2d') I've been seeing some issues on a few Nvidia cards, using the OpenGL backend (I only have access to NV GPUs atm, so I don't know if it also occurs on AMD).

First instance: OpenGL API - on a GTX 260 running (GeForce 314.22 Driver WHQL) Dolphin crashes to desktop when attempting to launch a game with any post processing shader enabled.

Second instance: OpenGL API - on a GTX 680 running ([GeForce R331 Game Ready Driver WHQL) Dolphin doesn't crash, but in the event log, it produces the warning "The NVIDIA OpenGL driver has encountered an out of memory error. This application might behave inconsistently and fail." Again, the issue only occurs when trying to launch any game, with any post processing shader enabled in the OpenGL backend.

So, just to recap;
  • If Dolphin is launched with any setting, including the ones producing problems - it's fine. It only occurs when launching a game via Dolphin. Not launching Dolphin.exe itself.
  • If Dolphin launches any game, with OpenGL, with post processing shaders disabled: no issue occurs.
  • If Dolphin launches any game with OpenGL, with any post processing shaders enabled: Dolphin crashes to desktop on the GTX 260 system, and on a GTX 680 it doesn't crash, but produces an OGL OOM warning in the event log.
  • If Dolphin launches any game with OpenGL, with post processing shaders disabled, and the game loads up. Then opening the config dialog, and enable a post processing shader: no apparent issues occur. It only seems to happen on startup.

I've attached a backtrace of Dolphin from WinDbg below, up to the point when the event log produces the warning on a GTX 680. If anyone would like a look. (exception analysis @ end of log)

The point of this thread? - I'm wondering if anyone else has noticed, or actually experienced any of these issues?

If more info is needed, just specify. My own system is on profile page.
You should really complain to Matt_P to fix the symbol server, or if it's your own build, load symbols for dolphin.

Also, you just looking at exceptions caused by the jit (
IP_ON_HEAP: 000024a1802694b8
The fault address in not in any loaded module, please check your build's rebase
) and mask the "bad" addresses by 0xffff - you'll see they are just mmio addresses.
try disassembling code around these read AVs - it'll look like dolphin-emitted code.

So, the output of !analyze is not applicable - it's just reporting normal dolphin behavior.

A dump(with pdb) or at least the log with proper symbols would help. Let it crash normally. You can install windbg as postmortem debugger by:
windbg -I
I'm sorry, I can't reproduce this issue on my NVS 5400M.
But you could bisect when this issue starts: https://dolphin-emu.org/download/list/ogl-tex2d/
shuffle2: It was late when I posted that, I didn't even really look at the trace log properly, just thought I'd get it done before going to sleep. I don't think it would even help all that much though tbh, as Dolphin is actually not launch crashing on my own gpu. Most people may not even notice the warnings in the event log, and just wait for the emu to oom and crash after x amount of time. Also seeing as most users have panic handlers disabled, they wouldn't know the cause of the crash either.

degasus: The issue begins occurring from commit: 6ed3f82affe9f866a580bcddfaa6f760f92a1b3e Rev: 4.0-442: OpenGL: attributeless rendering for postprocessing.

I can't test the code myself, I'm not at my own machine again, at the moment. But, unlikely as it was to be the vs. I did already try reverting the post processing vertex shader to the previous version, a few days ago, and that didn't seem to be it.

On the 260 (current machine I'm using right now.) It crashes with a 0xc0000005 access violation code, but no memory warning as it doesn't get to run long enough before the crash. No crash on my own card, but I get the warning. Possibly a memory issue?