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

rsx: Simulate attribute interpolation on NVIDIA where SM6.1 is supported #13046

Merged
merged 12 commits into from Dec 11, 2022

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Dec 10, 2022

Solves the extremely infuriating attribute interpolation drift issue on NVIDIA hardware. Unfortunately this has some limitations:

  1. It only applies to the FS stage. VS stage on NVIDIA also has some issues but the older workaround handles that well.
  2. This is only supported on SM6.1 hardware (turing+). Older GPUs will fall back to the hacky compare workaround that fails in some corner cases.

Fixes #8440

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 10, 2022

I don't actually own an NVIDIA card with support for this, so I need testers to verify that it works as intended.

@kd-11 kd-11 marked this pull request as draft December 10, 2022 16:07
@kd-11
Copy link
Contributor Author

kd-11 commented Dec 10, 2022

Forgot about linux :p

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 10, 2022

Forgot about linux :p

Hmm, compiles fine actually. This seems to be a SDK header version problem.
I'll provide a workaround and upgrade the CI later.

@Darkhost1999

This comment was marked as resolved.

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 10, 2022

I notice the Draft. But I tested thinking it's ready to test awaiting results. So far everything I boot gives this ·F 0:00:21.864931 {RSX [0x005e2dc]} SIG: Thread terminated due to fatal error: Failed to compile fragment shader (in file C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\rpcs3\Emu\RSX\VK\VKProgramPipeline.cpp:29[:25], in function compile) Kingdom hearts.log Dante's inferno.log NFS Rivals.log

We're having some issues with CI builds. It'll be sorted out soon. This bug only affects builds compiled with our automated tools, if you compile the code locally it works fine.

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 10, 2022

@Darkhost1999 You can try the new build.

@Darkhost1999
Copy link
Contributor

Thanks was struggling with soundtouch when doing git checkout.

@Darkhost1999

This comment was marked as resolved.

@kd-11 kd-11 marked this pull request as ready for review December 10, 2022 23:15
@kd-11 kd-11 changed the title [NVIDIA TESTERS NEEDED] rsx: Simulate attribute interpolation on NVIDIA where SM6.1 is supported rsx: Simulate attribute interpolation on NVIDIA where SM6.1 is supported Dec 10, 2022
@kd-11
Copy link
Contributor Author

kd-11 commented Dec 10, 2022

Fixed the CI issues. Retest.

@Darkhost1999
Copy link
Contributor

Everything is slow and audio crackles even on lightweight games like Lego HP.
image
RPCS3.log.gz
Luckily it doesn't discriminate

@Darkhost1999
Copy link
Contributor

Skyrim performance is less effected but this issue shows a reappearance (map background screen yellow)
image
RPCS3.log.gz

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 11, 2022

@Darkhost1999 Is the issue fixed by setting shader quality to low?

@Darkhost1999
Copy link
Contributor

It seems the skyrim one is yes.

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 11, 2022

What about the slow performance?

@Megamouse Megamouse added RSX Driver: NVIDIA Proprietary NVIDIA OpenGL or Vulkan driver labels Dec 11, 2022
@Darkhost1999
Copy link
Contributor

Sorry I wasn't able to test performance till now
image
RPCS3.log
But Dante, NFS, and Lego hp + others work same performance as before PR with low shader accuracy

@Darkhost1999
Copy link
Contributor

I had grabbed a new .exe from from cirrus just recently and the games where performance regressed are all working full speed without the slow down.
It was immediate in my testing to notice just launching a game. But now it's just working same as master.
Idk what to say. But it's working fine. No lower shader accuracy with the new .exe

@Darkhost1999
Copy link
Contributor

I don't have mass effect so still needs testing from one of those users to test if fixes issue

@kd-11
Copy link
Contributor Author

kd-11 commented Dec 11, 2022

It could be shader compilation slowdown. This build bumps the shader cache version.

@Darkhost1999
Copy link
Contributor

That's true so I tested other rooms and even removed cache. Shader compilation is slower but not as bad as originally shown

@kd-11 kd-11 merged commit 26021e1 into RPCS3:master Dec 11, 2022
@kd-11 kd-11 deleted the NV_barycentric branch December 11, 2022 12:22
@kd-11
Copy link
Contributor Author

kd-11 commented Dec 11, 2022

Merged to fix broken master builds due to glslang breakage.
Let's keep tracking the skyrim bug in a ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Driver: NVIDIA Proprietary NVIDIA OpenGL or Vulkan driver RSX
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Mass Effect Blotch (Nvidia)
3 participants