-
-
Notifications
You must be signed in to change notification settings - Fork 263
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
nv2a: Ignore color/depth mask in CLEAR_SURFACE #738
nv2a: Ignore color/depth mask in CLEAR_SURFACE #738
Conversation
hw/xbox/nv2a/pgraph.c
Outdated
/* FIXME: Does this apply to CLEARs too? */ | ||
color_write = color_write && pgraph_color_write_enabled(pg); | ||
zeta_write = zeta_write && pgraph_zeta_write_enabled(pg); | ||
color_write = color_write && (is_clear || pgraph_color_write_enabled(pg)); |
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.
Does this also work if you use pg->clearing
instead of is_clear
?
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.
Ha, I wish I'd noticed that before piping through a bunch of bools :) Thanks for the tip, update to follow shortly.
24fad7d
to
da00fd6
Compare
I think this bug also fixes Full spectrum Warrior: 10 Hammers, Midnight Club 3: DUB Edition,Beyond Good & Evil, #140?(issue not documented well there over 10 different assertion with the same name), #387 and #288. All have the same assertion to my knowledge but don't know if the bugs are related. I not going to test so don't ask but games are probably fixed with this pr. |
Thanks for the pointers! I think we'll need to farm this out to the discord to get people to re-test those games post-merge to verify. Unfortunately the |
#140 is not related to this. That issue stems from |
Preferably things should be tested before being merged. Feel free to ask whomever filed the last compat report to help test a PR |
Agreed in general, but in this particular case we have a fix for one particular cause of a generic error message that could be triggered many different ways. Re-testing every game that has been found to have a generic gl failure (which presumably could even be driver-related) seems like it's going to burn the good will of testers and I'd argue that it's better to get known issues fixed than delay in the hope that some other issues might've been fixed unknowingly. Alternatively/in-addition, perhaps we can expand on the error messaging in gl error cases so this is a non-issue in the future? Perhaps we could have the debug build leverage |
If the problem is too generic, we should do the work to isolate what the actual failures are and begin cataloging and fixing them individually. |
Totally agree. I'm happy to file an issue to replace/augment any If the debug messaging is insufficient I don't personally have enough of a GL background to know what alternative would be viable (other than checking for errors after every GL call and logging the actual error value along with the assert, which presumably would have enough of a perf impact to be non-viable for the release build). As an aside, I'd suggest a similar thing for uses of |
#745 also need to be retested with this commit |
Full-Spectrum-Warrior-Ten-Hammers is fixed with this pull |
Fixes #730 and matches observed HW behavior where NV097_SET_COLOR_MASK/NV097_SET_DEPTH_MASK masking is not respected by
CLEAR_SURFACE
call (where masking is set via a parameter).Test
Golden results