Bug 100936 - Radeonsi rendering corruption in unigine heaven (regression bissected)
Summary: Radeonsi rendering corruption in unigine heaven (regression bissected)
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/radeonsi (show other bugs)
Version: git
Hardware: All Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact: Default DRI bug account
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-04 19:24 UTC by Bruno Jacquet (Xaapyks)
Modified: 2017-05-05 07:51 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Heaven regression (2.64 MB, image/png)
2017-05-04 19:24 UTC, Bruno Jacquet (Xaapyks)
Details

Description Bruno Jacquet (Xaapyks) 2017-05-04 19:24:36 UTC
Created attachment 131216 [details]
Heaven regression

Hello,

Current git has a regression in rendering of Heaven. (See screenshot)
This is visible on a RX 480 (POLARIS10).
I bissected the issue and the first bad commit is :

0bceefc29591d64d5d529a726e68b837f1f504b2 is the first bad commit
commit 0bceefc29591d64d5d529a726e68b837f1f504b2
Author: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Date:   Tue Apr 25 00:31:48 2017 +0200

    radeonsi: disable the TGSI merge registers pass
    
    47109 shaders in 29632 tests
    Totals:
    SGPRS: 1917364 -> 1916620 (-0.04 %)
    VGPRS: 1165802 -> 1165202 (-0.05 %)
    Spilled SGPRs: 1880 -> 1843 (-1.97 %)
    Spilled VGPRs: 70 -> 65 (-7.14 %)
    Private memory VGPRs: 1184 -> 1184 (0.00 %)
    Scratch size: 1312 -> 1308 (-0.30 %) dwords per thread
    Code Size: 60211356 -> 60192268 (-0.03 %) bytes
    LDS: 1077 -> 1077 (0.00 %) blocks
    Max Waves: 428597 -> 428674 (0.02 %)
    Wait states: 0 -> 0 (0.00 %)
    
    Totals from affected shaders:
    SGPRS: 238173 -> 237429 (-0.31 %)
    VGPRS: 149556 -> 148956 (-0.40 %)
    Spilled SGPRs: 1263 -> 1226 (-2.93 %)
    Spilled VGPRs: 25 -> 20 (-20.00 %)
    Private memory VGPRs: 0 -> 0 (0.00 %)
    Scratch size: 20 -> 16 (-20.00 %) dwords per thread
    Code Size: 10457904 -> 10438816 (-0.18 %) bytes
    LDS: 50 -> 50 (0.00 %) blocks
    Max Waves: 41283 -> 41360 (0.19 %)
    Wait states: 0 -> 0 (0.00 %)
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>

Reverting this small commit on top of master fixes the regression.
Comment 1 Marek Olšák 2017-05-04 21:29:50 UTC
Yeah I noticed that Unigine Heaven looks very gay now. :) This Samuel's patch should fix it: "st/glsl_to_tgsi: fix the DCE pass in presence of loops"
Comment 2 Samuel Pitoiset 2017-05-05 07:51:15 UTC
Yeah, it was funky. :)

Should be fixed with:

https://cgit.freedesktop.org/mesa/mesa/commit/?id=92ab06e782c31fe0209e5d0181967a2ff6739c9b


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.