-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(libretro) context_reset is broken #10784
Comments
Yeah everything was badly broken for retroarch after the new GL threading rework, then @aliaspider swooped in and fixed it all up except resizing. Needs to be looked into. |
@aliaspider Thanks for the fix! |
@hrydgard and @aliaspider, actually this solution doesn't work here... Instead of displaying garbage emulation gets frozen on a white screen. |
Additionally apitrace doesn't like it and will exit when trying to toggle context_reset.
Full log - https://pastebin.com/u78dMX8E |
I discovered that the apitrace crash doesn't always occur. I'm not sure what the difference is? Here is a more informative trace. |
I am guessing this might have to do with how ppsspp and/or RetroArch is trying to set a 3.1 core context, which does not exist according to some mesa devs. This recently caused issues with beetle-psx, see this issue. libretro/beetle-psx-libretro#315 But if I use |
RetroArch doesn't start because its using a compat profile apparently. Setting As for ppsspp, I'm still not sure where its setting the GL profile context? |
You must call See for example here: ppsspp/SDL/SDLGLGraphicsContext.cpp Line 43 in 3750327
Do not set it to true under a GLES profile. -[Unknown] |
My guess its currently using a non-core compat GL profile as it hits this line. https://github.com/hrydgard/ppsspp/blob/master/libretro/LibretroGLContext.h#L15 |
Any updates on this issue? It would really be a big benefit for the libretro core if this could be solved. |
I have just realized that vulkan was hooked up for libretro and that this is not a problem with Vulkan, only OpenGL. |
Is this still an issue? |
Yes, ppsspp libretro is still completely broken and unusable on linux. |
I have had simliar issues with my Switch port (it would crash tho, however on recent builds it renders no video and only audio after ctx reset), I figured it was because my hacky temporary GL loader. |
@m4xw There is not much to show, it starts off a blank white screen and then transitions to a blank black screen as the game proceeds. |
Ok thanks |
How bad is this now? |
Not sure if it's related - ppsspp libretro core on Linux (tested on x86-64 and aarch64) gives a black screen when starting a 2nd game in the same RA session, like mentioned in #11339. |
Any news on this issue? Would be nice to be able toggle fullscreen on and off with specific video drivers set. D3D 9 & 11 just crash, glcore goes to a black screen, and vulkan and gl work as expected. |
Here is some backtrace using glcore video driver toggling full screen.
|
@orbea this issue should be renamed to (libretro) context_reset is broken using gl or glcore video driver. EDIT : Nevermind the issue happens also with d3dxx video driver. |
Well, I took a quick look at the libretro.c file and it seems like the basic problem is that it calls reset without calling destroy first. I'm not likely to dig into this further, but I suspect the author of LibretroGraphicsContext.cpp was under the impression that ContextDestroy would be called before ContextReset. It might be as simple as a flag to destroy everything before proceeding with the rest of reset, if destroy was never called. Looks like this is an expected scenario: I'm not very interested in libretro, but it's the first time someone posted a useful stack trace to this issue in 3 years, so figured I'd take a quick look. Hopefully that helps whoever is interested in actually fixing and testing this. -[Unknown] |
Nope nvm, can't reproduce anymore, not sure what happened, maybe I've switched to Vulkan or something during my tests, but seems like it doesn't fix anything... sorry about that :/ |
@bslenul can u check with "enable menu sounds"? |
It seems to me that the current version of PPSSPP performs even worse than a few months ago when it comes to switching fullscreen. |
What do you mean that texture filtering doesn't work? Seems very bizarre to me. |
Sorry, I wasn't specific enough. However, this is not the worst problem. |
Ah yes, auto max quality doesn't yet autogenerate mipmaps on OpenGL, which is required to get that smooth effect, which I agree is desirable. As for fullscreen, no idea, as stated many times I'm not maintaining the libretro port, I just review and merge PRs for it as my focus is the standalone build. |
Thanks for the answer. I will try to report this problem in RA liberto. Maybe someone will have an idea. |
What happens?
When toggling fullscreen in RetroArch with f ppsspp renders a broken image breaking any game play. I'm told this was broken in an rebase when merging the core upstream?
What should happen?
Toggling full screen should work.
What hardware and operating system are you running PPSSPP on? GPU might matter if it's a graphical issue.
OS:
Slackware64-current
GPU:
GK110B
mesa-2018.01.18_5fc21c6_master-x86_64-1_git
Related issue: libretro-mirrors#27
The text was updated successfully, but these errors were encountered: