xenia
xenia copied to clipboard
Perfect Dark - Massive Graphical glitches (Nvidia Graphics)
Tested with RTX 2060, MX150.
- Many textures are noisy and flickery. Happens exclusively on objects.
-This seems to be a bug in the normal Xenia Branch as well, although there doesn't seem to be a dedicated issue for it. -Happens exclusively with objects. What are objects doing differently that are triggering the hardware imprecision errors in this game? How can this be worked around?
- Billboard" light textures are visible through solid objects, such as walls and ceilings.
Results achieved via d3d12. Unable to test with Vulkan, as the game crashes after the "Xbox Live Arcade logo".
I wonder if there would be a way to implement OpenGL usage or that may require a lot of coding
"Billboard" light textures are visible through solid objects, such as walls and ceilings.
For this I think I've heard that changing the query_occlusion_fake_sample_count
config variable can help with it, haven't tried it yet myself though.
For the other issues I got no idea how to even start looking into them sadly. AFAIK it's a problem with how some shader calculation is being performed on nVidia, I'd guess that maybe the shader could be patched somehow to workaround it, but I'm not sure where to start with that... dump_shaders
seems to let us dump the shaders out as text, but I got no idea where those shaders even originated from to begin with, so not sure how they could be patched :/
After playing around with that variable, I don't notice any changes. Setting it to 0 gets rid of the billboard lights completely, which is at least easier to look at, but I can't see a difference with any of the other values I've tried.
Forcing Intel Graphics fixes the noise and flicker, at the cost of running terribly. One would probably get much better results on something newer than the 8000 series.
"On Nvidia, vertex varying interpolation is inexact, for vertices with exactly -1 texcoords, some pixels get -0.999…, while the pixel shader expects exactly -1 (has a == comparison with -1), so we're getting that noise on models."
Originally posted by @Triang3l in https://github.com/xenia-project/game-compatibility/issues/316#issuecomment-683279937