Emulator Issues #7569
closedPost-Processing Config Screen makes wxWidgets get mad
0%
Description
Game Name?
Any
Game ID?
Any
What's the problem? Describe what went wrong in few words.
Since Dolphin 4.0-2554, Post-Processing shaders can have user configurable settings (PR #693). While they work fine, the settings dialog works only the first time you open it, opening it again makes a lot of wxWidgets errors pop out
What did you expect to happen instead?
The settings dialog working normally when opening it again
What steps will reproduce the problem?
- Get a Post-Processing shader that's compatible with the new system (like this http://hastebin.com/eharamakep.coffee ) and save it in Dolphin\Sys\Shaders
- Open Dolphin, go to Video Settings, make sure you're using OpenGL backend and select the shader you saved earlier
- Now the "Config" button will be clickable. Click on it and the settings of that shader show up. Do anything you want and then click Close.
- If you click in Config again a lot of wxWidgets errors will pop out and a lot of random sliders will appear in the Config Screen. Every time you open Settings dialog again, more errors will pop out and more random sliders will appear
Which versions of Dolphin did you test on?
Dolphin 4.0-2554
Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
No. The first version with configurable shaders is 4.0-2554 and it have the issue
What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
CPU: Intel Core i7-3630QM @ 2.4GHz
GPU: nVidia GeForce GT 635M @ 2 GB GDDR3
RAM: 8 GB @ DDR3-1600
OS: Windows 8.1 (RTM) [x64]
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
Screenshot of wxWidgets error that keep poping out: http://i.imgur.com/O2dFjSi.png
Updated by delroth over 10 years ago
- Status changed from New to Accepted
- Regression set to Yes
- Priority set to Normal
- Milestone set to Current
- Operating system N/A added
Updated by Lioncash over 10 years ago
What kind of wxWidgets errors pop up (message-wise)?
Updated by mbc07 over 10 years ago
I'm not sure if I got your question... The errors are complains about asssert values for sliders, like this: http://i.imgur.com/O2dFjSi.png
Updated by Sonicadvance1 over 10 years ago
I can't actually reproduce the issue here.
Although that shader you pulled in is slightly outdated and was for a WIP version of the new PP shader system.
Here is one that is updated to the newest version
http://hastebin.com/etafoviqic.coffee
Also make sure to use 4.0-2628 at least, I found that I was using a quirk in the Mesa driver I am using and I fixed it for everything else.
I have a PR to make sure the configuration is correct in the shader coming as well, which should output an error(as long as you have panic handlers enabled) describing the issue with the configuration in the shader.
Updated by mbc07 over 10 years ago
The issue still occur with 4.0-2636, even using the updated shader you linked. Also, both shaders (the one I tested and the updated one you linked) are working perfectly fine, the issue is in the GUI, in Shader Config screen only, it get screwed after opening and closing it sometimes...
Updated by mbc07 over 10 years ago
No, still reproducible in 4.0-3376 (just tested to make sure)...
Updated by mbc07 over 10 years ago
Found something: apparently the issue is loading/saving user settings.
When you open shader configuration for the first time and make changes, Dolphin will save the user settings in Dolphin.ini in a new section (for example, if the shader name is DuckShader.glsl, a new section named [DuckShader-options] will be created in Dolphin.ini).
From here, whenever you open the Shader Config dialog, the wxWidgets errors will occur, no matter if it's the first time you open Shader Config or if it's a new Dolphin instance (eg. closed Dolphin and opened again).
If you manually edit Dolphin.ini and completely remove the shader section (it'll be [DuckShader-options] in that example), then you can reproduce the behaviour described in the issue report: opening the Shader Config for the first time works, any subsequent open will cause wxWidgets errors...
Updated by Lioncash over 10 years ago
Removing it from the ini didn't seem to trip wxWidgets up for me.
Updated by mbc07 over 10 years ago
No changes, issue still reproducible in 4.0-3502...
Updated by JMC4789 over 10 years ago
- Status changed from Accepted to Questionable
Can you try putting the shader in My Documents/Dolphin Emulator/Shaders
It shouldn't make a difference, but I honestly can't reproduce. Maybe you downloaded the shader incorrectly?
Updated by mbc07 over 10 years ago
The issue still occurs. I'll try to get a video showing it. And putting in Documents\Dolphin Emulator didn't change anything...
Updated by JMC4789 over 10 years ago
Sonicadvance linked me to this, I went to the page with text only, and saved the page as a glsl.
http://hastebin.com/etafoviqic.coffee
Everything worked fine from there.
Updated by mbc07 over 10 years ago
Okay, it's the same thing I did, and I'll repeat again: the shader works perfectly fine. Changing its settings through the GUI is what will cause the wxWidget issues, but despite that error, the shader remains working. The issue is in the GUI, not the shader itself...
Updated by JMC4789 over 10 years ago
I know, it's just, I can't reproduce that issue whatsoever. I mess with the settings, set everything to zero, open and close the window, etc.
Updated by mbc07 over 10 years ago
Forget it, found the problem. Changing the shader settings in GUI while the game is running works now (but didn't work when I opened the issue). However, if you open Dolphin and go directly to the shader settings (without booting any game), the issue is reproducible...
Retested again with 4.0-3783
Updated by mbc07 over 10 years ago
Also, if you reproduce this issue once, any game you boot will give a "Failed to compile pixel shader" error until you reset the shader settings by manually deleting them from the end of Dolphin.ini
The compile error is "ERROR: 1:42: 'option_BASE_COLOR' : syntax error syntax error" but it generally changes depending of what you changed in the GUI...
Updated by JMC4789 over 10 years ago
Was able to run a game with modified settings just fine as well. This is strange...
Could this be some kind of weird optimus issue?
Updated by mbc07 over 10 years ago
But did you trigger this error (http://i.imgur.com/O2dFjSi.png) at least once? The "Failed to compile pixel shader" error only occurs after triggering the wxWidgets error at least once, otherwise it works just fine. I also tested in Intel HD 4000 and it worked fine...
Try this, from a clean Dolphin install, grab the shader, put it in the Dolphin folder and then open Dolphin. Without booting any game, go directly to Graphics settings, select the shader and open its settings. You can change some settings if you want (but it doesn't matter to get the error), then close the shader settings. From here, if you open it again (or open it in any subsequent Dolphin run), you'll get the wxWidgets error, and any game you boot after doing this "trick" will get the "Failed to compile pixel shader" errors when booting games until you manually delete shader settings from Dolphin.ini. The game will work fine but the shader will be completely disabled
However, it seems that changing the shader settings while the game is running just works fine and doesn't trigger the wxWidgets error, so, it remains working fine and without any "Failed to compile pixel shader" errors...
Updated by mbc07 over 10 years ago
When I get home I'll try to reproduce this in my old machine to confirm it's not related to nVidia Optimus. It's a old PC running Core 2 Duo E4500 and a NVIDIA GT 440 card...
Updated by mbc07 over 10 years ago
Not an Optimus issue, reproducible in an old PC with Core 2 Duo E4500 and NVIDIA GT 440 running Windows 7...
Updated by JMC4789 over 10 years ago
I'm wondering what's going on. If you go into portable mode, does it still do this?
Updated by mbc07 over 10 years ago
I did more testings: the only way of triggering the issue is opening a clean install of Dolphin (doesn't matter if it's on portable mode or not) and going straight to Shader Settings window (without booting any game).
After you trigger the error, you'll always get a "Failed to compile pixel shader" error when booting any game. From here, you can only fix this by removing the shader settings that are saved in Dolphin.ini
The other case that prevents the issue: opening a clean install of Dolphin (doesn't matter if it's on portable mode or not), booting a game and then going to Shader Settings dialog while emulation is running. Doing this at least once will not cause the wxWidgets errors. From here, the issue can't be triggered anymore unless you remove the shader settings that are saved in Dolphin.ini and then redo the "trigger" behaviour (going to Shader Settings window without booting a game at least once)
This issue also won't trigger if you boot a game, stop emulation and then go to Shader Settings dialog. Said that, it may be related to GUI init/shutdown routines?
Updated by JMC4789 over 10 years ago
That sounds plausible. I'll do some more investigation on it. Thanks!
Updated by mbc07 over 10 years ago
Someone else is getting the same issue in the forums: https://forums.dolphin-emu.org/Thread-dolphinfx-post-processing-suite-for-the-opengl-backend?pid=345359#pid345359
Updated by JMC4789 over 10 years ago
I had an angry WXWidgets popup randomly occur earlier today. IT didn't break anything though; the shader worked as normal.
Updated by mbc07 over 10 years ago
Another user getting this issue:
https://forums.dolphin-emu.org/Thread-dolphinfx-post-processing-suite-for-the-opengl-backend?pid=349951#pid349951
Updated by taolas about 10 years ago
This is a localization issue with period to comma conversion for decimals. I believe it only exists in the [configuration] section and leads to float and slider errors, because it thinks you're using a float with multiple values. You have to set your OS region format / locale to something like German to see it happen.
Updated by mbc07 about 10 years ago
If that helps, my computer is set to Brazilian Portuguese and decimals are separated by comma...
Updated by peterzwickert7 about 10 years ago
I get same issue. I installed latest dolphin build (portable or not partable), started dolphin, select the dolphinfx under post processing effect. And when i starting the game i get the message "failed to compile pixel shader". When click on "config" i get "wxwidgets debug alerts".
Win8.1 x64, GTX 570, latest driver.
Updated by Sonicadvance1 about 10 years ago
- Status changed from Questionable to Fix pending
https://github.com/dolphin-emu/dolphin/pull/1931
Fixed there.
Updated by Sonicadvance1 about 10 years ago
- Status changed from Fix pending to Fixed