Bug 111619

Summary: [Bisected]. Gallium-nine. Apitrace from the "Just cause" game leads to gpu hang
Product: Mesa Reporter: Denis <denys.kostin>
Component: Drivers/Gallium/IrisAssignee: Intel 3D Bugs Mailing List <intel-3d-bugs>
Status: RESOLVED MOVED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: not set    
Priority: not set Keywords: bisected, regression
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Denis 2019-09-09 14:41:42 UTC
During checking apitrace for the game Just Cause (using gallium-nine) I faced with gpu hang.

Configuration:
Manjaro OS
mesa-git master
gallium-nine => Native Direct3D 9 v0.4.0.294-release is active.
KBL cpu (HD630)


Actually trace on latest mesa master has a good rendering picture and gpu hang (on lower mesa versions picture can be corrupted). Keep in mind, that you may need release mesa version, because on debug you may got this assertion:
>../src/gallium/drivers/iris/iris_state.c:2536: iris_set_constant_buffer: Assertion `index > 0' failed.

Hang is stable on 351516 call.

Bisected to:

3b6d787e404181758227e205eda03600b25c1fd9 is the first bad commit
commit 3b6d787e404181758227e205eda03600b25c1fd9
Author: Timur Kristóf <timur.kristof@gmail.com>
Date: Fri Jun 14 14:03:28 2019 +0200

iris: move sysvals to their own constant buffer

This commit moves the sysvals to a separate, new constant buffer
at the end (before the shader constants). It also allows us to
remove the special handling we had for cbuf0, and enables all
constant buffers to support user-specified resources and user
buffers.

v2: (by Kenneth Graunke)

    Rebase on the previous patch to fix system value uploading.
    Fix disk cache num_cbufs calculation
    Fix passthrough TCS to report num_cbufs = 1 so upload actually occurs
    Change upload_sysvals to assert that num_cbufs > 0 when
    num_system_values > 0.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

src/gallium/drivers/iris/iris_context.h | 3 +-
src/gallium/drivers/iris/iris_disk_cache.c | 6 ++-
src/gallium/drivers/iris/iris_draw.c | 2 +-
src/gallium/drivers/iris/iris_program.c | 60 ++++++++--------------
src/gallium/drivers/iris/iris_state.c | 80 ++++++++++++++++--------------
5 files changed, 73 insertions, 78 deletions

Link to apitrace => https://drive.google.com/open?id=1MCYg7ncKg30VX_TPnGEIRp6W3HdRMs3C
Comment 1 GitLab Migration User 2019-09-25 18:47:50 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1364.

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.