Skip to content
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

crt-mattias: original author has greatly improved version ready #134

Closed
STPKITT opened this issue Apr 21, 2020 · 7 comments
Closed

crt-mattias: original author has greatly improved version ready #134

STPKITT opened this issue Apr 21, 2020 · 7 comments

Comments

@STPKITT
Copy link

STPKITT commented Apr 21, 2020

Hello Libretro folks!
I discovered the crt-mattias shader and fell in love with it but my portable ITX emulation system absolutely couldn't deliver 60 fps with it enabled (AMD A8-7600 APU).
I then tracked down the original author of crt-mattias, Mattias Gustavsson (@Mattias_G on Twitter), and got in touch with him thinking he was aware that his shader is available in Libretro & thinking he surely must've integrated it himself. I wanted to ask him about the performance issues I had with the shader, wondering if my system ran into a CPU- or GPU-bottleneck. In the end of our messages exchange, which gave me a lot of background information about the creation of the shader, he told me that he didn't mind if I go ahead finding the people in charge of the shader's integration into Libretro and passing along the following information which made me open this issue.
So he had no clue about his shader being integrated in libretro but he was very happy about it. He further wrote the following:

Your mention of ”crt-mattias” gave me something to google :) I’ve never called it that. So I found that it’s been integrated with libretro by someone, which is awesome :) unfortunately, they took the very first version I wrote in Shadertoy, and I have improved it a lot since then. The big problem with that version is that the blurring is done directly in the shader, which is very slow. My current version does a low res pre-blur before running the main shader, and this means it runs at 60fps on most integrated GPUs if resolution is HD or less. I am not sure if libretro supports doing separate blur before rendering the main image though - but that would probably solve all performance issues.

The latest version is here: https://github.com/mattiasgustavsson/newpixie/blob/master/source/pixie/crtemu.h
He has even more sophisticated ideas for further improvements including stuff for 4K but he has other projects higher on his priority list currently.
He also told me he was happy to answer any questions that might come up.

To make a long story short: would be great if you guys could bring the shader up to date in Libretro.

Thanks very much for your attention! Greetings!

@hizzlekizzle
Copy link
Collaborator

Sure, I'll take a look. I'm pretty confident we can do something with it.

@STPKITT
Copy link
Author

STPKITT commented Apr 21, 2020

I'm really excited reading that and I'm looking forward to test it once there is an updated version in Libretro! Thanks in advance!

@hizzlekizzle
Copy link
Collaborator

hizzlekizzle commented Apr 24, 2020

Alright, got it ported over. closed by 3b6d56f

@STPKITT
Copy link
Author

STPKITT commented Apr 24, 2020

Fantastic, I can't wait to have access to my machine for emulation again and try the updated shader. I'll report back in case I find any issues.
Huge thanks for your effort!

@hizzlekizzle
Copy link
Collaborator

Alright, I'm gonna close this issue, since I think we're all set.

@r-a-cristian-93
Copy link

Is there someone king enough to port it for glsl too, single file?

@hizzlekizzle
Copy link
Collaborator

RetroArch's GLSL shader backend lacks the feedback feature needed for the phosphor persistence effect, and combining it all into a single pass would make it very slow, unfortunately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants