RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.36k stars 1.91k forks source link

about the roadmap for Mac? #6447

Closed zzz6519003 closed 5 years ago

AniLeo commented 5 years ago

You can see current Roadmap here: https://github.com/RPCS3/rpcs3/wiki/Roadmap

There are no plans regarding Mac, mostly because it doesn't support OpenGL 4.3 nor Vulkan (only through MoltenVK which has several limitations as it runs on top of Metal). Contributors can add support for it if they want to do so, but note you'll always end up with an inferior version - you're better off installing a Linux distro or Windows in dual boot.

zzz6519003 commented 5 years ago

I think one day it will be on web with help of wasm

love that anime XD

zzz6519003 commented 5 years ago

Mac should be equal to Windows ~>~

clienthax commented 5 years ago

@zzz6519003 then get on with making a opengl/vulkan stack for it.

We shouldn't have to support companies lazyness.

Degerz commented 5 years ago

@AniLeo It uses MoltenVK ? I thought it used gfx-rs ...

Anyways consider switching to MoltenVK if you haven't already since gfx-rs isn't being maintained anymore and will be succeeded by WebGPU plus the upcoming Metal 3.0 on macOS Catalina will have support for custom texture swizzles so that you don't have to emulate this anymore on the CPU.

13xforever commented 5 years ago

gfx-rs support was added by the devs of gfx-rs, so unless someone would step up and change anything, it will stay this way for a while

AniLeo commented 5 years ago

I didn't mean RPCS3, was talking about MacOS API support level, note that we don't have any working builds right now even with gfx-rs though, there are other things that need solving as well like LLVM recompilers and whatever broke since the commit that could run homebrew with gfx-rs

Degerz commented 5 years ago

I'm curious but what other hardware features do you need that Metal API currently lacks ? (Metal as it is already looks pretty advanced from a feature set standpoint but it still doesn't have geometry shader or transform feedbacks but those could be emulated with compute shaders in some cases.)

kd-11 commented 5 years ago

Metal itself would be sufficient, but maintaining yet another backend here makes little sense. The initial limitations moltenVK encountered seem to have been mostly resolved which is a step in the right direction. The largest hurdle here is lack of mac hardware, nobody is going to maintain something they cannot test and it makes it very hard for contributors to work on the project without breaking something (see the BSD port of rpcs3 for example, which inadvertently breaks every other week). If someone wants to maintain moltenVK support and has the correct hardware to do this, then there is no problem with it. Initial moltenVK and gfx-rs support already exists, but the last contributor who was working with mac is not actively maintaining it at the moment.

Degerz commented 5 years ago

So I assume getting more Mac testers is a bottleneck, right ?

I also saw the emulator using logic ops in the graphics code and I don't think Metal API supports this but there's a very easy workaround available since macOS High Sierra which is using fragment shader interlock on Vulkan. Patches are pending on SPIRV-Cross repository to have it enabled for MoltenVK. You can also consider per-pixel linked lists by storing the primitive ID as another solution as well so that AMD GPUs older than Vega can also work on macOS as well.

RipleyTom commented 5 years ago

Feel free to submit PRs to improve Mac compatibility.

As it is trying to support Macs is like trying to go to the Moon without a rocket(no mac devs) and when the Moon doesn't want you there(Apple just wants their users to stay in their closed ecosystem).

zzz6519003 commented 5 years ago

you guys rock

floam commented 4 years ago

Thanks for being open to PRs improving Mac compatibility. If I had a spare machine I'd try to get it in your hands. I'll keep my eyes open.