Emulator Issues #6528
closedOpenCL crashes dolphin at game start
0%
Description
Game Name?
All games I try to start, Gamecube and Wii alike.
What went wrong?
Dolphin stops responding and crashes immediately after launching a game.
What did you expect to happen instead?
The game to render.
What steps will reproduce the problem?
Selecting OpenCL Texture Decoder in the Graphics settings.
Which versions of Dolphin did you test on?
x86, 3.5-1914
x64, 3.5-1914
x64, 3.5-1682
Which version of Dolphin used to work?
x86, 3.5-1682
What are your PC specification?
Windows 8 64 bit
AMD FX-6200 6 Cores
AMD Radeon HD 6800 Series
Any other relevant information
According to GPU-Z my graphics card is OpenCL compatible.
GPU-Z Screenshot - https://www.dropbox.com/s/e0kaq99iokwdrag/Capture.PNG
My graphics card drivers are up to date. I'll gladly share any other information that will help get to the bottom of this issue.
Updated by diggitydatdog over 11 years ago
Here are the crash logs
x86 - http://pastebin.com/zUk6aHYf
x64 - http://pastebin.com/AjX3aD2a
Updated by delroth over 11 years ago
- Priority set to High
- Milestone set to Current
degasus, neobrain: any reason to not remove this OpenCL option if it crashes on top of being completely useless?
Updated by degasus over 11 years ago
delroth: it isn't completely useless as it is still faster for big textures. If it
is easy to fix, I would keep it for 4.0. Afterwards, imo the way to go is not to decode paletted textures and do the lookup in pixel shader. But there are still some formats which gpus aren't able handle. I think there will be an util shader for this :-)
Updated by delroth over 11 years ago
Is it really faster? I'd assume since our OpenCL decoding implementation completely sucks (transfer CPU->GPU->CPU->GPU because we don't decode to a texture buffer) it should be slower than our fast on-cpu decoding.
Updated by NeoBrainX over 11 years ago
It indeed supposedly helps performance in one or two games. Ask [SS], I think he's one of the people who said it'd be useful.
Updated by degasus over 11 years ago
delroth: The copying itself doesn't matter so much, but in this way, the cpu will have to wait for the gpu to finish (more likely to start) decoding this texture. Decoding on gpu is faster, but it is usually not worth to wait for this round trip time. iirc it speeds up nsmbw with efb2ram as it uploads one big texture per frame.
Updated by delroth over 11 years ago
- Status changed from New to Accepted
- Category set to gfx
Ok, thanks!
Updated by degasus over 11 years ago
diggitydatdog: I tried it locally and it works fine both with the nvidia and with the intel opencl driver. Dolphin also works fine without a opencl driver at all, so I can't reproduce your bug here.
So can you please try to generate a stack backtrace?
Updated by diggitydatdog over 11 years ago
What is a stack backtrace and how would I go about doing it?
Updated by brandon-538 over 11 years ago
I found a solution! I read most of these solutions online but they all didn't work!
I thought maybe if you delete the games directory maybe it'll restore to default when you load Dolphin again.
Try this,
You have to delete the entire Dolphin directory from your computer, then open up the application again. The folder it's in is hidden so you have to be able to look through your computer's hidden folders.
Look for this directory:
Macintosh>Users>YourName>Library>ApplicationSupport>Dolphin
And DELETE the dolphin folder with all the stuff, I haven't salvaged my saved files but I think it should be usable?
My games always quit the moment it's started and I just loaded Twilight Princess and dolphin has been restored to default. I had to start a new save file but that's okay. :)
Anyone else tried this?
Updated by brandon-538 over 11 years ago
Of course this was on a mac, I'm not too sure about pc users..
Updated by delroth over 11 years ago
Might have been an old opencl code file in the user dir. Have we updated it
recently?
Updated by degasus over 11 years ago
delroth, no: https://code.google.com/p/dolphin-emu/source/list?path=/Data/User/OpenCL/TextureDecoder.cl
diggitydatdog:
I've only found a howto of mozilla, but there is one difference here as you'll need the 64 bit WinDbg:
https://developer.mozilla.org/en-US/docs/How_to_get_a_stacktrace_with_WinDbg
Updated by skidau over 11 years ago
diggitydatdog, sorry I didn't see this earlier. Try deleting the User/OpenCL/kernel.bin file. It might have been created with an older video driver or maybe if you have changed video cards.
The kernel.bin file is a compiled binary of the OpenCL code.
Updated by diggitydatdog over 11 years ago
Skidau, You may have found the root of the problem, because there is not kernel.bin file there. The only file there is TextureDecoder.cl
Wickmark, I'm currently working on getting a stack backtrace in case that isn't actually the problem.
Updated by diggitydatdog over 11 years ago
I looked into it a bit more, and it seems that the 3.5 32 bit version generates the kernel.bin file. The 64-bit version does not.
Updated by skidau over 11 years ago
diggitydatdog, does the OpenCL option work now for you in the 32 bit version? There is no 32bit/64bit specific code here. I'm sorry but this is an issue that is occurring only on your PC.
Updated by diggitydatdog over 11 years ago
Huh. Now I'm really confused. I attached Visual Studio to the dolphin process to debug it, and its working flawlessly. It generated the kernel.bin file and is running smoothly. I don't understand it, but I'm glad its working.
Updated by skidau over 11 years ago
- Status changed from Accepted to Invalid
Good to hear, diggitydatdog. Thanks for attempting to debug it. Let us know if you need any more help (maybe via the forum).