Created attachment 144073 [details] Logs and screenshot It was noticed that Project Cars 2 is crashing with Bug Splat when the loading ends and it starts to show the manufacturer logos and technologies used, generally crashing when it shows penultimate screen before the intro but it can reach the intro. Doing a git bisect results in: e6803f6b6f06e805fe162d76aad5e25d2510232a is the first bad commit commit e6803f6b6f06e805fe162d76aad5e25d2510232a Author: Jason Ekstrand <jason.ekstrand@intel.com> Date: Thu Feb 7 14:10:33 2019 -0600 anv: Use bindless textures and samplers This commit changes anv to put bindless handles and sampler pointers into the descriptor buffer and use those instead of bindful when we run out of binding table space. This "spilling" of descriptors allows to to advertise an almost unbounded number of images and samplers. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> :040000 040000 702a77184cf6dda99484cce774162a0800c21355 f1c09e17d603467f5c7a5a87a00977d3da5ef846 M src The complete log: git bisect start # good: [c4478889b7176ea5aed52d1630bedb43797a00f0] iris: Add texture cache flushing hacks for blit and resource_copy_region git bisect good c4478889b7176ea5aed52d1630bedb43797a00f0 # bad: [b58e5fb6f317be771326f98d498483e45942beaf] radeonsi: use CP DMA for the null const buffer clear on CIK git bisect bad b58e5fb6f317be771326f98d498483e45942beaf # good: [90430d04886227099253ed38de089aee0d713ec5] intel/fs: Eliminate dead code first git bisect good 90430d04886227099253ed38de089aee0d713ec5 # good: [bcb81b4d48f3a248189a6da0af564ae23473e451] gallium/auxiliary/vl: Fix a couple of warnings git bisect good bcb81b4d48f3a248189a6da0af564ae23473e451 # bad: [6e230d7607f9b3e082d00859bd7725c4dc87e5cf] anv: Implement VK_EXT_descriptor_indexing git bisect bad 6e230d7607f9b3e082d00859bd7725c4dc87e5cf # good: [79fb0d27f3ab41fec88acbe24bc3163a42c0715c] anv: Implement SSBOs bindings with GPU addresses in the descriptor BO git bisect good 79fb0d27f3ab41fec88acbe24bc3163a42c0715c # good: [f16fcb9db779bd9b48a79df144358ac50428e6e8] anv: Use write_image_view to initialize immutable samplers git bisect good f16fcb9db779bd9b48a79df144358ac50428e6e8 # bad: [83af92e593ccb316f33fc6a9a7cf8ea0f8ea3486] intel/fs: Add support for bindless image load/store/atomic git bisect bad 83af92e593ccb316f33fc6a9a7cf8ea0f8ea3486 # bad: [e6803f6b6f06e805fe162d76aad5e25d2510232a] anv: Use bindless textures and samplers git bisect bad e6803f6b6f06e805fe162d76aad5e25d2510232a # good: [bf61f057f72b57e977440ff66dc557d1140fede3] anv: Pass the plane into lower_tex_deref git bisect good bf61f057f72b57e977440ff66dc557d1140fede3 # first bad commit: [e6803f6b6f06e805fe162d76aad5e25d2510232a] anv: Use bindless textures and samplers System specifications: Processor: Intel Core i3-6100U; Video: Intel HD Graphics 520; Architecture: amd64; Mesa: 19.1.0-devel (git-e6803f6b6f); Kernel version: 4.18.0-17-lowlatency; Distribution: Xubuntu 18.04.2 amd64.
Just to be clear, did project cars work properly before that commit?
Created attachment 144074 [details] Graphics settings file Yes, it was working correctly. The only issue I noticed on it were that, very rarely, the skidmarks would blink, which is similar to bug 110295. I get framerates between 25 (storm at night) and 47 FPS (clear day). The attached file has the settings I use for the game.
I've just posted an MR which fixes the bug: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/724
I applied the patch on Mesa git-a6b7068ff5 and, while it fixed the bug splat problem, the game performance is much worse. It runs at 12 or 15 FPS now, before it could get more than 30 FPS on nearly all cases. CPU usage was very high (around 300% on htop), even after playing races and replays repeatedly on the same track with the same car, so it did not seem a normal shader build CPU usage.
(In reply to leozinho29_eu from comment #4) > I applied the patch on Mesa git-a6b7068ff5 and, while it fixed the bug splat > problem, the game performance is much worse. It runs at 12 or 15 FPS now, > before it could get more than 30 FPS on nearly all cases. CPU usage was very > high (around 300% on htop), even after playing races and replays repeatedly > on the same track with the same car, so it did not seem a normal shader > build CPU usage. That's a completely separate issue. I'll look into that next. :)
(In reply to leozinho29_eu from comment #4) > I applied the patch on Mesa git-a6b7068ff5 and, while it fixed the bug splat > problem, the game performance is much worse. It runs at 12 or 15 FPS now, > before it could get more than 30 FPS on nearly all cases. Can you give me a git sha where you got good performance so I can bisect? I tried the first "good" in your bisect above and it was pretty slow.
One good commit is bf61f057f72b57e977440ff66dc557d1140fede3, I was testing with it and got up to 47 FPS. When thermal throttle starts FPS is around 35. The game is pretty heavy and comes with a high preset, so you may need to configure the settings. The attached file I sent before has the settings I use, which are, basically, the absolute minimum.
What do I do with that settings file? I've got the game installed via steam and I can't find where to put the file so that I get your settings.
The file I sent before should be the one at: where_Steam_is_installed/Steam/steamapps/compatdata/378860/pfx/drive_c/users/steamuser/My Documents/Project CARS 2/graphicsconfigdx11.xml You may need to start the game at least once to allow Steam to create the 378860 directory inside compatdata.
Mind giving this MR a try? I think I've found and fixed the perf problem: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/738
It seems that this patch fixed the performance. The maximum I've seen was 49 FPS, which is actually higher than the previous maximum I observed. This game averages at around 33 FPS now and CPU usage was lower (around 240% on htop, which is the normal). This patch fixed the performance issues I had.
Perf MR is also merged.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.