Bug 110497 - [DXVK][Regression][Bisected][SKL] Project Cars 2 crashes with Bug Splat when loading finishes
Summary: [DXVK][Regression][Bisected][SKL] Project Cars 2 crashes with Bug Splat when ...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-22 23:25 UTC by leozinho29_eu
Modified: 2019-04-26 06:26 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Logs and screenshot (606.92 KB, application/gzip)
2019-04-22 23:25 UTC, leozinho29_eu
Details
Graphics settings file (3.29 KB, text/xml)
2019-04-23 01:49 UTC, leozinho29_eu
Details

Description leozinho29_eu 2019-04-22 23:25:39 UTC
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.
Comment 1 Jason Ekstrand 2019-04-23 00:03:29 UTC
Just to be clear, did project cars work properly before that commit?
Comment 2 leozinho29_eu 2019-04-23 01:49:33 UTC
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.
Comment 3 Jason Ekstrand 2019-04-24 03:29:10 UTC
I've just posted an MR which fixes the bug:

https://gitlab.freedesktop.org/mesa/mesa/merge_requests/724
Comment 4 leozinho29_eu 2019-04-24 04:50:44 UTC
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.
Comment 5 Jason Ekstrand 2019-04-24 05:39:44 UTC
(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. :)
Comment 6 Jason Ekstrand 2019-04-24 05:47:48 UTC
(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.
Comment 7 leozinho29_eu 2019-04-24 05:56:05 UTC
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.
Comment 8 Jason Ekstrand 2019-04-25 08:30:17 UTC
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.
Comment 9 leozinho29_eu 2019-04-25 14:27:26 UTC
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.
Comment 10 Jason Ekstrand 2019-04-25 19:39:21 UTC
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
Comment 11 leozinho29_eu 2019-04-25 21:03:05 UTC
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.
Comment 12 Jason Ekstrand 2019-04-26 06:26:38 UTC
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.