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

No Man's Sky has artifacts #112

Closed
undu opened this issue Aug 14, 2019 · 33 comments
Closed

No Man's Sky has artifacts #112

undu opened this issue Aug 14, 2019 · 33 comments

Comments

@undu
Copy link

undu commented Aug 14, 2019

Enabling ACO produces artifacting on the depth-of-field effect in No Man's Sky. It also happens with RADV_PERFTEST=llvmvs

ACO:
nms_aco
LLVM:
nms_llvm

RenderDoc capture:
ACO: https://mega.nz/#!wD40SYDI!Dz4XrKD2T_KBhvWzxTIuwtf0yPfjOTl-XigW8MCGU9s

System information:

  • GPU: R9 Nano (Fiji)
  • ACO version: 19.2.0_devel.115583.73c5a984ab5-1 (aur)
@GloriousEggroll
Copy link

GloriousEggroll commented Aug 18, 2019

I have the same issue as this guy:

ValveSoftware/Proton#438 (comment)

I'm able to get into game with mesa-aco but pressing anything that opens the menu hard locks, however I am able to drop to tty and wineserver -k. Normal mesa with llvm crashes on loading into game. Same with llvmvs. Judging from the log this seems to be gpu specific:

amdgpu: The CS has been rejected, see dmesg for more information.
vk: error: failed to submit CS 0
[27473.032140] [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125!
[27973.142311] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=3547955, emitted seq=3547957
[27973.142347] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process NMS.exe pid 13835 thread NMS.exe pid 13835
[27973.142350] amdgpu 0000:43:00.0: GPU reset begin!
[27973.741139] amdgpu 0000:43:00.0: GPU mode1 reset
[27974.244265] [drm] psp mode1 reset succeed 
[27974.345333] amdgpu 0000:43:00.0: GPU reset succeeded, trying to resume
[27974.345447] [drm] PCIE GART of 512M enabled (table at 0x00000080007E9000).
[27974.346076] [drm] PSP is resuming...
[27974.409233] [drm] reserve 0x400000 from 0x8001000000 for PSP TMR SIZE
[27974.750414] [drm] UVD and UVD ENC initialized successfully.
[27974.850703] [drm] VCE initialized successfully.
[27975.356251] [drm] Fence fallback timer expired on ring gfx
[27975.860245] [drm] Fence fallback timer expired on ring comp_1.0.0
[27976.364239] [drm] Fence fallback timer expired on ring comp_1.1.0
[27976.868221] [drm] Fence fallback timer expired on ring comp_1.2.0
[27977.372215] [drm] Fence fallback timer expired on ring comp_1.3.0
[27977.876223] [drm] Fence fallback timer expired on ring comp_1.0.1
[27978.380206] [drm] Fence fallback timer expired on ring comp_1.1.1
[27978.884201] [drm] Fence fallback timer expired on ring comp_1.2.1
[27979.388194] [drm] Fence fallback timer expired on ring comp_1.3.1
[27979.489949] [drm] recover vram bo from shadow start
[27979.495247] [drm] recover vram bo from shadow done
[27979.495249] [drm] Skip scheduling IBs!
[27979.495249] [drm] Skip scheduling IBs!
[27979.495285] amdgpu 0000:43:00.0: GPU reset(8) succeeded!
[27979.495315] [drm] Skip scheduling IBs!
[27979.495444] [drm] Skip scheduling IBs!
[27979.495447] [drm] Skip scheduling IBs!
[27979.495448] [drm] Skip scheduling IBs!
[27979.495453] [drm] Skip scheduling IBs!
[27979.495611] [drm] Skip scheduling IBs!
[27979.495614] [drm] Skip scheduling IBs!
[27979.495619] [drm] Skip scheduling IBs!
[27979.522575] [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125!

steam-275850.log

$ glxinfo | grep -i opengl
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon VII (VEGA20, DRM 3.32.0, 5.2.8-201.fc30.x86_64, LLVM 8.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.2.0-devel
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.2.0-devel
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

vulkaninfo:
vkinfo.txt
-edit- updated vulkan packages to 1.1.119, still the same issue

This is using latest git: 6500310
-edit 2- tried commit 73c5a98 from the first post in this but report, still the same issue.

@daniel-schuermann
Copy link
Owner

@GloriousEggroll would you be able to take a renderdoc capture of the menu (which you cannot open with ACO) with RADV_PERFTEST=llvm ?

@fizzlepawp
Copy link

Having the same issue as the issue above, as soon as any menu is opened, hard locks and have to drop to tty and kill wine. RADV_PERFTEST=llvmvs causes the same hard lock, using RADV_PERFTEST=llvm game menus open fine

GPU: Radeon VII
ACO version:19.1.0+aco+git1565970353-650031018b4

RADV_PERFTEST=llvm Renderdoc capture:
https://mega.nz/#!iQkA3IrS!gYRbeH-1CrsoQWfy5QDcYQo4QWho43SwCbvjrbXMbFc

@GloriousEggroll
Copy link

Can verify RADV_PERFTEST=llvm does actually work, my first comment was mistaken with this. RADV_PERFTEST=llvmvs does not as previously mentioned.

@daniel-schuermann
Copy link
Owner

The DoF issue should be fixed with f6829fe.

@daniel-schuermann daniel-schuermann changed the title DoF effect on No Man's Sky has artifacts No Man's Sky has artifacts Aug 19, 2019
@undu
Copy link
Author

undu commented Aug 19, 2019

Can't any artifacts with an updated build

@jerbmega
Copy link

That commit got rid of the DoF artifacting for me as well. The effect still performs very poorly but that appears to be an issue for both AMD and NVIDIA at the moment.

@ntropy83
Copy link

ntropy83 commented Aug 20, 2019

I have the menu hard-locking error as well on mesa-aco. The game runs fine for me on AMDVLK with 75 - 110 fps v2019 Q3-4 on a Vega 64 after I deleted the contests of the gamedata/shadercache folder and set fullscreen to false, borderless to true and VsyncEx to Off in binaries/settings/tkgraphicssettings.mxml. It doesnt start tho with the amdPalConfig set in place, in which I can define the build of a permanent shadercache for amdvlk, so every time I start the game a new, shaders building starts from the beginning.

@GloriousEggroll
Copy link

As of 81fac59 I'm no longer experiencing hangs on entering the menu or dialogue items!

@ntropy83
Copy link

As of 81fac59 I'm no longer experiencing hangs on entering the menu or dialogue items!

ok thanks, I will check it out tonight.

@ntropy83
Copy link

It is working, but there is still graphical corruption in normal mesa and mesa-aco. The menus are showing now but the fps drops to 30 when, what is no problem tho. It runs with 70 fps and stutter free.

On amdvlk it has a lot of stuttering, the graphics tho seem to be perfect and it has 100 fps.

mesa-aco 81fac59
https://steamuserimages-a.akamaihd.net/ugc/772851495010099851/85AD8AEE6F6095BA695F969E3C53BEE8F4799C1F/

amdvlk
https://steamuserimages-a.akamaihd.net/ugc/772851495010099323/A9CCAC64B1784F0DDD0A27204AA80EDCBAB8A149/

@undu
Copy link
Author

undu commented Aug 20, 2019

Those are LOD textures, sometimes it takes a long time to load the detailed textures for some reason.

@Mastergatto
Copy link

Mastergatto commented Aug 20, 2019

Those are LOD textures, sometimes it takes a long time to load the detailed textures for some reason.

With RADV_PERFTEST=llvm this issue doesn't happen.

@daniel-schuermann
Copy link
Owner

The menus are showing now but the fps drops to 30 when, what is no problem tho.

We looked into the shader and it is a quite evil corner case. Not sure yet, if we'll optimize it.

On amdvlk it has a lot of stuttering, the graphics tho seem to be perfect and it has 100 fps.

Could you provide a capture of such scene? We now of a few glitches which seem to be game bugs, though.

@ntropy83
Copy link

ntropy83 commented Aug 20, 2019

I will try when I find the time tomorrow.

I have made a video on amdvlk vulkan loader, latest release. NMS traditionally ran better on amdvlk than on Mesa. Back then on OpenGL it went down to framedrops of 35 fps on planets on Mesa, while amdvlk had insanely high framerates. In the video I am at a median of 100 fps (lower left corner). The video is lagging at times but that is a recording error, game was smooth sailing. Maybe the high fps interferred with the recorder.
Since I am running the game with vsync off and borderless on 1080p everything on ultra and taa on, the former heavy stuttering is gone.

https://youtu.be/x5REtFwpMyE

@ntropy83
Copy link

ntropy83 commented Aug 21, 2019

Could you provide a capture of such scene? We now of a few glitches which seem to be game bugs, though.

Ok that renderdoc thing took me a minute to figure it out but then its actually quite easy.

https://drive.google.com/file/d/1gGe-V68ttdhSNHtWIHn6TqT8o3OjF1eO/view?usp=sharing

Hope I didnt do it wrong.

Bildschirmfoto vom 2019-08-21 21-04-07

@GloriousEggroll
Copy link

GloriousEggroll commented Aug 23, 2019

looks like NMS devs did an amdgpu crash fix and some other video related fixes:

-Fixed a crash affecting AMD GPUs when creating the pipe state on a framebuffer that has not been created yet.
-Fixed Steam VR in Linux.
-Maintain forward progress on shader and material load for problematic CPUs.
-Improved fallbacks for out of video memory in low memory situations.
-Fix for rare instance of falling through space station when interacting with vendor.
-Improved alignment of video memory allocations.

full changelog:
https://www.nomanssky.com/2019/08/beyond-patch-2-08a/

@ntropy83
Copy link

looks like NMS devs did an amdgpu crash fix and some other video related fixes:

-Fixed a crash affecting AMD GPUs when creating the pipe state on a framebuffer that has not been created yet.
-Fixed Steam VR in Linux.
-Maintain forward progress on shader and material load for problematic CPUs.
-Improved fallbacks for out of video memory in low memory situations.
-Fix for rare instance of falling through space station when interacting with vendor.
-Improved alignment of video memory allocations.

full changelog:
https://www.nomanssky.com/2019/08/beyond-patch-2-08a/

Nice ! I am eager to try VR, so far the game did not start with it. Gonna see, if it does now :).

@Mastergatto
Copy link

The menus are showing now but the fps drops to 30 when, what is no problem tho.

We looked into the shader and it is a quite evil corner case. Not sure yet, if we'll optimize it.

I want to notice that with vanilla Mesa 19.1.4 the menus are running with higher fps that it would on this fork, either with ACO or with LLVM. So I think a regression must have happened somewhere between 19.1 and 19.2. By the way I have a Vega 56 and running on Archlinux.

@ntropy83
Copy link

ntropy83 commented Aug 26, 2019

looks like NMS devs did an amdgpu crash fix and some other video related fixes:
-Fixed a crash affecting AMD GPUs when creating the pipe state on a framebuffer that has not been created yet.
-Fixed Steam VR in Linux.
-Maintain forward progress on shader and material load for problematic CPUs.
-Improved fallbacks for out of video memory in low memory situations.
-Fix for rare instance of falling through space station when interacting with vendor.
-Improved alignment of video memory allocations.
full changelog:
https://www.nomanssky.com/2019/08/beyond-patch-2-08a/

Nice ! I am eager to try VR, so far the game did not start with it. Gonna see, if it does now :).

For VR: the game does not start on the HTC Vive on amdvlk, instead it simply starts on the normal monitor. On mesa-aco and normal mesa, it starts on both, the Vive and the monitor and it shows a split-screen picture on the monitor, what is untypical for VR games. On the Vive itself the game is unplayable, it does work and you can walk around, but if you just move your head a bit the image is lagging behind and you get a shadow of the former frame overlapping the new. Makes you dizzy in seconds and its unplayable, sadly.

@cwabbott0
Copy link
Collaborator

I recently merged https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1844 which fixes the performance regression for DOF by getting rid of scratch usage for the shader in question (I just tested it). However ACO will need to implement load_constant in order for performance to be restored.

@pendingchaos
Copy link
Collaborator

We've just rebased (on 6f5a861) and implemented load_constant, so the DoF performance issue should be resolved.

@Mastergatto
Copy link

Mastergatto commented Sep 17, 2019

Now the menus are running butter smooth. Good job! Also, what about this another graphical issue, should we open a new issue for this?

@pendingchaos
Copy link
Collaborator

If I'm reading the comment correctly, it's an issue that happens with both LLVM and ACO. So it's probably unrelated to ACO and @Enthalpie or someone else who can reproduce the issue (if it still happens) can create a bug on bugs.freedesktop.org

@Mastergatto
Copy link

No, as I said below that comment, it doesn't happen with LLVM, only with ACO.

@pendingchaos
Copy link
Collaborator

I guess open a new issue for it if it still happens

@fazo96
Copy link

fazo96 commented Sep 24, 2019

On the Vive itself the game is unplayable, it does work and you can walk around, but if you just move your head a bit the image is lagging behind and you get a shadow of the former frame overlapping the new. Makes you dizzy in seconds and its unplayable, sadly.

I know it's off topic for this issue, but I have the same problem with my nvidia gpu (GTX 1080) and proprietary drivers. Do you know if anyone is working on it? Or if there is more information or a discussion about the issue?

@lavadrop
Copy link

lavadrop commented Sep 26, 2019

@daniel-schuermann
Copy link
Owner

@lavadrop Thx for the capture. It helped to identify the issue. As it is likely a game bug, we'll try to get in touch with the devs and keep you posted.

@daniel-schuermann
Copy link
Owner

As the game developers weren't eager to fix their game, we decided to implement a workaround which got merged today in upstream. As it's bit more invasive, we decided to not backport this workaround to stable which in turn means, you have to use some repository which follows upstream (like oibaf) to use it.

@daniel-schuermann
Copy link
Owner

Forgot about the bug report, sorry. The issue was fixed with bdd7587

@lavadrop
Copy link

Hi.
I'm sorry to be the bearer of bad news.
Can we reopen he bug?
I've found more artifacts elsewhere...

@pendingchaos
Copy link
Collaborator

If it's a different artifact, I think it should be a different bug report. We've switched to the GitLab anyway, so new issues are reported there: https://gitlab.freedesktop.org/mesa/mesa/-/issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests