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

Auto tweak MSAA if it's > 4 on apple silicon #103

Open
MysticalOS opened this issue Aug 22, 2023 · 4 comments
Open

Auto tweak MSAA if it's > 4 on apple silicon #103

MysticalOS opened this issue Aug 22, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@MysticalOS
Copy link

Not sure if you're aware of this "bug" or rather lack of feature but apple silicon doesn't actually support 8x MSAA rendering, and if it's enabled in a game causes major issues (usually a black screen). Why this matters is some games like Final Fantasy X have presets that enable 8x by default. You fire up game with MSAA at 8x and it'll go straight to a blank title screen with audio only.

This technical limitation is known by apple and most native ports disable 8x under apples guidance to avoid the issue. Windows apps obviously don't know they need to avoid that issue.

Mind you, not all "8x" implementations fail. Just native single pass 8x do. 4x pass done twice works fine on apple silicon.

I'm not sure this is something you can actually scope/fix via CXPatcher to be honest, as this may actually be something that actually just needs winetricks and maybe even codeweavers to look into, but I figure I at least point it out here regardless cause you never know when someone who's reporting "game is broken" simply needs to turn MSAA down/off.

@italomandara
Copy link
Owner

Does it happen on GPTK or dxvk? I can tweak that on DXVK + MoltenVK but not GPTK

@MysticalOS
Copy link
Author

MysticalOS commented Aug 23, 2023

Both maybe? I only tested DXVK though since i was 32 bit gaming

it's an actual hardware limitation of apple silicon, MSAA above 4x will fail to render (unless it's fake 8x such as a two pass of 4x). Final Fantasy X HD probably best test case cause it'll launch into black title screen if MSAA higher than 4. Thinking more on it, it's probably something crossover should work aorund or maybe even MoltenVK and game porting toolkit respectively just ignore/change MSAA8X instruction set to 4x or none to avoid choking up apple silicon gpu.

@italomandara
Copy link
Owner

Both maybe? I only tested DXVK though since i was 32 bit gaming

it's an actual hardware limitation of apple silicon, MSAA above 4x will fail to render (unless it's fake 8x such as a two pass of 4x). Final Fantasy X HD probably best test case cause it'll launch into black title screen if MSAA higher than 4. Thinking more on it, it's probably something crossover should work aorund or maybe even MoltenVK and game porting toolkit respectively just ignore/change MSAA8X instruction set to 4x or none to avoid choking up apple silicon gpu.

So apple doesn't gracefully handle the missing feature on d3dmetal? well then it's going to be fixed only on dxvk/MVK then if anything

@MysticalOS
Copy link
Author

they might actually I never tried. at very least natpro would probably be aware of it. but yeah DXVK and moltenvk obviously aren't :D

@italomandara italomandara added the enhancement New feature or request label Aug 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants