-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
VideoCommon: Add shader logic ops support for Apple Silicon GPUs #9990
Conversation
Do you know whether nVidia supports this? I could test (late 2012 iMac with nVidia on macOS Catalina). |
Confirmed on discord to fix things on Apple Silicon GPUs. |
Sorry, I forgot NVIDIA existed. Only Apple Silicon GPUs support framebuffer fetch, so this PR will not work on NVIDIA GPUs. |
…lending and disable GL_BLEND
Also, update MoltenVK to match Vulkan SDK 1.2.182.
e1cd1ff
to
0666978
Compare
0666978
to
82e0191
Compare
#ifdef __APPLE__ | ||
!host_config.backend_logic_op && host_config.backend_shader_framebuffer_fetch; | ||
#else | ||
false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A separate PR to add shader logic ops support on OpenGL ES (Android) will be opened after this is merged.
merge please! |
@quinton-ashley This PR is currently being blocked by some necessary infrastructure work on the Dolphin Project's part and can't be merged until that is completed. |
ah okay, what's the eta on that being done? |
Starting over on a new branch, will open another PR when it's ready. |
This PR adds a shader logic ops implementation for Apple Silicon GPUs. While Metal does not support logic ops itself, it does support framebuffer fetch, allowing us to implement it in the fragment shader. (Note that Intel, AMD, and NVIDIA GPUs do not support framebuffer fetch, so this PR will not solve the logic ops problem on Intel Macs.)
Fixes Kirby's Air Ride and more on M1 Macs.
Depends on: #9981, #9988