Open urraka opened 3 years ago
Considering no other GPUs seem to have the same problem, this seems to be either a driver bug or an incompatibility. The AMD OpenGL Windows drivers are known to not be particularly great, so if you're already running the latest drivers I don't think this is something we can fix.
The error doesn't affect the rendering, so logging the message on the console instead of showing a popup should be enough to "fix it".
Edit: perhaps I didn't make myself clear enough. If I click OK on the error popup sublime continues to work just fine and the error doesn't even show up anymore.
When an error happens during OpenGL initialization Sublime Text falls back to software rendering. It's the same as when you disable hardware acceleration.
This error doesn't show up until I hover something that shows tooltips. OpenGL had surely been initialized by then. Maybe it falls back to software rendering after the error? I could double check on that later. I suppose at some point there's a second OpenGL context being created or something? In any case, the first tooltip shows up just fine with no error, the second time it triggers the popup, so it feels like the kind of error that could simply be ignored.
With OpenGL on windows you need to create a context per window, doing so requires sharing data between the OpenGL contexts. Seems to me that creating the context for the tooltip is failing for your driver. I expect the same to happen if you open a new Window (ctrl+shift+n
), view the changelog or other actions. In any case this is clearly a driver bug.
I tried opening a new window but this is not triggering any errors. So far I've only managed to trigger it with tooltips. The console shows:
glGetError: GL_INVALID_OPERATION
OpenGL: Error on data initialization: GL_INVALID_OPERATION
From what I know, this is not necessarily related to context creation or some driver bug.
However it may be: is there any good reason to display a popup instead of just logging a message in the console? Even if there is a driver bug, and even if it does switch to software rendering, the program continues to run seemlessly after the error. The popup feels like an unnecessary annoyance - debug level kind of stuff. Same goes for an actual context creation failure case, which I get in another machine upon launching sublime due to unsupported GL version.
However it may be: is there any good reason to display a popup instead of just logging a message in the console? Even if there is a driver bug, and even if it does switch to software rendering, the program continues to run seemlessly after the error.
The problem is that for anyone who requires hardware acceleration the program won't continue to run seamlessly, instead being incredibly laggy and unusable. That and simply ignoring OpenGL errors can also result in a completely unusable application; it may be fine for you but won't be for others.
Description
In spite of everything working just fine, sometimes there's this popup saying there's an error. Such innocent popup is very unfortunate and stains this excellent piece of software. Thanks for all the hard work!
Steps to reproduce
Expected behavior
Tooltip shows up.
Actual behavior
Error popup shows up although tooltips are working just fine.
Environment
I wasn't aware of the "safe mode" option so I didn't try that. This happens on the computer at work so I can't test that right now. It's also happening on Sublime Merge.