Skip to content

Color Correction shaders for 3DS #3436

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

Open
Masaru2 opened this issue Mar 14, 2025 · 3 comments
Open

Color Correction shaders for 3DS #3436

Masaru2 opened this issue Mar 14, 2025 · 3 comments
Labels
severity:nice to have Low priority feature requests system:3DS Affects running on the 3DS

Comments

@Masaru2
Copy link

Masaru2 commented Mar 14, 2025

Title explains it all. The 3DS version of the emulator doesn't have support for color correction shaders, unlike something like Open_agb_firm which implemented it a few months ago.

@Squall-Leonhart
Copy link

Squall-Leonhart commented Mar 18, 2025

3DS doesn't support Fragment shaders, so no, open_agb_firm did not implement color correction via shaders, it is a C++/ASM implementation using the values from the shader.

@endrift
Copy link
Member

endrift commented Mar 18, 2025

I had some discussions about how to do thus a while ago with various people but came to the conclusion that doing anything like this in software would add significant enough overhead that it would slow down the already borderline emulation. It's one of the reasons the RetroArch version of mGBA is much slower on 3DS. Further, as pointed out, the 3DS lacks a way to do this properly in hardware, so there isn't really a good option. Unless I can get mGBA to be much faster on 3DS I'm not sure this is in the cards.

@endrift endrift added severity:nice to have Low priority feature requests system:3DS Affects running on the 3DS labels Mar 18, 2025
@profi200
Copy link

At least on New 3DS it might just about work. But you need very fast RAM for the lookup table and using a dedicated core for the conversion is a good idea too.

I obviously have all of that in bare metal + the GBA hardware. To further reduce overhead i do the conversion in tandem with DMA. Ugly but brings the overhead down to 800 µs or so worst case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
severity:nice to have Low priority feature requests system:3DS Affects running on the 3DS
Projects
None yet
Development

No branches or pull requests

4 participants