Project

General

Profile

Actions

Emulator Issues #7569

closed

Post-Processing Config Screen makes wxWidgets get mad

Added by mbc07 over 9 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Current
Regression:
Yes
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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?

  1. 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
  2. Open Dolphin, go to Video Settings, make sure you're using OpenGL backend and select the shader you saved earlier
  3. 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.
  4. 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

Actions #1

Updated by delroth over 9 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
Actions #2

Updated by Lioncash over 9 years ago

What kind of wxWidgets errors pop up (message-wise)?

Actions #3

Updated by mbc07 over 9 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

Actions #4

Updated by Lioncash over 9 years ago

No you got it right, I just can't read.

Actions #5

Updated by Sonicadvance1 over 9 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.

Actions #6

Updated by mbc07 over 9 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...

Actions #7

Updated by JMC4789 over 9 years ago

Has this issue been addressed?

Actions #8

Updated by mbc07 over 9 years ago

No, still reproducible in 4.0-3376 (just tested to make sure)...

Actions #9

Updated by mbc07 over 9 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...

Actions #10

Updated by Lioncash over 9 years ago

Removing it from the ini didn't seem to trip wxWidgets up for me.

Actions #11

Updated by JMC4789 over 9 years ago

Can we get some updates on this?

Actions #12

Updated by mbc07 over 9 years ago

No changes, issue still reproducible in 4.0-3502...

Actions #13

Updated by JMC4789 over 9 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?

Actions #14

Updated by mbc07 over 9 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...

Actions #15

Updated by JMC4789 over 9 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.

Actions #16

Updated by mbc07 over 9 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...

Actions #17

Updated by JMC4789 over 9 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.

Actions #18

Updated by mbc07 over 9 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

Actions #19

Updated by mbc07 over 9 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...

Actions #20

Updated by JMC4789 over 9 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?

Actions #21

Updated by mbc07 over 9 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...

Actions #22

Updated by mbc07 over 9 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...

Actions #23

Updated by mbc07 over 9 years ago

Not an Optimus issue, reproducible in an old PC with Core 2 Duo E4500 and NVIDIA GT 440 running Windows 7...

Actions #24

Updated by JMC4789 over 9 years ago

I'm wondering what's going on. If you go into portable mode, does it still do this?

Actions #25

Updated by mbc07 over 9 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?

Actions #26

Updated by JMC4789 over 9 years ago

That sounds plausible. I'll do some more investigation on it. Thanks!

Actions #28

Updated by JMC4789 over 9 years ago

I had an angry WXWidgets popup randomly occur earlier today. IT didn't break anything though; the shader worked as normal.

Actions #30

Updated by taolas over 9 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.

Actions #31

Updated by mbc07 over 9 years ago

If that helps, my computer is set to Brazilian Portuguese and decimals are separated by comma...

Actions #32

Updated by peterzwickert7 over 9 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.

Actions #33

Updated by Sonicadvance1 over 9 years ago

  • Status changed from Questionable to Fix pending
Actions #34

Updated by Sonicadvance1 over 9 years ago

  • Status changed from Fix pending to Fixed
Actions

Also available in: Atom PDF